用的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);
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
好像是有問題,我再檢查下
剛剛數據弄在一塊了,加了延時后;
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
一周热门 更多>