GD32F350学习系列4:433模块接收数据
[复制链接]
这段时间上班比较忙,昨天又加班,今天休息,再抽空搞起来,看到有的坛友已经完成项目了,也有点急了,但没啥时间,还好做的东西比较简单,实现比较容易。今天先来把项目的大头,无线传输给完成。
无线我用的是433MHZ模块,现成的模块,工作上一直在用的,直接移植过来,也没有太大的工作量。 433MHZ模块用到7个IO口,再加上电源和地,手头上的杜邦线不够了,就用洞洞板焊接一下直接插到插针上,看看焊接好的样子,插排时间太长了,针脚老化不怎么上锡了,搞了很长时间。黑色的导线是无线模块的天线,随便搞个线,弄个固定长度就可以了。正面多焊接了几个3.3V和GND的插针,方面杜邦线连接。
无线模块用到的几个引脚,具体模块就不多做介绍了,避免广告嫌疑。无线模块是通过模拟SPI总线读写寄存器的方式进行的。
无线模块的无线部分处理函数,这里只用到接收,没有发送。接收采用查询方式,空闲的话就一直去周期性的读模块的状态,收到数据后的状态会改变,采用状态机的方式来完成。
接收到的数据处理,一共接收4个字节一包数据,一个发送端地址,一个接收端地址,一个数据,一个数据反码,先判断地址,然后根据数据部分内容进行对应的操作。这里是对应位打开和关闭一个输出二极管显示。接收到的数据在OLED屏上显示出来。
主函数里,接收数据并进行处理函数的调用
定时中断,无线模块的超时计数和接收到数据后指示灯的延时关闭
实际的显示效果照片
|