stm8L gpio 模拟串口接收数据异常

2019-07-19 20:48发布

gpio 模拟串口 接收数据异常, 什么原因


发送:12 34 56 78 90
接收:48 D0 58 E0 40


总结的规律, 去掉最高两位,低两位补0

验证如下:

0001 0010  12
0100  1000  48

0011 01000   34
1101 0000    D0

0101  0110   56
0101  1000   58

0111  1000   78
1110  0000   E0

1001 0000   90
0100 0000   40

思路是接收管脚设置为 浮空输入带外部中断, 外部中断处理程序中进行以下操作:
1. 关闭外部中断;
2. 开启定时器; (定时器的采样频率为波特率的4倍,取第2次采样值,  经示波器观测,正常);
3. 开始接受数据

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。