可以这样,例如 uint16_t send_dat=2020
send_reg=send_dat>>8; //send_rge为串口的数据寄存器,将send_dat的高八位先给串口数据寄存器
send_reg=send_dat; //再把send_dat的低八位赋值给串口数据寄存器
这只是一个伪代码,说明一个思路。当然,你这么发送的话,串口接收把拆分的两个八位数据合成成十六位数据也必须按照这样合成,先接收的是高八位,最后接收的是低八位。
uint16_t rec_dat; //待接收的数据
rec_dat=send_reg; //接收第一个数据(源数据的高八位,第一个字节)
rec_dat<<=8;
rec_dat|=send_reg; //将高低八位组成一个完成的16位数据
完整的发送接收的框架思路就是这样,伪代码仅供参考。 可以得话可以设置最佳答案。