用的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);
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>