完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我在PIC32 MX795F512L中做一个UART程序。我需要接收由4位数字组成的字符串(对于EX:1200或3500)。在使用GeStuad之前,我收到了类似于char的字符:所以每当我键入D,PIN D7就变得很高。现在我需要做一个逻辑,我将接收单个字符和完整字符串。我对GETSUTAL()的第三个参数感到困惑。如何接收完整的字符串并将其存储在变量中,以便我可以进一步处理它。请帮助谢谢!
|
|
相关推荐
2个回答
|
|
我通常更喜欢避免“get”函数,因为(通常)它既没有超时能力,也没有适当的错误处理:我的意思是,如果您期望“12000”,而2被破坏,则该函数永远不会退出(至少直到下一个收到的char,这会使您在未来失去同步)。最好每次只抓取一个字符,这样你就有更多的控制。更好的可能是一个中断驱动的循环缓冲区,但你可能不需要它。
|
|
|
|
同意。为了补充达里奥所说的,最好的方式(即最可靠和可控)是使用中断一次处理一个字节。这样可以实现超时并处理特定的通信协议。你要问的问题是“如果我收到一个错误或错误的字节进来怎么办?”轮询通常不是处理任何事情的好方法,因为在轮询操作中处理器被“阻塞”。绝对不是理想的…队列和超时非常有助于使UART功能极其可靠。
|
|
|
|
只有小组成员才能发言,加入小组>>
5160 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2225 浏览 5 评论
729浏览 1评论
613浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
503浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
628浏览 0评论
526浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:59 , Processed in 1.297565 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号