初级会员

- 积分
- 55
- 金钱
- 55
- 注册时间
- 2018-9-16
- 在线时间
- 16 小时
|
1金钱
//在程序中修改const u8 TEXT_Buffer[] __attribute__((at(FLASH_SAVE_ADDR))) 重新上电后LED闪烁周期变长。求原因
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "stmflash.h"
#define FLASH_SAVE_ADDR 0x8032000
const u8 TEXT_Buffer[] __attribute__((at(FLASH_SAVE_ADDR))) ={"STM32F103 FLASH TEST"};
const u8 TEXT_Buffer1[] ={"STM32F103 FLASH read"};
#define SIZE sizeof(TEXT_Buffer) //数组长度
#define SIZE1 sizeof(TEXT_Buffer1) //数组长度
int main(void)
{
u8 key;
u16 i=0;
u8 datatemp[SIZE];
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
LED_Init();
KEY_Init(); //初始化按键
while(1)
{
key=KEY_Scan(0);
if(key==KEY1_PRES) //KEY1按下,写入STM32 FLASH
{
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer1,SIZE);
}
if(key==KEY0_PRES) //KEY0按下,读取字符串并显示
{
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,SIZE);
}
i++;
delay_ms(10);
if(i==20)
{
LED0=!LED0;//提示系统正在运行
i=0;
}
}
}
|
|