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

2019-07-19 20:17发布

小弟最近在做一款芯片,用的是STM8S003的芯片做的,根据客户定制给的通讯协议接收外部信号特定的字节,然后写入eerpom中,现在主要是协议复位吗没办法识别,求高手指点下,谢谢!小弟用的是串口接收的,串口设置的是9位数据(+1位停止位)-250K的波特率,通讯协议也是按到9位数据(+1位停止位)-250K的波特率这样来的,目前就是对这个2S复位码没办法具体识别出来!
麻烦看到的给个指点,感激不尽!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
49条回答
胡松松
2019-07-24 19:35
胡松松 发表于 2019-1-5 13:28
不太明白,是在串口接收中断中启动定时器吗?麻烦解惑下,感谢

[mw_shl_code=c,true]收藏
评论(0)
分享到
微博
QQ
微信
LinkedIn
void Time0_Init() { TMOD=0x01; IE=0x82; TH0=0xff; TL0=0xbd; TR0=1; } void Time0_Int() interrupt 1 { switch(bs) { case 0: if(count_x==0) { TL0=187; TH0=251; P1=pout[djsx[0][count_b*6]]; count++; break; } if(count_x!=3) { TL0=ys[0][count_x-1][0]; TH0=ys[0][count_x-1][1]; P1=pout[djsx[0][count_b*6+count_x]]; bs=1; break; } P1=pout[djsx[0][count_b*6+3]]; case 1: TL0=ys[1][count_x-1][0]; TH0=ys[1][count_x-1][1]; P1=P1+pout[djsx[1][count_b*6+count_x]]; bs=0; count++; } if(bs==0) { if(count==xzsd) { count=0; count_x=count_x+xzbs; } if(count_x==6) { count_x=0; count_b++; } if(count_x==-1) { count_x=5; count_b--; } if(count_b==4)count_b=0; if(count_b==-1)count_b=3; } } void main() { P1=0; Time0_Init(); while(1); }[/mw_shl_code]

一周热门 更多>