|
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是什么意思呢??
和发送的温湿度可燃气体的数据有关吗?
这个代码是从别人那里截取来的,但是没看懂这部分的操作,求大佬解答!!感谢!!
|
|