msp430串口收发程序
现在想用msp430的串口进行收发程序开发,但不知道对方一次发送过来多少数据?如何才能完整接收呢?我感觉使用中断的方式一次只能接收一个字节的数据,不能把对方发送的完整数据全部接收!请问有什么解决办法?谢谢!
另外,使用串口通信,一方是msp430,一方是c51,串口速率都设置为115200,但因为430单片机和51单片机执行每次指令需要的周期不同,请问这样会影响通信吗?谢谢!
[解决办法]
使用中断形式,来了接收中断就去读数据,然后尽快把数据存储到某个地方或者进行其它的处理,然后再把中断打开,处理得好不会丢数据的,两方的指令周期不同没有关系,保证波特率一致且能快速处理接收到的数据就行了。
[解决办法]
1. 串口本身只是定义了物理层的东西,至于说数据是否接收完全这要靠上层协议来保证。
2. CPU指令的速度和外设工作没有很直接的关系,一般外设比CPU慢,这也引入中断机制的部分原因。
3. 串口确实是基于单个字符传送的,这点其实很重要。
[解决办法]
还有一点 楼主要注意 MSP430串口是全双工的, 串口发送缓冲区和串口接收缓冲区是分开的,而51是半双工的,串口发送缓冲区和串口接收区是在一块的,所以发送和接收是不能同时的,这块51的数据处理 是要注意的