STM32
直播中

周必镜

7年用户 897经验值
私信 关注
[问答]

STM32 HAL库串口是如何实现发送16字节数据的

STM32 HAL库串口是如何实现发送16字节数据的?
STM32 HAL库串口是如何实现发送32字节数据的?

回帖(1)

林俭幼

2021-12-2 11:35:26

串口发送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位数据发送。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分