高级会员

- 积分
- 637
- 金钱
- 637
- 注册时间
- 2014-3-14
- 在线时间
- 95 小时
|
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
|