中级会员
 
- 积分
- 374
- 金钱
- 374
- 注册时间
- 2016-4-4
- 在线时间
- 54 小时
|
1金钱
引用原子哥的代码stmflash.c 和stm32flash.h 程序如下
程序一:
#include "stm32f10x.h"
#include "usart.h"
#include "stmflash.h"
const u8 TEXT_Buffer[]={"I like MCU"};
#define SIZE sizeof(TEXT_Buffer) //数组长度
#define FLASH_SAVE_ADDR 0X08070000 //设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)
int main(void)
{
u8 datatemp[SIZE];
USART1_Configuration(115200);
printf("Uart1 is OK!!!\r\n");
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,SIZE );
printf("FLASH Write Finished!\r\n");
printf("存入数据为:%s \r\n",TEXT_Buffer);
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,SIZE );
printf("\r\n 读取数据为: %s \r\n",datatemp);
while(1);
}
程序一运行结果:
Uart1 is OK!!!
FLASH Write Finished!
存入数据为:I like MCU
读取数据为: I like MCU
程序二
#include "stm32f10x.h"
#include "usart.h"
#include "stmflash.h"
const u8 TEXT_Buffer[]={"I like MCU"};
#define SIZE sizeof(TEXT_Buffer) //数组长度
#define FLASH_SAVE_ADDR 0X08070000 //设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)
int main(void)
{
u8 datatemp[SIZE];
USART1_Configuration(115200);
printf(" Uart1 is OK!!!\r\n");
// STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,SIZE);
// printf("FLASH Write Finished!\r\n");
// printf("存入数据为:%s \r\n",TEXT_Buffer);
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,SIZE);
printf("\r\n 读取数据为: %s \r\n",datatemp);
while(1);
}
程序二运行结果
Uart1 is OK!!!
读取数据为: |
|