求路过的大哥指点下,卡在这点上一个多月了,一直调试有问题!

2019-07-19 20:17发布

小弟最近在做一款芯片,用的是STM8S003的芯片做的,根据客户定制给的通讯协议接收外部信号特定的字节,然后写入eerpom中,现在主要是协议复位吗没办法识别,求高手指点下,谢谢!小弟用的是串口接收的,串口设置的是9位数据(+1位停止位)-250K的波特率,通讯协议也是按到9位数据(+1位停止位)-250K的波特率这样来的,目前就是对这个2S复位码没办法具体识别出来!
麻烦看到的给个指点,感激不尽!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
49条回答
spritels
2019-07-22 14:18
胡松松 发表于 2019-1-25 18:04
正常情况应该是RX收到起始位才开始进入串口中断的,那没收到的话怎么进入串口中断开启定时器啊,我要在什 ...

定时器不在串口中断开,而是程序运行就要打开...
我的意思是设一个计数值,比如定时器每100ms中断一次就让它加1,当串口没有中断过来的时候,这个值就会一直往上加,加到一定的数值你就可以判断为无信号输入的状态(当然它快溢出的时候你也要及时处理).当有串口中断过来,你判断到起始数据(第九位为0那个),你就将这个计数值清零.DMX信号的两个起始数据之间间隔是很短的,就算去到1S,那你这个计数值最多也就是计到10就会被清零.接收你说的这个信号也同理,2S的间隔最多也就计到20吧,这样判断这个计数值就可以知道来的信号是DMX还是你说的这个了...

一周热门 更多>