通过
手机发送短信给GSM模块(sim300模块),
STM32读取GSM收到的短信,按照短信来控制
威廉希尔官方网站
的灯亮或其他功能,请问该怎么实现,这段程序是实现接收的吗?按照这个写该怎么实现,附件是串口的源文件和GPRS发送短信的源文件,求指导接收短信怎么实现????
#ifdef EN_USART1_RX //如果使能了接收//串口1中断服务程序//注意,读取USARTx->SR能避免莫名其妙的错误 u8 USART_RX_BUF[64]; //接收缓冲,最大64个字节.//接收状态//bit7,接收完成标志//bit6,接收到0x0d//bit5~0,接收到的有效字节数目u8 USART_RX_STA=0; //接收状态标记 void USART1_IRQHandler(void){u8 res; if(USART1->SR&(1<<5))//接收到数据{ res=USART1->DR; if((USART_RX_STA&0x80)==0)//接收未完成{if(USART_RX_STA&0x40)//接收到了0x0d{if(res!=0x0a)USART_RX_STA=0;//接收错误,重新开始else USART_RX_STA|=0x80;//接收完成了 }else //还没收到0X0D{if(res==0x0d)USART_RX_STA|=0x40;else{USART_RX_BUF[USART_RX_STA&0X3F]=res;USART_RX_STA++;if(USART_RX_STA>63)USART_RX_STA=0;//接收数据错误,重新开始接收 } }} } } #endif
gprs.c (721 Bytes )
usart.c (2.7 KB )