c语言,关于16串口发送。
定义一个union { unsigned int I;无符号字符AC[4];} udata
udata . I = 1;
如果(udata.ac[0]== 1) //小终端,则从低到高发送。
{
udata . I = 123456789;
int j = 0;
while(j & lt;4 )
{
send _ data _ UART(udata . AC[j]);
j++;
}
}
Else //大端机,从高到低发送
{
udata . I = 123456789;
int j = 4;
while(j->;0 )
{
send _ data _ UART(udata . AC[j]);
}
}
纠正楼上应采用的第一种方法是体位和:
无符号int val = 123456789;
发送数据UART(val & amp;0x ff);
send _ data _ UART((val & gt;& gt8)& amp;0x ff);
send _ data _ UART((val & gt;& gt16);0x ff);
send _ data _ UART((val & gt;& gt24)& amp;0x ff);
请把贴纸给楼上。我认为方法一效果更好。