VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1046|回复: 1

[已解决]串口通讯停止位的问题

[复制链接]
48_avatar_middle
最佳答案
0 
在线会员 发表于 2022-12-31 15:20:02 | 显示全部楼层 |阅读模式
代码如下:
//波特率
        int index_sel = m_bo.GetCurSel();
        char temp_str[10] = "";
        m_bo.GetLBText(index_sel,temp_str);
        int bo = atoi(temp_str);
       
        //奇偶校验位
        int pority = m_pority.GetCurSel();
       
        //数据位
        index_sel = m_data.GetCurSel();
        memset(temp_str,0,10);
        m_data.GetLBText(index_sel,temp_str);
        int bytebit = atoi(temp_str);
       
        //停止位
        index_sel = m_stopbit.GetCurSel();
        memset(temp_str,0,10);
        m_stopbit.GetLBText(index_sel,temp_str);
        int stopbit = 0;
       
        if(temp_str == "1")
                stopbit = ONESTOPBIT;
        else if(temp_str == "1.5")
                stopbit = ONE5STOPBITS;
        else if(temp_str == "2")
                stopbit = TWOSTOPBITS;
前面都对。
调试时,发现temp_str="1",
可是经过下面这段代码时,
if(temp_str == "1")
                stopbit = ONESTOPBIT;
        else if(temp_str == "1.5")
                stopbit = ONE5STOPBITS;
        else if(temp_str == "2")
                stopbit = TWOSTOPBITS;
都跳过去了。按理说应该是
stopbit = ONESTOPBIT;
可都跳过去了,stopbit=0.
这是怎么回事?请高手指教,谢谢!
最佳答案
74_avatar_small
2023-1-30 17:35:39
很有意思的问题欸
串口通讯停止位的问题
你看看这个,我去网上查了一下,这个“==”好像对于字符数组来说,只会比对地址,比较的并不是字符串内容,所以说,要比较字符串还是用strcmp这一类函数。或者自己重载一个“==”。非常感谢您的问题,又发现了小细节。




上一篇:无法启动程序"D\VC\Study\2\test\debug\test.ocx
下一篇:在静态文本上显示文字的问题
74_avatar_middle
最佳答案
7 
在线会员 发表于 2023-1-30 17:35:39 | 显示全部楼层    本楼为最佳答案   
bestAnswer
很有意思的问题欸
串口通讯停止位的问题
你看看这个,我去网上查了一下,这个“==”好像对于字符数组来说,只会比对地址,比较的并不是字符串内容,所以说,要比较字符串还是用strcmp这一类函数。或者自己重载一个“==”。非常感谢您的问题,又发现了小细节。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-12-10 09:00

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表