新手入门
- 积分
- 16
- 金钱
- 16
- 注册时间
- 2018-8-9
- 在线时间
- 3 小时
|
[mw_shl_code=c,true]#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "key.h"
#include "usmart.h"
#include "malloc.h"
#include "MMC_SD.h"
#include "ff.h"
#include "exfuns.h"
#include "stmflash.h"
#include "iap.h"
#include "Bootloader.h"
int main(void)
{
u8 t=0,key;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
delay_init(); //延时函数初始化
uart_init(115200); //串口初始化为9600
exfuns_init(); //为fatfs相关变量申请内存
LCD_Init(); //初始化液晶
LED_Init(); //LED初始化
KEY_Init();
mem_init(); //初始化内存池
while(SD_Initialize()) //检测SD卡
{
LCD_ShowString(30,70,210,24,24," ");
delay_ms(200);
LCD_ShowString(30,70,210,24,24,"No SD Card,Please cheack!");
delay_ms(200);
LED0=!LED0;//DS0闪烁
}
POINT_COLOR=RED;//设置字体为红色
LCD_ShowString(30,40,210,24,24,"SD Card IAP!");
LCD_ShowString(30,70,210,24,24,"SD Card OK! ");
LCD_ShowString(30,100,200,16,16,"KEY_UP:FirmwareUpdate");
exfuns_init(); //为fatfs相关变量申请内存
f_mount(fs[0],"0:",1); //挂载SD卡
while(1)
{
key=KEY_Scan(0);
if(key==WKUP_PRES)
{
FirmwareUpdate();//升级程序
printf("固件升级完毕,开始跳转App程序执行!\r\n");
USART_Cmd(USART1, DISABLE); //失能串口1 ,防止跳转到App程序时死机
iap_load_app(FLASH_APP1_ADDR);//运行App代码
}
t++;
delay_ms(10);
if(t%20==0)
{
LED0=!LED0;
printf("请按下KEY_UP进行升级!\r\n");
}
}
}
|
|