OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2434|回复: 0

FLASH 模拟EEPROM不能读取,求解!!

[复制链接]

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2019-7-9
在线时间
25 小时
发表于 2019-8-14 22:46:17 | 显示全部楼层 |阅读模式
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"  
#include "stmflash.h"
#include "oled.h"

//要写入到STM32 FLASH的字符串数组
const u8 TEXT_Buffer[]={"STM32F103 "};
#define SIZEp sizeof(TEXT_Buffer)  //数组长度
#define FLASH_SAVE_ADDR  0X08070000  //设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)
int main(void)
{
  
u8 key;
u16 i=0;
u8 datatemp[SIZEp];
delay_init();       //延时函数初始化   
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
uart_init(115200);   //串口初始化为115200
  LED_Init();       //初始化与LED连接的硬件接口
KEY_Init();     //初始化按键
  OLED_Init();   
OLED_Clear();  //初始化LCD  
while(1)
{
  key=KEY_Scan(0);
  if(key==KEY1_PRES) //KEY1按下,写入STM32 FLASH
  {
   
    OLED_ShowString(0,0,"Start Write FLASH....");
   STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,SIZEp);
   OLED_ShowString(5,2,"FLASH Write Finished!");//提示传送完成
  }
  if(key==KEY0_PRES) //KEY0按下,读取字符串并显示
  {
   
   OLED_Clear();

   STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,SIZEp);
   OLED_ShowString(0,0,"The Data Readed Is:  ");//提示传送完成
   OLED_ShowString(5,2,datatemp);//显示读到的字符串
  }
  i++;
  delay_ms(10);  
  if(i==20)
  {
   LED0=!LED0;//提示系统正在运行
   i=0;
  }     
}
}

用的原子哥的例程,改成了OLED 显示,可以把数据写进去,OLED上可以显示“FLASH Write Finished!”,但是读数据的时候什么也不显示,把读取函数删了,OLED会有显示,希望大佬能帮忙解决,感激不尽

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 02:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表