OpenEdv-开源电子网

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

FLASH读取出来的字符是1,不能写入数据。。。大神帮看一下,在线等谢谢。

[复制链接]

92

主题

202

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2014-3-14
在线时间
95 小时
发表于 2014-10-17 15:51:19 | 显示全部楼层 |阅读模式
5金钱

    1.把ma_flash里面放的是字符0-10,写入flash中保存。然后在读出来,再通过串口打印出来。
           addr_ma_star_tem=addr_ma_star;//0X08070000
           for(xj=0;xj<11;xj++)
          {
                  FlashWriteByte(addr_ma_star,ma_flash[xj]);
                addr_ma_star_tem+=2;
           }

     2.然后把刚保存的字符读一下,并保存到ma_flash[]中。
         addr_ma_star_tem=addr_ma_star;//0X08070000
          for(xj=0;xj<11;xj++)
          {
              ma_flash[xj] = FlashReadByte(addr_ma_star);
              addr_ma_star_tem+=2;
          }
    3.读完后,把字符打印出来,检验flash的写入是否成功
        for(xj=0;xj<11;xj++)
       {
          printf("%c",ma_flash[xj]);
       }

问题出来啦,我打印出来的全部是11111111111.说明FLASH保存失败......我注释掉第1步,去掉把ma_flash[]字符写入flash的操作。直接执行读取,然后打印。仍然是全部11111111111说明,第一步写入FLASH没起作用。。。那两个擦除写入函数是根据原子哥的改过来的,以前做过实验,绝对没有问题。。。大神帮看一下是什么问题,写入不进数据,读出来的字符都是1。

最佳答案

查看完整内容[请看2#楼]

自己解决了。谢谢。。刚才打了一遍,发现FlashReadByte(addr_ma_star)里面应该是addr_ma_star_tem
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

92

主题

202

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2014-3-14
在线时间
95 小时
 楼主| 发表于 2014-10-17 15:51:20 | 显示全部楼层
自己解决了。谢谢。。刚才打了一遍,发现FlashReadByte(addr_ma_star)里面应该是addr_ma_star_tem
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 06:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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