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