设置串口参数函数出错!!!

myj_hunter 2009-03-01 05:27:59
我使用了llbird的cnComm.h这个头文件中的bool Open(DWORD dwPort, char *szSetStr)这个方法来配置串口,如下:

AnsiString rvmComCnfg;
int comPortBoard = 1;
rvmComCnfg = "9600, 7, ODD, 2";
result = rvmCom.Open(comPortBoard,rvmComCnfg.c_str());

if(!result){
setLog("Open rvmCom fail!");
return;
}
rvmCom.SetWnd(this->Handle);

对于上面的代码,每次result返回的值总是false。找不到原因,请高手们指点!
...全文
1257 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujian53 2009-03-13
  • 打赏
  • 举报
回复
赶紧给分
wujian53 2009-03-13
  • 打赏
  • 举报
回复
rvmComCnfg = "9600, O, 7, 2"

"BBBB,P,D,S"

BBBB 为波特率,P 为奇偶校验,D 为数据位数,S 为停止位数。value 的缺省值是:

"9600,N,8,1"

下表列出合法的波特率:

设置值

110
300
600
1200
2400
9600(缺省)
14400
19200
28800
38400
56000
128000
256000


下表说明合法的奇偶校验值。

设置值 描述
E 偶数 (Even)
M 标记 (Mark)
N 缺省 (Default)
None
O 奇数 (Odd)
S 空格 (Space)


下表列出合法的数据位值。

设置值

4
5
6
7
8 (缺省)


下表列出合法的停止位值。

设置值
1 (缺省)
1.5
2
myj_hunter 2009-03-02
  • 打赏
  • 举报
回复
我用串口调试工具设置再打开是正常的。可以正常的收发数据。
nbzip 2009-03-02
  • 打赏
  • 举报
回复
汗,你先用楼上面的人提示的设置一下,然后看看有没有正确的反映.
(一般在与设备连接时,都会用其它成熟的COM口监控软件看一下,是不是连接正确,有没有信息返回)

如果没反应,还是错,可能你下位机设置或电路有问题.


myj_hunter 2009-03-02
  • 打赏
  • 举报
回复
没有错误类型啊,我用的是cnComm.h
t_ianya 2009-03-02
  • 打赏
  • 举报
回复
如果串口打开错误,是会返回有错误类型的。
你可以查看一下到底哪里有错误
myj_hunter 2009-03-02
  • 打赏
  • 举报
回复
关键是我得配置一下串口,用“9600, 7, ODD, 2”配置
t_ianya 2009-03-02
  • 打赏
  • 举报
回复
顶楼上的
TripH0101 2009-03-01
  • 打赏
  • 举报
回复
9600, 8, n, 1

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧