求助:串口数据发送问题

longlianxi 2013-07-07 11:26:02
/*************************************************
函数名称 SendCmd
简要描述 发送串口命令数据
*************************************************/
void CradarDlg::SendCmd()
{

if(m_nSendTimes < 3)
{
CString SendString = ""; //memory the frame
BYTE m_bySendFrame2[7]={0xF1,0x1F,0x00,0x01,0xAA,0xDE,0xFF};


bCmdState = FALSE; //禁止其他命令的发送!!

for (int i = 0; i < 7; i++)
{
SendString += ( char ) m_bySendFrame[i]; //format the frame
}

m_Port.WriteToPort((LPCTSTR)SendString);
m_nTimer2s = SetTimer ( 2, 2000, 0 );// 启动1秒定时
m_nSendTimes ++ ;
}
else//发送三次都失败
{

bCmdState = TRUE; // 允许其他命令发送

m_nSendTimes= 0; //发送次数清零
KillTimer(2);
}
}

如上函数, 把m_bySendFrame2[7]={0xF1,0x1F,0x00,0x01,0xAA,0xDE,0xFF}作为RS232控制指令发送到
串口,到0x00就无法发送,实际上是F1 1F ,而不是F1 F 00 01 AA DE FF
为什么?如何改?
...全文
157 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdg3707 2013-07-08
  • 打赏
  • 举报
回复
默认的不知道是二进制还是字符,但如果默认的是二进制最好也设一遍
longlianxi 2013-07-08
  • 打赏
  • 举报
回复
我用serialport.cpp and serialport.h,看了源程序, m_Port.WriteToPort((LPCTSTR)SendString); 改为 m_Port.WriteToPort((LPCTSTR)SendString,7); 即可
ponydph 2013-07-08
  • 打赏
  • 举报
回复
引用 2 楼 hdg3707 的回复:
你得按二进制发送,不能按字符发送,字符的结束符就是\0,把0X00当成结束符了,你直接发送m_bySendFrame2,串口设置成二进制格式,不要设置字符型发送,好象是DCB里有一个fBinary字段就是设二进制还是字符发送
还有这种设置呢,不都是二进制码?
hdg3707 2013-07-08
  • 打赏
  • 举报
回复
你得按二进制发送,不能按字符发送,字符的结束符就是\0,把0X00当成结束符了,你直接发送m_bySendFrame2,串口设置成二进制格式,不要设置字符型发送,好象是DCB里有一个fBinary字段就是设二进制还是字符发送
rxguoblp 2013-07-08
  • 打赏
  • 举报
回复
缓冲区字节数设置的太小?
wumn29 2013-07-08
  • 打赏
  • 举报
回复
如果你要把\0后面的也发出去, 应该改一下这个接口WriteToPort的参数传指针和长度
smallcat1025 2013-07-08
  • 打赏
  • 举报
回复
想起来,当时也是用控件方式的时候出现了这个问题,后来改用文件读写的方式操作串口,就避免了这个问题,也就没再去研究了。。
叶恭介叶恭介 2013-07-08
  • 打赏
  • 举报
回复
m_Port.WriteToPort((LPCTSTR)SendString);为什么要用字符串发送了,可能WriteToPort发送时遇到\0就结束发送。按字节发送吧,看m_Port有没有用字节发送到串口的方法...
smallcat1025 2013-07-08
  • 打赏
  • 举报
回复
好像是不能用CSTRING啊,cstring类型遇到0会自动结束
smallcat1025 2013-07-08
  • 打赏
  • 举报
回复
我也碰到过这个问题,等我找找以前的工程看看。。
iSee视频监控 v5.2 视频监控软件使用说明书 版权所有 翻录必究 2009年10月1日 Ver:01.01.05 注意事项 首先,感谢您选用我公司最新产品。 在使用本监控卡之前,请详细阅读本说明书所涉及的相关事项,熟悉 硬件、软件各部分的功能后,方能使用,以确保该系统为您发挥最佳功能。 否则一切后果自负。 本说明书将向您详细阐述全实时“视频监控系统”的安装、操作、设 置和网络使用方法。 本系统工作主机供电电压为220V_10%,如果在电压不稳或者干扰大 的场合,请您选用优质稳压电源(即UPS),保证系统正常良好的工作状态。 本系统在安装、拆卸视频采集卡时,必须将主机处于完全断电状态, 否则主板上残留的电压将损坏采集卡。 本系统可切换D1与CIF分辨率,切换分辨率设置后,在主界面必须关 闭通道视频,重新打开通道视频,设置才能生效。 本系统主机工作于常温(-10_3℃~55_2℃)、清洁的环境,并且保持 良好的通风状态。 本系统软件属于我公司专有产品,未经同意,请勿复制,否则影响机 器稳定概不负责,并将通过有关法律渠道追究盗版责任。 功能特点(H.264压缩) 压缩方式:H.264/MPEG 4; 显示分辨率:1024_768、1280_1024、16:9宽屏、16:10宽屏; 预览分辨率 (可调) :704_576(PAL制),740_480(NTSC制); 352_288(PAL制),370_240(NTSC制); 录像分辨率(所见即所得):704_576(PAL制), 740_480(NTSC制); 352_288(PAL制),370_240(NTSC制); 单机容量支持12路D1、48路CIF; 支持单画面、4画面、9画面、16画面、20画面、25画面显示,可全屏显示,支持自动 翻页; 多画面实时显示/录像/回放功能,支持多协议云镜控制,支持多种报警盒实现联动报警; 手动录像、连续录像、定时录像、动态录像、事件录像、联动报警录像等多种录像方式; 可以设置每个通道的显示名称; NTSC/PAL两种视频显示制式可选, 25帧/秒实时预览、录像、回放; 视频图像属性调节功能,使图像更清晰。 视频录像图像质量有多种等级可调,以改变存储文件大小,方便不同场合应用。 视频移动报警录像功能,报警录像灵敏度、预录像时间、延迟录像时间可调,支持声音 报警输出。 智能检索,可按摄像镜头年/月/日/时间段或长时间连续检索回放,自动检索报警录像, 能区分录像事件。 具有局部放大功能,可逐帧回放,快速播放,慢速播放,常规播放。 回放时可进行图片抓拍功能,回放时文件备份功能、文件剪辑功能。 可进行远程监控,远程控制云镜、色彩、手动录像、布撤防、重启计算机等控制工作。 支持现今最大容量的硬盘,并支持安装多个大容量的硬盘。 硬盘管理可以通过对最大使用硬盘和硬盘最小预留空间的设置使硬盘能够得到充分合理 的使用。 自动创建日志文件(用户操作日志、系统日志、远程控制日志),便于查询操作记录。 系统可任意设置定时关机,定时重启功能,保证系统运行的高稳定性。 可设定开机自动运行监控软件,断电自动关闭程序,来电自动重启,自动恢复录像。 硬件、软件经过严格的拷机试验,稳定可靠。 系统硬件配置要求低,48路同时录像显示时,CPU的占用率低于75%。 系统能有效防止用户多次重复运行监控系统导致系统崩溃的情况。 目录 第一部分 软件安装与卸载..............................................................................................................6 1.1 系统要求 ..................................................................................................................................................6 1.1.1 硬件要求(推荐) ................................................................................

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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