本来的试用是使用模块进行电能数据的上传,由于家里没有可以用于DIY
的电能表,只能使用STM32
的开发板进行一下模块了。这里使用的开发板是STM32F303RE
的Nucleo
开发板,之前官方活动得的。
这里使用CubeMX
新建一个工程,并模拟电表每秒发送一个电能数据,电能数据每秒+1.
电能数据为32
位无无符号数据。发送过程为先发送数据长度,再接着发送数据。数据的发送以字符形式传输,这样看着比较直观,而真正的应用过程中,应该是以16
进制进行传输的。这里使用arduino
的接口上的串口,这个串口使用的是USART2
。PA2
与PA3
引脚
串口配置为115200
波特率并使能中断
使用定时器1
进行时间延时。串口使用中断方式,提取一个API
函数void uart2_write( char * data);data
这里就是字符串的地址。
uart2_write
函数在发送时会自动添加/r/n
。也是为了让函数的使用更方便。
开发板连接的模块设置为发送,PC
上再接一个模块,设置为接收模式。PC
上的接收模块依然使用上一次的配置。
每一秒都会接收到一个数据。如下是PC接收数据。
到此,试用项目基本完成,由于模块的应用环境为有电的电表项目中,所以无需进行低功耗的设置,而在一些其他的使用电池的应用中,低功耗这部分还是比较重要的了。所以在后续真正项目上应用时,还要对功耗部分进行比较详细的测试。
感谢云汉与歪朵拉给予的试用机会。