初级会员
- 积分
- 143
- 金钱
- 143
- 注册时间
- 2018-4-9
- 在线时间
- 25 小时
|
1金钱
main()
{
Set_Text_Mode1(); //设置发送短信模式
Send_Text_Sms1(); //发送短信“汽车发生震动”
Set_Text_Mode3();//设置接收短信的模式
while(1)
{
Check_New_Message(); //检测是否收到短信,并执行相应操作
}
}
发送模式函数如下
void Set_Text_Mode1(void)
{
Second_AT_Command("ATE0","OK",3); //取消回显
Second_AT_Command("AT+CMGF=1","OK",3); //设置TEXT模式
Second_AT_Command("AT+CSMP=17,167,2,25","OK",3);
Second_AT_Command("AT+CSCS=\"UCS2\"","OK",3);
}
void Send_Text_Sms1(void)
{
Second_AT_Command("AT+CMGS=\"xxxxxxxxx\"",">",3); //设置发送手机号,接收到“>”才发送短信内容
UART2_SendString(content_1); //发送短信内容
USART_SendData(USART2 ,0X1A); //发送结束符
UART2_SendLR();
}
接收短信模式函数如下
void Set_Text_Mode3(void)
{
Second_AT_Command("ATE0","OK",3); //取消回显
Second_AT_Command("AT+CNMI=3,2,0,0,0","OK",3); //新短信直接输出
Second_AT_Command("AT+CMGF=1","OK",3); //TEXT模式
}
如果模块先发送一条短信给手机,然后模块再设置接收模式,模块就检测不到短信从而不能执行相应的操作,如果把发送短信的两句代码去掉,模块就可以检测得到短信,
哪个大佬教教怎么写才能先发送一条短信,再检测是否收到短信
|
|