求助:各位大哥帮我看看这个问题(字符格式问题)
请教:
是这样的,我买了个串口打印机,只要串口里发数据
打印机就可以打印了
我在串口调试软件里发送
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);
可是打印机没有一点反应
各位大哥,我是错在哪里啊?
我应该怎么写?
谢谢!