完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在做SBUS协议通讯,就是一个反相的UART串口,波特率100kbps,8位数据,偶校验,2位停止位,无流控。
STC的文档翻了一遍,貌似并没有设置停止位位数的相关寄存器,默认只能是一位,如果连续发数据的话,怕是接收端不认,目前想到的方法只有发完一个字节后软件延迟一位时间再发下一个字节。 |
|
相关推荐
2个回答
|
|
然而半个月过去了,还是没人QAQ。。。
测试了一位停止位,有的接收端能认,有的不认,这样的兼容性差,还是得延时10us到两位停止位。 循环延时法在多任务程序中不可取,定时器用完,想到用多余的PCA模块做定时器,完美解决。 |
|
|
|
原则上51不能设置2个停止位,但是,你可以设置成9位数据格式,校验位一直写1,就OK了,完全等效。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-9 05:19 , Processed in 0.446877 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号