[mw_shl_code=c,true]//SIM900A发短信测试
void sim900a_sms_send_test(void)
{
u8 *p="Congratulations! You succeed!";
sim900a_init();
//不需要sim900a_unigbk_exchange吗?
if(sim900a_send_cmd("AT+CMGS=\"18646668556\"\r\n",">",200)==0);//设置要发送的手机号码
{
delay_ms(500);
if(sim900a_check_cmd(">"))//是否收到">"
{
LED1=!LED1;
u2_printf((char*)p); //发短息内容到GSM模块
if(sim900a_send_cmd((u8*)0X1A,"+CMGS:",1000)==0)//发送结束符,等待发送完成(最长等待10秒,因为短信长了的话,等待时间会长些)
{
LED1=!LED1;
}
USART2_RX_STA=0;
}
}
}[/mw_shl_code]
这是我在论坛搜到的一个关于发短信的程序,这哥们的发送短信的函数模块没有像原子哥sim900a_unigbk_exchange转换函数,,,他这个行得通不?(买了板子没买稳压电源,稳压电源刚买的还在路上。。。先学习下了解下情况。。。orz)
还有就是我如果结合GPS,采集到GPS信息dtbuf1,我只要将p=dtbuf1就行了对吧,也就是原子哥代码里的const u8* sim900a_test_msg
[mw_shl_code=c,true]sprintf((char*)dtbuf1,"Longitude:%.5f %1c Latitude:%.5f %1c\r\nUTC Date:%04d/%02d/%02d\r\nUTC Time:%02d:%02d:%02d ",\
((float)gpsx.longitude)/100000,gpsx.ewhemi,((float)gpsx.latitude)/100000,gpsx.nshemi,\
gpsx.utc.year,gpsx.utc.month,gpsx.utc.date,gpsx.utc.hour,gpsx.utc.min,gpsx.utc.sec);
[/mw_shl_code]
|