SerialPort类对于蓝牙串口通信的问题
宁缺毋滥灬 2019-07-12 04:00:41 首先本人基于SerialPort类编写了串口通信,能够打开两个串口的,经虚拟串口与串口调试助手实验没问题,通过串口调试舵机板子也能很好运行,就是完全没有问题。
后来想把串口通信改成蓝牙的,买了蓝牙板子,和电脑配对后,经过他们给的上位机(上位机打开的是串口)运行后也没有一点问题。
照理说,我程序没问题,蓝牙没问题,应该能用啊,然后我遇到第一个问题是,我用我自己编写的程序打开蓝牙串口,发送数据只能发送一次,然后在怎么点发送不出去,CSDN上说是改优先级的问题骂我照着改了,果然能用了。第二个问题又出现了,我点第一次间隔4S发送完两个数据后,在点一次,就是时灵时不灵的,多点几次也能发送,间隔时间也乱了,程序有时候就跑一半。
用串口助手调试的话又没有一点问题。。。。怎么办,不知道哪里出问题了。
放一点伪代码
char cr=13;
Sleep(1);
if(!m_bSerialPortOpended2) return;
UpdateData(TRUE);
CString m_SendMsgOne;
m_SendMsgOne="T1000#0P1000T0#1P1500TO";
m_SendMsgOne=m_SendMsgOne+cr;
m_SerialPort2.WriteToPort((LPCTSTR)m_SendMsgOne);
Sleep(4000);//延时5秒
CString stop;
stop="T1000#0P1500T0#1P1500T0";
stop=stop+cr;
m_SerialPort2.WriteToPort((LPCTSTR)stop);