打印

如何用STM32发送十六进制命令出去(485通讯)

[复制链接]
235|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
考哥|  楼主 | 2019-11-14 14:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何用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()

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

461

主题

477

帖子

0

粉丝