用串口控件和51通信时,上位机是怎么发送的?
想用VC里的串口控件MSCOMM和51做通信,但是不知道上位机把缓冲区的字符流发送给单片机后,单片机会不会来不及处理?会不会出现单片机还在中断程序拿出SBUF数据的时候,上位机已经送来下一个数据,单片机无法接收,造成数据丢失呢?谢谢各位大虾!~
[解决办法]
通讯双方速度不匹配时,一般是用流控制(Xon/Xoff、硬握手)解决的。
对于51单片机来说,硬握手最简单。
51与上位机之间,在多数情况下,是51侧速度慢,
可以由51在未准备好接收数据时,触发Pin电平信号给上位机,通知上位机暂停发送。
不知道你的上位机一侧是什么样的串口,
如果是RS232标准.有四根输入握手线,你可以选择一个。
当然最好是用CTS或DSR,许多应用直接支持。