如何用STM32发送十六进制命令出去,如发送01 05 00 23 50,使用printf函数发出去的是相应的ASCLL码,我定义了如下语句 uint8_t send_AHRSO[5]={0x01,0x05,0x00,0x23,0x50};
void USART_PutHEX(USART_TypeDef* USARTx,uint8_t Data)
{
USART_SendData(USARTx, Data);
while(USART_GetFlagStatus(USARTx,USART_FLAG_TXE)==RESET);
}
int SendUrt()
{
GPIO_SetBits(mac485REDE_PORT,mac485REDE_PIN);
delay_ms(1);
USART_PutHEX(USART2,send_AHRSO[0]);
USART_PutHEX(USART2,send_AHRSO[1]);
USART_PutHEX(USART2,send_AHRSO[2]);
USART_PutHEX(USART2,send_AHRSO[3]);
USART_PutHEX(USART2,send_AHRSO[4]);
while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET)
delay_ms(2);
GPIO_ResetBits(mac485REDE_PORT,mac485REDE_PIN);
然后在主函数中调用SendUrt() |