Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Linux串口-通过串口将()字节发送到目标设备_C_Linux_Serial Port - Fatal编程技术网

C Linux串口-通过串口将()字节发送到目标设备

C Linux串口-通过串口将()字节发送到目标设备,c,linux,serial-port,C,Linux,Serial Port,要将此命令写入目标设备,我需要写入字节 41 54 2b 07 08 44 46 A6 因此 但是,写入设备的实际字节是 41 54 2b b8 bb 44 46 be 这显然是错误的 0x07 0x08 0xA6 在上面的示例中,我希望如何写入字节 -----写函数------- void WriteToDevice(){ 无符号字符cmd[]={'A','T','+','0x07','0x08','D','F','0xA6'}; int n=写入(fd和cmd,8); 对于(p=0

要将此命令写入目标设备,我需要写入字节

41 54 2b 07 08 44 46 A6
因此

但是,写入设备的实际字节是

41 54 2b b8 bb 44 46 be
这显然是错误的

0x07 0x08 0xA6
在上面的示例中,我希望如何写入字节

-----写函数-------

void WriteToDevice(){
无符号字符cmd[]={'A','T','+','0x07','0x08','D','F','0xA6'};
int n=写入(fd和cmd,8);

对于(p=0;p而不是
“0x07”、“0x08”
等使用
'\x07'、'\x08
'等。

您希望有人如何帮助,您必须发布写入错误数据的代码。@iharob关于我的问题,您还需要知道什么?代码,如果我看不到代码,就不可能知道它为什么写入错误数据。谢谢,我刚刚尝试了您的方法,但是打印出了字节仍然不是我所期望的,我在代码中做了任何错误的事情吗?是的,我没有注意到。虽然它可以
'\x07'
->
0x07
@Sam,但您应该启用编译器警告,您对
cmd
数组的初始化是错误的。我只是尝试了
unsigned char cmd[]={'A',t','+','\x07','\x08',D',F','\xA6'}
unsigned char cmd[]={'A','T','+',0x07,0x08,'D',F',0xA6};
--它们都按预期工作。@Sam,永远不要再忽略编译器警告。特别是如果你不知道它们的意思。
unsigned char cmd[] = {'A', 'T', '+', "0x07", "0x08", 'D', 'F', "0xA6"};