在线情况
楼主
  • 头像
  • 级别
    • 积分7
    • 经验726
    • 文章17
    • 注册2006-05-18
    有关Flash擦除问题已解决,注意选择好时钟源
    这一段程序本身没有问题,出现的问题在于选择MCLK作为输入源时,TIMEA也用MCLK作为输入源了,定时为6。25ms,所以对FLASH连续操作6.25ms时程序跑飞。后来改成TIMEA用ACLK作为输入源就OK了。
    以后大家一定注意选择好时钟输入源~!
    /***************************************************************************
    段擦除
    adr:要擦除的段内的任一地址
    ***************************************************************************/
    void FlashErase(Uint adr)
    {
    Uchar *p0;

    FCTL2=FWKEY+FSSEL_1+FN3+FN4;//选择MCLK作为输入源
    FCTL3=FWKEY;
    while(FlashBusy()==1)      //等待FLASH存储器完成操作
    ;
    FCTL1=FWKEY+ERASE;
    p0=(Uchar *)adr;
    *p0=0;                        //向段内地址任意写,启动擦除操作
    while(FlashBusy()==1)      //等待FLASH存储器完成操作
    ;
    FCTL1=FWKEY;
    FCTL3=FWKEY+LOCK;
    }
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
    • 门派
    • 职务总版主
    • 声望+9
    • 财富5
    • 积分3065
    • 经验390701
    • 文章6744
    • 注册2006-03-07
    谢谢Politician的经历之谈和实例。
    [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
    在线情况
    3
    • 头像
    • 级别
      • 积分7
      • 经验726
      • 文章17
      • 注册2006-05-18
      呵呵。。。。
      资源共享啊,这都是大家的帮忙下完成的。
      以后多多交流。
      微控网感谢您的参与
      在线情况
      4
      • 头像
      • 级别
        • 积分11
        • 经验1202
        • 文章52
        • 注册2006-04-07
        对FLASH 操作 的时候一般要关中断的 ,就是为了防止象你上面所说的情况!!
        [FLY]
        [COLOR=RED]清钟沁桐[/COLOR]

        [COLOR=BLUE][LIGHT]非常高兴能与大家一起交流,并非常感谢大家指点与帮助[/LIGHT][/COLOR]
        [/FLY]
        [IMGA]http://www.dabaoku.com/gif/173/gif004.gif[/IMGA][COLOR=RED]爱祖国[/COLOR]
        在线情况
        5
        • 头像
        • 级别
          • 积分5
          • 经验90
          • 文章12
          • 注册2006-07-02
          要关中断的
          微控网感谢您的参与
          在线情况
          6
          • 头像
          • 级别
          • 门派
          • 声望+3
          • 财富2
          • 积分6
          • 经验2093
          • 文章50
          • 注册2006-04-02
          1系列和以前的4系列,写FLASH和擦除超作需要关闭中断。2系列不用
          FLASH 操作的时钟不要超过500K,每个芯片的手册上有具体的数据
          微控网感谢您的参与
          在线情况
          7
          • 头像
          • 级别
            • 积分8
            • 经验1267
            • 文章19
            • 注册2006-07-22
            谢谢Politician提供宝贵的经验,不过要开中断,不然还是会跑飞
            微控网感谢您的参与
            在线情况
            8
            • 头像
            • 级别
              • 积分4
              • 经验603
              • 文章7
              • 注册2007-04-10
              到底是开还是关中断哦。好像不是很懂
              微控网感谢您的参与
              在线情况
              9
              • 头像
              • 级别
              • 门派
              • 职务总版主
              • 声望+9
              • 财富5
              • 积分3065
              • 经验390701
              • 文章6744
              • 注册2006-03-07
              当然是将所有中断关掉了,否则会中断对LFASH读写的操作。想都想到吧!操作FLASH是相当要小心的。
              [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
              在线情况
              10
              • 头像
              • 级别
                • 积分8
                • 经验3010
                • 文章60
                • 注册2007-08-10
                请问Politician,这一段程序,哪里设定了MCLK作为TIMEA的时钟源了呢,没有看出来呢!
                微控网感谢您的参与
                在线情况
                11
                • 头像
                • 级别
                  • 积分7
                  • 经验820
                  • 文章27
                  • 注册2007-11-04
                  问下
                  谁知道FLASH檫时间是多少
                  写时间是多少
                  微控网感谢您的参与
                  在线情况
                  12
                  • 头像
                  • 级别
                    • 积分7
                    • 经验667
                    • 文章53
                    • 注册2007-11-15
                    对flash擦写的时候不仅要关中断,还要关闭看门狗。Flash的操作频率是257K~476K之间。在msp430X1xx Family userguide 中有详细的说明。
                    yifan
                    Powered by LeadBBS 9.2 .
                    Page created in 0.2031 seconds with 5 queries.