完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
首先抱歉一下,因为工作比较忙,这周末才更新第三篇。 我的试验主要是将串口屏发送的数据传递给ZigBee模块,ZigBee模块与另外的ZigBee进行通信,再将ZigBee接收到的数据传给串口屏进行显示。 (一)串口屏发送数据到串口2 串口屏的界面如图所示,设置为每隔1s发送8组数据到STM32,每组数据由大写字母“A”—“H”+6位机号组成,大写字母作为标志位可以得到发送数据的文本位置。 在串口2接收中断函数中定义了接收数组“u8 RxBuffer2[56];”用于接收8组数据,其实刚开始,我在串口屏中设置先判断文本内容是否为空,当不为空时才发送,但后来发现如果后一次接收的数据短于前一次,会造成长出的部分没有被覆盖,比如第一次接收了3组数据, 第二次接收了2组数据,则第一次接收的第三组数据在第二次接收完毕后仍然存在,这显然会造成误判,所以我改为当空时也发送,只是发送数据全为0。 串口的中断接收函数是每接收一个数据进入一次中断,而我接收的每帧数据是56个数据组成,所以我用了空闲帧中断“USART_IT_IDLE”来判断一帧数据是否接收完毕,其实这和加一个定时器然后根据波特率设定判断时间是一个道理,只是使用起来更方便一些。但是我还有一个疑问,就是在调试时判断计数个数的“Rx_Num2”总是显示不正确,不知各位网友是否也遇到过类似的情况? (二)GB2530ZigBee模块 ZigBee选用深圳岗本公司生产的GB2530,其实它用的芯片也是著名的ti的CC2530,有个转接板,需要使用5个引脚——VCC、GND、TX、RX、RESET,其中RESET引脚是现用“GPIO_ResetBits()”函数给一个低电平,延时50ms,再用“GPIO_SetBits()”给一个高电平,模拟按键作用,只有这样才能使模块的发送功能启用。ZigBee模块与STM32的串口1进行通信。连接图如下所示: |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
2249个成员聚集在这个小组
加入小组灵动微电子MM32全系列MCU产品应用手册,库函数和例程和选型表
11693 浏览 3 评论
【MM32 eMiniBoard试用连载】+基于OLED12864的GUI---U8G2
5927 浏览 1 评论
【MM32 eMiniBoard试用连载】移植RT-Thread至MM32L373PS
10960 浏览 0 评论
【MM32 eMiniBoard测评报告】+ 开箱 + 初探
4575 浏览 1 评论
灵动微课堂(第106讲) | MM32 USB功能学习笔记 —— WinUSB设备
4300 浏览 1 评论
[MM32软件] MM32F002使用内部flash存储数据怎么操作?
974浏览 1评论
798浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 00:11 , Processed in 0.836746 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号