stm32f407给NB模块写at指令

2019-07-20 06:51发布

利用串口向nb模块写at指令,stm32开发板用串口线usart3和NB模块相连,不知道为什么总是得到不回复,谁做过stm32和nb模块调试,以下是我的代码:
uint8_t* aes="AT+CIMI ";//at指令
    uart_sendat(USART3,aes);//在usart3上发送指令给nb模块
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
{
     uart3_buffer[rx_count++]==USART_ReceiveData(USART3);//接收NB模块返回的值
      uart_sendat(USART1,uart3_buffer);//利用usart1串口在串口工具中显示
  
}
void uart_sendat(USART_TypeDef* USARTx,uint8_t* cp)
{
    while((*cp)!='')
    {
        Usart_Send_isr(USARTx,*cp);
        cp++;
    }
}
void Usart_Send_isr(USART_TypeDef* USARTx,uint8_t ch)
{
     while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET );
   USART_SendData(USARTx, (uint8_t)ch);
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
太祖
1楼-- · 2019-07-20 10:07
经过单步调试发现,USART_ReceiveData(USART3)收到的是空的,不知道为什么
ssssssssssss
2楼-- · 2019-07-20 10:55
 精彩回答 2  元偷偷看……
太祖
3楼-- · 2019-07-20 16:10
 精彩回答 2  元偷偷看……
太祖
4楼-- · 2019-07-20 19:32
ssssssssssss 发表于 2018-8-2 11:13
用串口监控tx rx上面的数据

usart3_send发送at指令给模块后,会通过usart3返回数据,然后我保存返回的数据,利用usart1在pc上显示,这样可行吗?哪里是不是有错误
ssssssssssss
5楼-- · 2019-07-20 21:20
 精彩回答 2  元偷偷看……
太祖
6楼-- · 2019-07-20 21:52
ssssssssssss 发表于 2018-8-2 16:05
串口3和模块之间的rx tx可以直接用电脑监控,把你的usb转串口的rx接到模块的tx上,然后共地

我用usb转串口直接接nb模块,tx和rx交叉连接,然后再写at指令,nb模块有返回结果,并在pc上有回显

一周热门 更多>