STM32F767用HAL库怎样发送16进制数据

2019-07-20 16:24发布

公司买了原子哥的阿波罗STM32F767开发板,现在准备用这个板子做测试用,然后一边学,一边用。我学的是HAL库的例程,但是在用串口通信的例程时遇到问题了。我想通过串口发送16进制的数据到串口调试助手上面,然后串口调试助手接收后用16进制显示,发送的数据和接收到的数据必须都是16进制数据。比如我发送0Xaa,那么串口调试助手接收后16进制显示的应该是aa,但是原子哥的例程里面的例程用是接收到的数据发送出来。用的是HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout),我把例程下载进去后,在串口助手上面用16进制发送0xaa,单片机把接收到的数据发送到串口助手上面以16进制显示的是aa.说明程序是正确的。 1.png

2.png
现在我想在main.c里面自己定义一个uint8_t *pData,把自己定义的想要发送的16进制数据直接存放在uint8_t *pData里面,比如{0xaa,0x00,0xaa,0x00,0x55},然后通过
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)这个函数发送出来,并且串口助手接收到后按16进制显示,
显示结果应该为 aa   00  aa  00  55,不知道应该怎么改程序。请原子哥和大家指教一下。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。