MCU發送數據給藍牙模塊,手機APP接收不到

2019-07-19 20:20发布

用的WLT8266藍牙模塊,MCU是STM32F030系列,手機APP發送數據給MCU可以收到(前提是第一次發送時要以 斷點方式讓MCU接收,否則MCU也收不到,重新上電后亦如此)
MCU發送數據給藍牙模塊,手機APP接收不到數據,不理解哪裡出問題了?
是藍牙還是我串口中斷的問題?
在藍牙模塊的TX,RX,GND引3條線出來,連接串口軟件,APP給MCU發數據時,MCU收到串口軟件收不到;MCU給APP發數據時,APP
收不到,串口軟件可以收到,迷惑呀!
以下是發送和接收中斷:
void USART2_IRQHandler(void)
{
        if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE)!=RESET)        {

        RxDataTemp=USART_ReceiveData(USART2);
        USART_ClearFlag(USART2,USART_FLAG_RXNE);
        RxData[RxCnt++] =RxDataTemp;
        if((RxData[RxCnt-1]==0x0D)&&(RxData[RxCnt]==0x0A))
        {
                  RxLength=RxCnt;
                RxCnt =0;
                //bakUpUartRecBuf(3);//throughout//
                RxState=0x01;                               
                 USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);                       
        }
                if(RxCnt>=100)
                {
                RxCnt =0;
                USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);       
                }

        }



               
        if(USART_GetITStatus(USART2, USART_IT_TC) != RESET)
        //if(USART_GetFlagStatus(USART2, USART_FLAG_TC) != RESET)
        {
                //USART_ClearFlag(USART2,USART_FLAG_TC);       
                USART_SendData(USART2, TxData[TxCnt++]);
                if(TxCnt==TxLength)
                {
                TxCnt = 0;
                   USART_ITConfig(USART2, USART_IT_TC, DISABLE);
                USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
                }
        }

}



       
       




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
夏天的123
1楼-- · 2019-07-20 02:08
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-20 04:21
检查下单片机发出的数据是否正常?单片机串口TX接TTL串口转USB的RX,然后用电脑串口调试助手测试下看看
夏天的123
3楼-- · 2019-07-20 06:00
 精彩回答 2  元偷偷看……
夏天的123
4楼-- · 2019-07-20 11:00
本帖最后由 夏天的123 于 2018-12-22 09:10 编辑
正点原子 发表于 2018-12-22 02:44
检查下单片机发出的数据是否正常?单片机串口TX接TTL串口转USB的RX,然后用电脑串口调试助手测试下看看

好像是有問題,我再檢查下
夏天的123
5楼-- · 2019-07-20 11:18
夏天的123 发表于 2018-12-22 09:07
好像是有問題,我再檢查下

剛剛數據弄在一塊了,加了延時后;
Delay1ms(200);
AT_DataSend(AT_GETBAUD);
Delay1ms(200);
Throughput_DataSend(TxDataa);
ASCII 字符

[2018/12/22 09:13:33(336)Rx]AT+GETBAUD
[2018/12/22 09:13:33(499)Rx]4#P
[2018/12/22 09:13:33(666)Rx]AT+GETBAUD
[2018/12/22 09:13:33(832)Rx]4#P
[2018/12/22 09:13:33(999)Rx]AT+GETBAUD
[2018/12/22 09:13:34(165)Rx]4#P
[2018/12/22 09:13:34(332)Rx]
116進制

[2018/12/22 09:13:33(173)Rx]12 34 01 23 50
[2018/12/22 09:13:33(340)Rx]41 54 2B 47 45 54 42 41 55 44
[2018/12/22 09:13:33(505)Rx]12 34 01 23 50
[2018/12/22 09:13:33(671)Rx]41 54 2B 47 45 54 42 41 55 44
[2018/12/22 09:13:33(838)Rx]12 34 01 23 50
[2018/12/22 09:13:34(003)Rx]41 54 2B 47 45 54 42 41 55 44
41 54 2B 47 45 54 42 41 55 44 就是AT+GETBAUD

一周热门 更多>