抑或是无能-为力?CSerialport类发送数据“A0A20007961E540006000A0118B0B3”,该怎么处理

抑或是无能-为力?CSerialport类发送数据“A0A20007961E540006000A0118B0B3”
用CSerialport类来进行串口数据接收和发送数据。

当发送   buf[100]=“$PSRF100,0,57600,8,1,0*37”;
              m_Ports[0].WriteToPort(buf);
能成功。

但发送   bug[100]=“A0A20007961E540006000A0118B0B3”;这样的数据,
              m_Ports[0].WriteToPort(buf);
则不行,反正没得到预期的结果。

问:
1、以上问题如何解释?第二种数据“A0A20007961E540006000A0118B0B3”的格式规则是什么,并且如何发送它?

2、各高人,烦请解释一下,诸如以上串口数据格式有几种?麻烦给点解释或资料

我用控件MSCOMM来发送上面两种格式的字符串都是成功的。第一种采用二进制的方式,第二种则以十六进制来发送,正常,可是MSCOMM用起来不如意,似乎不支持多线程,所以考虑使用CSerialport类来解决。望解答,谢谢!

------解决方案--------------------
m_Ports[0].WriteToPort((LPCTSTR)buf);

------解决方案--------------------
帮顶
------解决方案--------------------
up
------解决方案--------------------
up
------解决方案--------------------
楼主似乎没有搞明白二进制和十六进制有什么不同,我想应该这么说:第一种是字符串数据,第二种是二进制数据(十六进制)。你使用的函数是用来发送字符串的,发送二进制数据的时候应该传送字节数的参数;检查一下CSerialPort类有没有发送二进制数据的函数,如果没有,根据发送字符串数据的函数自己添加一个。