|
楼主 |
发表于 2015-8-31 14:07:40
|
显示全部楼层
如上,f32和u8[4]是公用地址的,因此下位机里面发送32位float数据到上位机可以用一下方法
void My_USART_send_MUX_Bytes_x(uint8_t USARTn, uint8_t x_flag, float val)
{
mux_bytes_val.f32 = val;//将待发送的值传递到union里面的f32
My_USART_send_U8(USARTn, 0x55); //发送协议字节
My_USART_send_U8(USARTn, x_flag); //发送协议字节
My_USART_send_U8(USARTn, mux_bytes_val.u8[0]); //发送拆分的四个字节发送到上位机
My_USART_send_U8(USARTn, mux_bytes_val.u8[1]);
My_USART_send_U8(USARTn, mux_bytes_val.u8[2]);
My_USART_send_U8(USARTn, mux_bytes_val.u8[3]);
My_USART_send_U8(USARTn, 0xaa); //发送协议字节,发送结束
} |
|