查看: 2879|回复: 4

[其他] 关于QG4 FLASH编程延时问题

[复制链接]

该用户从未签到

11

主题

42

帖子

0

新手上路

Rank: 1

积分
90
最后登录
1970-1-1
发表于 2010-8-27 09:49:03 | 显示全部楼层 |阅读模式
在对FLASH某地址进行写入一个数时,加了一个延时,我现在遇到点问题搞不明白,就是在操作完FCMD和FSTAT这两个寄存器之后的延时,如果我单用NOP来延时就可以将数据成功写进到指定地址的FLASH里面,但需要一百多个NOP才能写进去,如果我用FOR循环语句来做延时(足够长的延时)则无法将数据成功写入到FLASH里面,后来改用调用子函数的方式(子函数里面只有三十个NOP,调用四次,同样无法将数据写入到FLASH里面,这是为什么呢?
我的参数为:
总线时钟为4MHZ,
FDIV=0x13;
FSTAT=FSTAT|0x30;
(*((volatile unsigned char *)(0xffb0)))=write_value;
FCMD=0x20;
FSTAT|=0x80;
之后是延时(如果在这里用单纯NOP来作延时就可以成功写,用其他方式就无法成功地将数据写入到FLASH里面)
这是为什么呢
 
我知道答案 目前已有3人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-8-27 14:35:38 | 显示全部楼层

    RE:关于QG4 FLASH编程延时问题

    如果用FOR循环,可能是编译器给优化了。
    该会员没有填写今日想说内容.

    该用户从未签到

    11

    主题

    42

    帖子

    0

    新手上路

    Rank: 1

    积分
    90
    最后登录
    1970-1-1
     楼主| 发表于 2010-8-27 15:27:52 | 显示全部楼层

    RE:关于QG4 FLASH编程延时问题

    但我看过编译后的汇编代码,并没有发现被优化啊,而且我用调用子函数的方式编译器也没有作出优化,我试过单步执行观察它的汇编代码,发现程序是正常运行的,并没有出现什么问题
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-8-27 16:02:09 | 显示全部楼层

    RE:关于QG4 FLASH编程延时问题

    还有,在FLASH操作时,要关闭中断。你关闭了没有。
    该会员没有填写今日想说内容.

    该用户从未签到

    11

    主题

    42

    帖子

    0

    新手上路

    Rank: 1

    积分
    90
    最后登录
    1970-1-1
     楼主| 发表于 2010-8-30 15:52:40 | 显示全部楼层

    回复:关于QG4 FLASH编程延时问题

    我试过关闭中断,结果还是一样,而且我调试时发现如果用FOR循环,当程序停下来后停止的位置并不是在这个FOR循环里面,而是停在了另外一个循环里面,我在程序里只用到SCI和MTIM两个中断源,这时我把这两个中断源都关闭了,而且还把总中断使能开关关闭了,但结果就是不行
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 20:35 , Processed in 0.119496 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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