CSerialPort类实现的串口通信,发送数据几次后出现程序自动关闭的现象,请问是什么原因?
具体情况是:发送十六进制数据,如果数据超过5个,发送6次后程序自动关闭;发送数据小于等于5个就不会出现这样的现象,觉得很奇怪,有谁碰到过这样的问题?各位大虾帮帮忙啊!
注:1、存放数据的数组,如果要发送6个数据,数组定义为全局变量char data[7];
2、实现在子窗口的组合框中输入数据按下回车后发送数据和选择数据即可发送,截取到回车键和选择的消息通知给父窗口,父窗口收到消息后进行判断后再进行数据的发送。父窗口都能收到消息并进行数据的发送。
疑问:串口通信是多线程的,发送的数据量并不大,才6个,会阻塞到消息的处理从而造成程序自动关闭吗?
[最优解释]
应该是按字符发送的吧,字符最后的0被当成了结束符!
[其他解释]
你手上有代码吗?在Debug下调试应该能发现问题。一般访问非法会造成程序崩溃,Release版本则自动关闭,Debug版本会出现一些提示。
[其他解释]