<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > R8C/1B單片機(jī)的Flash編程/擦除掛起功能

          R8C/1B單片機(jī)的Flash編程/擦除掛起功能

          作者: 時(shí)間:2009-08-07 來(lái)源:電子產(chǎn)品世界 收藏
          圖4EW1模式的擦除掛起設(shè)定

            在EW1模式下執(zhí)行擦除指令進(jìn)行擦除時(shí)(典型值為200ms/1K字節(jié)塊),CPU雖處于HOLD狀態(tài),但可以接受中斷響應(yīng),實(shí)現(xiàn)分時(shí)擦除。利用這個(gè)工作原理,下面給出一個(gè)/1B單片機(jī)的應(yīng)用實(shí)例,利用Timer(定時(shí)器)中斷和擦除掛起功能實(shí)現(xiàn)對(duì)擦除時(shí)間的估算。

          本文引用地址:http://www.ex-cimer.com/article/96982.htm

            使用TimerX定時(shí)1ms,擦除過(guò)程中每1ms掛起一次,進(jìn)入中斷處理程序并調(diào)整計(jì)時(shí)變量g_Timers。在擦除結(jié)束后,g_Timers所存儲(chǔ)的就是擦除時(shí)間的估算值。

            例程如下。

            #include "sfr_r81b.h"

            unsigned int g_Timers;//總擦除時(shí)間計(jì)數(shù)變量

            /* 定時(shí)器X中斷處理函數(shù) */

            #pragma interrupt timerX_ISR

            void timerX_ISR(){

            g_Timers++;

            }

            /* 檢查DataFlash狀態(tài)寄存器 */

            unsigned char checkStatusRegister(){

            return fmr07|fmr06;

            }

            /* 清除DataFlash狀態(tài)寄存器 */

            void clearStatusRegister(){

            *((unsigned char *)0x2400) = 0x50;//執(zhí)行清除狀態(tài)寄存器軟件命令

            }

            /* 塊擦除 */

            unsigned char eraseBlock(unsigned int adr){

            unsigned char result="1";

            asm("FCLR I");//關(guān)中斷

            fmr01 = 0;

            fmr01 = 1;//進(jìn)入CPU改寫(xiě)模式

            fmr11 = 0;

            fmr11 = 1;//設(shè)置為EW1模式&nb



          關(guān)鍵詞: 瑞薩 R8C Flash

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();