各位玩过GSM模块的朋友们,现在遇到了这样一个问题,Mini板的串口2接SIM900A,能打电话,却不能发短信,各位能不能帮我看看是什么问题啊?
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
void GSM_Send(u8 *SendData);
int main(void)
{
u16 Led_Times=0;
//u8 RxData;
//u8 *Call;
u8 *Msg0,*Msg1,*Msg2,*Msg3,*Msg4;
SystemInit();//系统时钟等初始化
delay_init(72); //延时初始化
NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart1_init(115200);//串口1初始化为115200
uart2_init(115200);//串口2初始化为115200
LED_Init(); //LED端口初始化
//Call="ATD15927293746;\r";
Msg0="AT\r";
Msg1="AT+CMGF=1\r";
Msg2="AT+CSCA=+8613800270500\r";// 本地移动中心号
Msg3="AT+CMGS=15927293746\r";
Msg4="Hello!\r";
//GSM_Send(Call);
delay_ms(1000);
GSM_Send(Msg0);
delay_ms(1000);
GSM_Send(Msg1);
delay_ms(1000);
GSM_Send(Msg2);
delay_ms(1000);
GSM_Send(Msg3);
delay_ms(1000);
GSM_Send(Msg4);
delay_ms(1000);
USART_SendData(USART2,0x1A);
while(USART_GetFlagStatus(USART2,USART_FLAG_TXE) == RESET);
delay_ms(1000);
while(1)
{
Led_Times++;
if(Led_Times%30==0) LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);
}
}
void GSM_Send(u8 *SendData)
{
while(*SendData)
{
USART_SendData(USART2,*SendData++);
while(USART_GetFlagStatus(USART2,USART_FLAG_TXE) == RESET);
}
}
|