STM32 HAL库串口发送多字节数据
串口发送16字节数据
int16_t MotorEncoder; uint8_t low,high; high=(uint8_t)(MotorEncoder>>8); low=(uint8_t)(MotorEncoder&0xFF); HAL_UART_Transmit(&huart1 , &low, 1, 0xff); HAL_UART_Transmit(&huart1 , &high, 1, 0xff);
串口发送32字节数据
int32_t MotorEncoder; uint8_t code[4]; code[0]=(uint8_t)(MotorEncoder>>24); code[1]=(uint8_t)(MotorEncoder>>18&0xFF); code[2]=(uint8_t)(MotorEncoder>>12&0xFF); code[3]=(uint8_t)(MotorEncoder&0xFF); HAL_UART_Transmit(&huart1 , code, 4, 0xff);串口发送过程无关有无符号。
对于小数,定点数可以强制转换为对应的16/32位数据发送。
