我用的是spcomm控件,发送一条指令,串口就返回相应的数据,我有一个数据处理段.
我发送条一命令,他反回一条数据给我,在那里我要连续的处理250次,当处理了到50条
左右行就不动了,串口好像就死了样的,要重启电脑才可继续使用.但是发送的数据量都很小啊.在里面我都加了延时函数啊.用别的工具调式,他就没有问题,所以不是单片机程序的问题.
我发送条一命令,他反回一条数据给我,在那里我要连续的处理250次,当处理了到50条
左右行就不动了,串口好像就死了样的,要重启电脑才可继续使用.但是发送的数据量都很小啊.在里面我都加了延时函数啊.用别的工具调式,他就没有问题,所以不是单片机程序的问题.
试试用 CPort 控件,很好用的
另外你在用 串口通讯 的时候,不能假设数据是一次全部读到的,
比如你往串口发送 1k 数据 ,在接受的时候 1k 有可能是分多次到达的,
即使你发两个字节也是这样的
所以,通常在处理 串口通讯 事件的时候需要 设置一个全局变量 再次缓冲一下数据
若你交换的数据都是文本的话,你可以用一个 0xAA 作为一个数据包的开始
你循环250次,你如果用定时器,虽然timer可以随便定义,但最小数值是大约0。1秒,不会太快
同时,串口通讯有结束握手的指令,使用前先清串口缓存,再握手,再通讯,再握手结束。
觉的波特率 是重要的