OpenEdv-开源电子网

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

求助 使用按键往flash里面存数据 为什么写不进去

[复制链接]

1

主题

6

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-7-19
在线时间
13 小时
发表于 2016-9-8 09:50:51 | 显示全部楼层 |阅读模式
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "key.h"
#include "lcd.h"
#include "stmflash.h"   
//ALIENTEK Mini STM32开发板范例代码26
//FLASH模拟EEPROM实验  
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司

//要写入到STM32 FLASH的字符串数组
const float TEXT_Buffer[]={0,1,2,3,4,5,6,7,8};
//#define SIZE sizeof(TEXT_Buffer)                 //数组长度
#define FLASH_SAVE_ADDR  0X08020000         //设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)
  unsigned char minutes1=0;

//  unsigned char SIZE=0;
int main(void)
{
        u8 key;
        u16 i=0;
        u8 datatemp[100 ];
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
        delay_init();                     //延时函数初始化          
        uart_init(9600);                 //串口初始化为9600
        LED_Init();                                  //初始化与LED连接的硬件接口
        LCD_Init();                                   //初始化LCD
        KEY_Init();                                //按键初始化        
        POINT_COLOR=RED;//设置字体为红色
        LCD_ShowString(60,50,200,16,16,"Mini STM32");       
        LCD_ShowString(60,70,200,16,16,"FLASH EEPROM TEST");       
        LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
        LCD_ShowString(60,110,200,16,16,"2014/3/12");  
        LCD_ShowString(60,130,200,16,16,"WK_UP:Write KEY0:Read");
        POINT_COLOR=BLUE;
        //显示提示信息
        POINT_COLOR=BLUE;//设置字体为蓝色          
        while(1)
        {
                key=KEY_Scan(1);
                if(key==WKUP_PRES)//WK_UP按下,写入STM32 FLASH
                { minutes1++;
                        if(minutes1>10)
                        {minutes1=0;}
                        LCD_Fill(0,150,239,319,WHITE);//清除半屏   
                        Test_Write(FLASH_SAVE_ADDR,TEXT_Buffer[minutes1]) ;
                }
                if(key==KEY0_PRES)//KEY0按下,读取字符串并显示
                {
                        STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,16);
                        LCD_ShowString(60,170,200,16,16,"The Data Readed Is:  ");//提示传送完成
                        LCD_ShowString(60,190,200,16,16,datatemp);//显示读到的字符串
                }
                i++;
                delay_ms(10);  
                if(i==20)
                {
                        LED0=!LED0;//提示系统正在运行       
                        i=0;
                }                  
        }             
}

V`1T])9YK})[X4BIFHKL758.png
V`1T])9YK})[X4BIFHKL758.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-7-19
在线时间
13 小时
 楼主| 发表于 2016-9-8 11:46:04 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-7-19
在线时间
13 小时
 楼主| 发表于 2016-9-8 11:46:26 | 显示全部楼层
急用 希望得到帮助
回复 支持 反对

使用道具 举报

74

主题

334

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-5-28
在线时间
144 小时
发表于 2016-9-8 22:25:39 | 显示全部楼层
没看到在哪里写啊
最近爱上了stm32
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-7-19
在线时间
13 小时
 楼主| 发表于 2016-9-8 22:43:18 | 显示全部楼层

中午找到原因了 谢谢你
回复 支持 反对

使用道具 举报

17

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-13
在线时间
134 小时
发表于 2017-5-25 16:48:12 | 显示全部楼层
王东 发表于 2016-9-8 22:43
中午找到原因了 谢谢你

你好,我也遇到flash里写不进去数据的问题,请问你怎么解决的?
逻辑和语言都很重要~~~
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-20 20:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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