求助:各位大哥帮我看看这个问题(字符格式问题)

MJXQJ888 2008-07-19 11:22:17
请教:
是这样的,我买了个串口打印机,只要串口里发数据
打印机就可以打印了

我在串口调试软件里发送
41 0d
41 和 0d 之间是有空格的,并且是按 16 进制发送的
这样打印机就可以打印 字符 A
16 进制 的 41 的 ASCII 是 A

现在我要用程序来打印

类:
DWORD Write(LPVOID Buffer, DWORD dwBufferLength)
{
if(!IsOpen())
return 0;

DWORD dwError;

if(::ClearCommError(_hCommHandle, &dwError, NULL) && dwError > 0)
::PurgeComm(_hCommHandle, PURGE_TXABORT | PURGE_TXCLEAR);

unsigned long uWriteLength = 0;

if(!::WriteFile(_hCommHandle, Buffer, dwBufferLength, &uWriteLength, &_WriteOverlapped))
if(::GetLastError() != ERROR_IO_PENDING)
uWriteLength = 0;

return uWriteLength;
}
//写串口 写ANSI C 模式字符串指针

DWORD Write(const char *szBuffer)
{
assert(szBuffer);

return Write((void *)szBuffer, strlen(szBuffer));
}



我在程序中写
com1.Write(0x410x5f0x0d);

可是打印机没有一点反应

各位大哥,我是错在哪里啊?
我应该怎么写?

谢谢!
...全文
66 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
9527他大爷 2008-07-19
  • 打赏
  • 举报
回复
当然是这样了,\x41是16进制41是字符'A',\x5f 是字符'_',\x0d是字符'\r'当然打印出来就是A_ 了,后面的'\r'不可见
你都传的这个过去不打印这个还打印什么??楼主有问题时自己学会调试吧
MJXQJ888 2008-07-19
  • 打赏
  • 举报
回复
com1.Write("\x41\x5f\x0d");

com1.Write("\x41\x5f\x0d\x00");

都是 A_ 啊

MJXQJ888 2008-07-19
  • 打赏
  • 举报
回复
0x410x5f0x0d这个不能这样写吧,相当于write(aaa)这种形式(类型未知),那么程序解析的时候uWriteLength肯定为0(程序识别不了,没转换成char *),打印机怎么会打印呢

那要怎么写啊?
谢谢!
MJXQJ888 2008-07-19
  • 打赏
  • 举报
回复
太感谢了
大哥
现在还是有点问题
打印出来的是
A_

这是什么原因?
feilinhe 2008-07-19
  • 打赏
  • 举报
回复
0x410x5f0x0d这个不能这样写吧,相当于write(aaa)这种形式(类型未知),那么程序解析的时候uWriteLength肯定为0(程序识别不了,没转换成char *),打印机怎么会打印呢
greatws 2008-07-19
  • 打赏
  • 举报
回复
还有个strlen(szBuffer),你字符串要以\0结束

com1.Write("\x41\x5f\x0d\x00");
greatws 2008-07-19
  • 打赏
  • 举报
回复
不太明白


com1.Write("\x41\x5f\x0d");

难道这样?
greatws 2008-07-19
  • 打赏
  • 举报
回复
你要打印什么内容啊?

16,466

社区成员

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

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

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