GPIO模拟串口需要注意的事项如下:(程序见我的博客第一篇)
1.由于串口是异步通信,则串口发送必须满足宽度要求。
(1)假设串口的波特率是9600bps(1s传输9600个bit),则传输1bit需要1/9600s。
(2)由第(1)点可以得出,串口发送数据时,位与位之间的时间必须满足1/9600+/-误差。(此误差应该由串口接收器决定)
(3)在发送一个Byte内,最好关闭中断。
(4)满足(1)、(2)、(3)点,能保证GPIO模拟串口发送正常。
2.对于串口数据采集,由采样定理得,采样频率大于或等于2f。
(1)本人采样5f(即每一位采样5次)的采样频率,从而保证采样点是每一位的中间。
(2)用定时器中断置标志的方法,产生采样时间间隔。
(3)起始位的判断,连续3次采样,rxd线为0,则说明开始位的到来。
(4)数据位,只需保留第3次采样(每一位的中间)的结果就可以了。