qnx下串口通信函数问题

我不太懂qnx,现在需要在别人之前写的程序上添加模块。

现在遇到的问题是,我这边PC104(qnx系统平台)需要与另外一边计算机进行通信,串口通信。首先需要一个握手程序,就是我这边要向那边发送一些指定的字节。

for(i=0;i<4;i++)
{
Retwrite=write(fdser3,&buff_,sizeof(handbuff));
}

请问各位,我用write这个函数可以吗?

它那边的握手程序是这样的

for(;:wink:
{
if(checklog[0]==0xEB)
{
checklog[1]==byte_in();
if(checklog[1]=0x55)
{
checklog[2]=byte_in();
if…//连续接收四个字节,进行匹配



}
}
}_

现在有新的问题。
我发送过去的是0xbe;0xEB;0x55;0xaa;0xbb;0x37
通过串口调试,接收的结果对应的是10 00;0A 00;55 00;15 00;22 00;64 00
请问这是怎么回事?

同样发送换成0x01; 0x02; 0x03; 0x04; 0x05; 0x06
对应接收的变成了7F 00;3F 00;7E 00; 1F 00;7D 00;3E 00.

可能是哪方面出问题了呢??

是不是你的buff定义的是 short, 不是unsigned char

感觉你两端的串口的波特率不一致,请查一两端的串口的波特率设置。

不好意思,后来发现是422有两根线正负接反了。。。。。