繁体   English   中英

Linux串行端口-wrtie()字节通过串行端口到达目标设备

[英]Linux serial port - wrtie( ) byte to the target device through serial port

unsigned char cmd[] = {'A', 'T', '+', "0x07", "0x08", 'D', 'F', "0xA6"};

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

41 54 2b 07 08 44 46 A6 

相应地。

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

41 54 2b b8 bb 44 46 be

这显然是错误的

0x07 0x08 0xA6

在上面的示例中,我希望如何写字节?

-----写功能-------

void WriteToDevice(){
unsigned char cmd[]={'A', 'T', '+', "0x07", "0x08", 'D', 'F', "0xA6"};
int n = write(fd,&cmd,8);

for(p=0;p<8;p++){
    printf("bytes written: %02x \n", cmd[p]);
}

if(n<0){
    printf("write error \n");
}
else{
    printf("%d bytes written \n", n);
}

};

编译器警告

warning: (near initialization for ‘cmd[3]’) [enabled by default]
warning: initialization makes integer from pointer without a cast [enabled by default]

代替"0x07", "0x08"等,请使用'\\x07', '\\x08 '等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM