新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > R8C/1B單片機的Flash編程/擦除掛起功能

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

        作者: 時間:2009-08-07 來源:電子產品世界 收藏

          sp;

        本文引用地址:http://www.104case.com/article/96982.htm

          fmr40 = 0;

          fmr40 = 1;//允許中斷擦除掛起

          asm("FSET I");//開中斷

          g_Timers = 0;//計數值清零

          prex=0x32-1;tx=0x32-1;//定時值1ms

          txs=1;//定時器X開始計數

          *((unsigned char *)adr) = 0x20;//執行塊擦除軟件命令

          *((unsigned char *)adr) = 0xD0;

          while(fmr00 != 1){//判斷擦除是否結束

          fmr41 = 0;//中斷返回后繼續擦除

          }

          txs=0;//定時器X停止計數

          fmr01 = 0;//退出CPU改寫模式

          if(!checkStatusRegister()){//查看狀態寄存器

          result = 0;//擦除成功

          }

          else //擦除失敗

          clearStatusRegister();//清除狀態寄存器

          return result;

          }

          /* 對MCU進行初始化 */

          void initMCU(){

          unsigned char i="0";

          asm("FCLR I");//關中斷

          //將CPU時鐘切換為主時鐘20MHz

          prcr = 1;//解除對cm0,cm1,ocd寄存器的寫保護

          cm13 = 1;//接通 Xin-Xout

          cm15 = 1;//Xin-Xout驅動能力:高

          cm05 = 0;//Xin-Xout啟動

          cm16 = 0;//無分頻模式

          cm17 = 0;

          cm06 = 0;//使CM16,CM17有效

          while(1){//等待主時鐘振蕩穩定

          if(!ocd3){

          if(i>=10) break;

          else ++i;

          }

          }

          ocd2 = 0;//選擇主時鐘

          prcr = 0;//設定對cm0,cm1,ocd寄存器的寫保護

          //設置定時器

          txmr=0x00;//定時器X設為定時器模式

          tcss=0x11;//選擇計數源為f8

          txic=0x07;//定時器X中斷優先級為7

          asm("FSET I");//開中斷

          }

          /* 主函數 */

          void main(void)

          {

          unsigned char flag;

          initMCU();//對MCU進行初始化

          flag = eraseBlock(0x2400);//擦除大小為1kB的塊A,塊首地址為2400H

          while (1);

          }



        關鍵詞: 瑞薩 R8C Flash

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 科技| 新龙县| 论坛| 江都市| 罗江县| 杭锦后旗| 天祝| 文成县| 桐柏县| 水城县| 伊宁县| 潜江市| 武山县| 肇州县| 永顺县| 九龙坡区| 朝阳区| 枣强县| 景德镇市| 陇西县| 延安市| 沁阳市| 淮滨县| 石楼县| 仪陇县| 清远市| 寿阳县| 邯郸市| 广州市| 滨海县| 桐梓县| 宜兴市| 全州县| 安顺市| 华亭县| 扎囊县| 体育| 金乡县| 辉县市| 天全县| 平南县|