首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

有个串口方面的有关问题。必须经过串口调试工具打开一次串口后。

2012-09-29 
有个串口方面的问题。必须经过串口调试工具打开一次串口后。。就是第一次连接好单片机与主机后,必须经过串口

有个串口方面的问题。必须经过串口调试工具打开一次串口后。。
就是第一次连接好单片机与主机后,必须经过串口调试工具打开一次串口,再关闭后。软件写串口,读串口才正常。以后也正常。
单步调试了一下,发现软件中打开串口是正常的,但就是写串口后,读数据总是为空。

但为什么用串口调试工具打开一次,正常打开后,再关闭。以后软件中的读写串口都正常了?
代码如下:

m_pGpsComm->FlushComm();
m_pGpsComm->WriteComm(sendBuf, sendLen);
Sleep(500);
recvLen = m_pGpsComm->ReadComm(recvBuf, 128);

用虚拟串口模拟的时候,每次都是正确的,不知道是不是和硬件有关系?

不知道为什么

[解决办法]
你的软件没有对串口正确初始化
所以需要用别的软件初始化一下
检查初始化代码吧,比如设置波特率什么的
[解决办法]
单步调试了一下,发现软件中打开串口是正常的,但就是写串口后,读数据总是为空。

使用示波器,分别观察异常情况下和正常情况下的波形,对比一下电平值、波形周期长度,肯定有些不一样的地方,然后根据不同的地方出现在哪里,进一步分析。

[解决办法]
初始化发送一下波特率,停止位,数据位,奇偶位之类的。
[解决办法]
你的软件没有对串口正确初始化

[解决办法]
1楼正解。

1楼说的初始化,是指的上电后的第一次初始化, 你代码中这部分应该没做,或者有问题,

不知道你说的 什么以后每次初始化都正确 是什么意思, 第一次初始化后,后面反复通信即可。

你以为后面每次通信都初始化? 

你加串口工具明显是,硬件检测到后,自己做了初始化工作嘛。。。

热点排行