打印

C8051F020内的非易失性FLASH的读写问题

[复制链接]
3277|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zxq1234508|  楼主 | 2011-5-5 21:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有那位用过C8051F020内的非易失性FLASH?我现在按照参考程序做,但是读出来的数据总是有错误,有没有那位有这方面的程序,参考一下。谢谢!我的程序如下,麻烦有经验的朋友帮忙看看有些什么问题。数组wr[]是需要存储的数据,数组re[]是读出的数据。
void Flash_Read()
{
   uchar code *pread;
   uchar i;
   PSCTL=0x04;
   pread=0x00;
   for(i=0;i<8;i++)
   re[i]=*(pread++);
   FLSCL=0x00;
   PSCTL=0x00;
   nop();
}

void Flash_Write()
{
    uchar xdata *pwrite;
    uchar i;
    EA=0;
    FLSCL=0x01;
    PSCTL=0x07;//03
    pwrite=0x00;
    *pwrite=0x00;
    PSCTL=0x05;//01
    for(i=0;i<8;i++)
       {
           *(pwrite++)=wr[i];
       }
    FLSCL=0x00;
    PSCTL=0x00;
    EA=1;
}

相关帖子

沙发
ayb_ice| | 2011-5-6 08:28 | 只看该作者
多看手册自然就明白了

使用特权

评论回复
板凳
xjycug| | 2011-5-6 21:21 | 只看该作者
好像要先擦除128字节的内容,然后才能写啊

使用特权

评论回复
地板
zxq1234508|  楼主 | 2011-5-6 22:32 | 只看该作者
哎 现在是读出的数据有时正常有时不正常。十分的郁闷啊 官网上的样例程序试了一下 数据都似乎没有写进去。

使用特权

评论回复
5
ayb_ice| | 2011-5-7 08:23 | 只看该作者
还需要有个页擦除程序

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

486

帖子

0

粉丝