事情是这样的,我的main函数如下:
int main(void)
{
Stm32_Clock_Init(9); //时钟配置72M
delay_init(72);
uart_init(72,9600); //串口1初始化
LCD_Init(); //初始化LCD
LED_Init(); //初始化LED   A(8)  D(2)
LCD_Clear(BLACK); //填充屏幕为黑色
  OINT_COLOR=RED; //设置字体为红色
LCD_ShowString(60,50,200,200,16,"Mini STM32");
LCD_ShowString(60,70,200,200,16,"ATOM@ALIENTEK");
delay_ms(1200);
delay_ms(1200);
LCD_Clear(GREEN); //填充屏幕为黑色
USART2_Init(36,115200); //初始化串口2   A(2)   A(3)
sim900a_init(); //sim900a初始化
// sim900a_send_mms(); //彩信测试
while(1)
{
}
}
我就把这个程序下到mini板中,感觉板子就不工作了。
但是后来我把上面红色那个函数,也就是sim900a_init(); 给屏蔽了,再下载程序就运行正常了。
sim900a_init()的程序是这样的:
void sim900a_init(void)
{
while(sim900a_send_cmd("AT","OK",100))//检测是否应答AT指令
{
LCD_ShowString(40,55,210,16,16,"can't find the divece");
delay_ms(800);
LCD_Fill(40,55,210,16,WHITE);
delay_ms(400);
}
LCD_ShowString(40,55,200,16,16,"connect success..");
if(sim900a_send_cmd("AT+CPIN?","OK",200))
LCD_ShowString(40,75,200,16,16,"123456");
else
LCD_ShowString(40,75,200,16,16,"SIM IS OK");
}
这个函数和原子给的例程差不多。就是改了下。
麻烦大家看下有没有解决办法,,谢啦。
|