CC2530读写内部FLASH的问题

2019-07-30 13:50发布

程序是参考网上的示例的,使用的是DMA方式, 感觉这个程序应该没什么问题,
首先我将数写入FLASH,写了24个数 程序如下:
for(i=0;i<23;i++)
  study_result[i]=i;
Flash_PageErase(3);
  WriteFlashDMA(study_result,24, 0X1900);
然后通过调用读FLASH的读出来 后用LCD显示 是正确的, 其间我还特意把 study_result[i]这个赋了别的值,但读出来的是写的内容,所以我确定这个是可以进行读写FLASH的
Read_Flash_To_Buf(0X9900,study_result, 24);


但是现在却出现了一个问题。 我把 写和擦除 注销后,只要读的功能 ,然后重新编译,按道理说读出来的FLASH应该还是上次写入的内容, 也就是  0,1,2 ,3 ,4 ,5 这样子,  但是通过LCD显示的 读出来的全部是I5 I5这个中乱码, 这个请问高手是什么问题? 按理说上次编译后这个值已经保存在FLASH中了, 就像51单片机 我就这么干过, 先写好值 到内部存储器中,然后删掉写操作, 下次直接去读的 一点问题都没有? 为什么CC2530 就不行呢?
for(i=0;i<23;i++)
  study_result[i]=i;
Flash_PageErase(3);
  WriteFlashDMA(study_result,24, 0X1900);
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
wzx1102k
2019-07-30 22:08
numenjian 发表于 2013-5-20 11:10
你编译器里面应该没设置下载程序是擦除Flash

谢谢,终于知道问题出在哪儿了,太感谢了,而且我也知道怎么改了,其实这次读没事,呵呵,因为下载过后以后再执行条件写就自动存了

一周热门 更多>