打印

C8051F020 FLASH写入问题

[复制链接]
1553|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
void FlashWrite(void)  
{
        unsigned char xdata *pwrite;
        unsigned char i;
           EA =0;                              
                       
        PSCTL=0x07;
           FLSCL=0x01;                                                                     
        pwrite=0;
    *pwrite=0x00;                                                       
             
    PSCTL=0x05;                                                               
    for(i=0;i<16;i++)                                                       
        {
            *pwrite=SETTING[i];
                pwrite++;
        }

        PSCTL=0x00;
    FLSCL=0x00;                                                       

    EA =1;
}         

程序不看也没关系,就是在对PSCTL寄存器赋值=0x07时,单步后PSCTL没有=0x07,有时候=0x6a,有时候=0x6d...
而且FLASH读写函数之前用过是可以的,然后突然就不行了,估计也不是硬件问题,板子换过,求指点

相关帖子

沙发
电信小菜|  楼主 | 2013-8-16 10:53 | 只看该作者
补充:data=17.2,xdata=256,code=12823

使用特权

评论回复
板凳
电信小菜|  楼主 | 2013-8-16 11:28 | 只看该作者
问题解决了,但是不知道为什么。之前有改过一个优化等级,将8改为0,现在重新改回去就可以,这是为什么呢

无标题.png (58.34 KB )

无标题.png

使用特权

评论回复
地板
autopccopy| | 2013-8-16 12:55 | 只看该作者
可能是优化过度的问题吧。。。

使用特权

评论回复
5
电信小菜|  楼主 | 2013-8-16 13:19 | 只看该作者
autopccopy 发表于 2013-8-16 12:55
可能是优化过度的问题吧。。。

优化才能用,不优化才出问题的

使用特权

评论回复
6
电信小菜|  楼主 | 2013-8-21 17:15 | 只看该作者
http://www.ndiy.cn/thread-6041-1-1.html
有遇到优化等级问题的可参考下这个

使用特权

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

本版积分规则

53

主题

236

帖子

2

粉丝