|
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中斷,可以擴展來控制
{
Usart1RecBuf[RxCounter++] =USART_ReceiveData(USART1);//接收模塊的數據
}
if(Usart1RecBuf[RxCounter-16]=='+'&&Usart1RecBuf[RxCounter-15]=='I'&&Usart1RecBuf[RxCounter-14]=='P'&&Usart1RecBuf[RxCounter-13]=='D')
{
bUsart1RecFlag = 1;//接收標志
}
}
esp8266作為服務端發送數據,并顯示在手機app上,包括溫度、濕度、可燃氣濃度。
這個是usart的中斷函數,stm32開啟的是接收中斷,然后讀取接收的數據放入緩存,并計數,然后框中的設置 是判斷手機接收是否成功嗎??還是stm32是否接收成功??
搜了看一下之所以進行與操作是:C語言沒字符串String這種類型,不能直接操作String,應該是逐個字符操作再與操作。
但是為什么要這樣設置呢?16,15,14,還有+IPD是什么意思呢??
和發送的溫濕度可燃氣體的數據有關嗎?
這個代碼是從別人那里截取來的,但是沒看懂這部分的操作,求大佬解答!!感謝!!
|
|