亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? S08系列單片機AW32的Flash擦寫程序
?? C
字號:
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */

byte a,n_Write=0x44,n_Erase=0x41; //擦除與寫入子函數的長度
int i,j;
volatile byte flash @0x00009100;//定義flash擦除的位置
void FlashWrite(byte i_write);
void FlashErase(void);
void Delay_ms(int Time); //延遲函數,延遲Time毫秒
void Delay_us(int Time); //延遲函數,延遲Time微秒

//*****  Flash擦寫地址的其他定義方式
//byte *flash;//用指針定義,靈活性好
//#define flash  (*(volatile byte*)(0xa000))
//byte flash @0x0000a000;
/*
typedef union {
  byte Byte;
  struct {
    byte flash0       :1;                                       
    byte flash1       :1;                                      
    byte flash2       :1;                                     
    byte flash3       :1;                                    
    byte flash4       :1;                                      
    byte flash5       :1;                                   
    byte flash6       :1;                                     
    byte flash7       :1;                                     
  } Bits;
} FLASH;
extern volatile FLASH _flash @0x0000a000;
#define flash         _flash.Byte
*/


 

byte (*pointE_fun)(),(*pointE_fun_temp)(),(*pointW_fun)(),(*pointW_fun_temp)();//函數指針
byte *pointE_add,*pointE_add_temp,*pointW_add,*pointW_add_temp;//將Flash中程序移動到Ram中
void main(void) {
  
  //word i,N=200;
   
  /* MCU_init(); */
  SOPT = 0x53;                                      
  /* SPMSC1: LVDF=0,LVDACK=0,LVDIE=0,LVDRE=1,LVDSE=1,LVDE=1 */
  SPMSC1 = 0x1C;                                      
  /* SPMSC2: LVWF=0,LVWACK=0,LVDV=0,LVWV=0,PPDF=0,PPDACK=0,PDC=0,PPDC=0 */
  SPMSC2 = 0x00;                                      
  /* ICGC1: RANGE=1,REFS=0,CLKS1=0,CLKS0=0,OSCSTEN=1 */
  ICGC1 = 0x44;                                      
  /* ICGC2: LOLRE=0,MFD2=0,MFD1=0,MFD0=0,LOCRE=0,RFD2=0,RFD1=0,RFD0=0 */
  ICGC2 = 0x00;                                      
  /* Common initialization of the write once registers */
  SRS = 0xFF;                          /* Clear WatchDog counter */

  SOPT = 0x00;
  DisableInterrupts;
  /* include your code here */
  PTADD=0xFF;	 /*A口方向寄存器,設置PTA為輸出*/
  PTAD=0x00;
  Delay_ms(100);
  
  /*與FLASH相關的寄存器
  FCDIV;
  FOPT;
  NVOPT;
  FCNFG;
  FSTAT;
  FCMD;//0x05空白檢測,0x20寫一個字節,0x25寫一個字節批量模式,0x40頁擦除,0x41整體擦除
  */
  //flash=(byte*)0xa000; //定義擦寫的flash地址
  PTBDD=0x00;  /*B口方向寄存器,設置PTB為輸入,AD信號輸入*/
  AD1CFG=0x00;//8位AD采集,使用系統時鐘
  
  //PTAD=flash;
  Delay_ms(500);
  AD1SC2=0x00;
  APCTL1=0x00; //AD0-7作為模擬信號輸入
  AD1SC1=0x21; //AD中斷禁止,從通道1采集,連續采集
  PTAD=flash;  //讀取Flash地址的值,并賦給發光二極管便于觀察結果
  Delay_ms(500);
  PTAD=0x00;//所有燈滅,然后等待寫入Flash地址新的值便于對比  
   
  while(AD1SC1_COCO==0){
  ;}//查詢AD轉換標志位,沒有則等待

   a=AD1RL;//將AD采來的值賦給a
  
   
   
  // a=100;//仿真
   //Delay_us(100);
   pointE_fun=FlashErase;
   pointE_add=pointE_fun;
   pointE_add_temp=(byte*)0x0200;
   pointE_fun_temp=pointE_add_temp;  
   for(i=0;i<=n_Erase;i++)           //此處n_Erase的具體值得看后面的FlashErase子程序占有的程序空間
   {
    *(pointE_add_temp+i)=*(pointE_add+i);
   }//Flash中的程序復制到RAM中
   FCDIV = 0x13;
   (*pointE_fun_temp)();//在RAM中運行擦除子程序
   Delay_ms(200); 
   
   ///****  試圖用匯編寫復制程序到RAM中,后放棄
   //asm{
   //LDHX #flash
   //};
   //asm("jsr,X");
   //FCDIV = 0x13;
   //flash=(byte*)0xa000;
   //FlashErase();
   //asm{
   //LDHX #_FlashErase 
   // STHX a
   //}
            
  
  Delay_ms(200);
  pointW_fun=FlashWrite;
   pointW_add=pointW_fun;
   pointW_add_temp=(byte*)0x0250;
   pointW_fun_temp=pointW_add_temp;  
   for(i=0;i<=n_Write;i++)//此處n_Write的具體值得看后面的FlashWrite子程序占有的程序空間
   {
    *(pointW_add_temp+i)=*(pointW_add+i);
   }//Flash中的程序復制到RAM中   
   (*pointW_fun_temp)(a);//在RAM中運行寫入子程序
   
   Delay_ms(200);  
   for(;;) {
    while(AD1SC1_COCO==0){
      ;
    }
    a=AD1RL;
   PTAD=a;
   __RESET_WATCHDOG(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave this function */
}

//                    延遲函數,延遲Time毫秒或微秒
//********************************************************************
void Delay_ms(int Time) //延遲函數,延遲Time毫秒
{

  int i_Delay_ms,j_Delay_ms;
  for(i_Delay_ms=0;i_Delay_ms<Time;i_Delay_ms++)  {
    for(j_Delay_ms=0;j_Delay_ms<1000;j_Delay_ms++) {
       ;  
    }
  }
}//end
//memcpy


void Delay_us(int Time) //延遲函數,延遲Time微秒
{
 int i_Delay_us;
 for(i_Delay_us=0;i_Delay_us<Time;i_Delay_us++){
  ;
 }
}//end
////********************************************************************

////             flash寫入程序,向特定地址寫入一個數  
////********************************************************************
void FlashWrite(byte i_write) { //flash寫入

  //NVPROT_FPDIS=1;  //flash不進行保護
  while(FSTAT_FACCERR==1){  //清錯誤標志確保擦寫操作可以進行
    FSTAT_FACCERR=0;         
    //while(FCDIV_DIVLD==0){
    //  FCDIV = 0x13;
    //}
  }
  //flash=i_white;   
  //FCNFG_KEYACC=0; 
  
  while(FSTAT_FCBEF==0){
    ;
  }//檢查flash命令緩沖區空標志,等待直到可以接受新的命令
  
  flash=i_write;//向Flash地址寫入數據
  
  FCMD=0x20;//寫入命令字
      
  //FCMD=0x20;
  FSTAT_FCBEF=1;
  
  if(FSTAT_FPVIOL==1||FSTAT_FACCERR==1)  { //異常情況處理
    PTAD=0x00;
    Delay_ms(2000);
  } 
  while(FSTAT_FCCF==0){
    //PTAD=0x80;
  } //寫入成功,結束
  
}

////********************************************************************


////             flash擦除程序,擦除特定地址的數據  
////********************************************************************
void FlashErase(){  //flash擦除
  //NVPROT_FPDIS=1;  //flash不進行保護
  while(FSTAT_FACCERR==1){  //清錯誤標志確保擦寫操作可以進行
    FSTAT_FACCERR=0;         
    //while(FCDIV_DIVLD==0){
    //  FCDIV = 0x13;
    //}
  }
  //flash=0x00;   
  //FCNFG_KEYACC=0; 
  while(FSTAT_FCBEF==0){
    ;
  }//檢查flash命令緩沖區空標志,等待直到可以接受新的命令
  
  flash=0x00;//向Flash地址寫入數據
  FCMD=0x40; //寫入命令字
      
  //FCMD=0x40;
  FSTAT_FCBEF=1;
  
  if(FSTAT_FPVIOL==1||FSTAT_FACCERR==1)  { //異常情況處理
    PTAD=0x00;
    Delay_ms(2000);
  } 
  while(FSTAT_FCCF==0){
    //PTAD=0x80;
  } //擦除成功,結束  
}

////********************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级一区在线视频先锋 | 色悠悠亚洲一区二区| 九色综合狠狠综合久久| 日本不卡123| 国内一区二区在线| 国产a视频精品免费观看| 国产成人在线电影| 成人精品gif动图一区| 成人免费黄色在线| 色综合 综合色| 欧美日韩一区久久| 久久精品一区二区三区不卡| 国产美女主播视频一区| 婷婷成人激情在线网| 亚洲动漫第一页| 日韩一区精品字幕| 久久99精品视频| 国产激情一区二区三区| 91女人视频在线观看| 欧美系列亚洲系列| 精品电影一区二区三区| 欧美激情一区二区在线| 一区二区三区在线影院| 日韩**一区毛片| 豆国产96在线|亚洲| 欧美亚洲丝袜传媒另类| 欧美xxxx在线观看| 亚洲少妇30p| 麻豆国产精品777777在线| 国产99久久久国产精品免费看| 99精品桃花视频在线观看| 欧美无乱码久久久免费午夜一区| 精品国产一区二区三区不卡| 亚洲免费观看视频| 国内精品伊人久久久久影院对白| 色综合久久综合| 精品久久99ma| 亚洲自拍欧美精品| 国产激情精品久久久第一区二区| 欧美色老头old∨ideo| 中文av一区特黄| 日本vs亚洲vs韩国一区三区 | 国产精品538一区二区在线| 91国偷自产一区二区使用方法| 日韩欧美一区二区不卡| 亚洲色图欧美激情| 国产v综合v亚洲欧| 日韩欧美国产三级电影视频| 亚洲另类色综合网站| 国产成人av电影免费在线观看| 欧美揉bbbbb揉bbbbb| 国产精品国产成人国产三级| 久久99精品国产91久久来源| 欧美丰满嫩嫩电影| 亚洲精品国产一区二区精华液 | 亚洲青青青在线视频| 国产在线视频一区二区| 制服丝袜中文字幕亚洲| 一区二区免费视频| eeuss鲁片一区二区三区 | 色欧美乱欧美15图片| 久久九九久久九九| 国产一区三区三区| 精品精品欲导航| 麻豆91免费看| 日韩一区二区电影| 青青青爽久久午夜综合久久午夜 | 日韩av网站在线观看| 欧美中文字幕亚洲一区二区va在线| 国产日韩在线不卡| 国产一区二区三区国产| 亚洲精品在线免费观看视频| 日本人妖一区二区| 制服丝袜中文字幕亚洲| 日韩精品一级中文字幕精品视频免费观看 | 色88888久久久久久影院野外| 国产精品久久久久一区二区三区 | 日韩经典一区二区| 欧美日韩精品免费观看视频| 亚洲国产综合在线| 在线不卡免费欧美| 久久激情五月婷婷| 中文字幕国产一区二区| 成人h动漫精品一区二区| 亚洲色图制服诱惑| 欧美日韩亚洲综合一区| 精品一区二区成人精品| 国产亚洲va综合人人澡精品| caoporm超碰国产精品| 亚洲一二三区在线观看| 日韩三级视频在线观看| 国产一区二区精品久久| 国产精品久99| 欧美福利视频导航| 国产精品资源网| 自拍偷自拍亚洲精品播放| 91国偷自产一区二区开放时间| 亚洲成在人线免费| 久久久久久久久久久久久女国产乱 | 福利一区在线观看| 一区二区不卡在线播放| 日韩一区二区三区四区五区六区| 国产一区二区在线观看免费| 亚洲色欲色欲www| 日韩欧美色综合| 色综合久久中文字幕综合网| 日本伊人色综合网| 欧美国产日产图区| 欧美一区二区三区精品| 国产精品一区二区久久不卡| 亚洲卡通动漫在线| 久久人人爽爽爽人久久久| 91福利国产精品| 国产精品一区免费视频| 一区二区三区丝袜| 久久久久国产精品厨房| 欧美一区二区三区婷婷月色 | 欧美视频一区二区在线观看| 久久se精品一区精品二区| 一区二区三区精密机械公司| 欧美mv日韩mv国产网站| 欧美在线观看一区二区| 国产成人鲁色资源国产91色综| 五月婷婷久久综合| 亚洲精品ww久久久久久p站| www国产成人免费观看视频 深夜成人网| 99久久久无码国产精品| 国产成人在线网站| 日本不卡123| 亚洲成人精品一区二区| 一区二区三区在线观看网站| 欧美激情一区不卡| 精品成人免费观看| 欧美一三区三区四区免费在线看| 99视频在线观看一区三区| 国产69精品久久99不卡| 国内精品伊人久久久久av影院 | 3atv一区二区三区| 91久久精品午夜一区二区| 成人av影视在线观看| 美国十次综合导航| 免费黄网站欧美| 日韩av高清在线观看| 午夜精品久久久久久久 | 国产乱码字幕精品高清av| 秋霞电影一区二区| 免费观看30秒视频久久| 免费在线视频一区| 久久99精品久久久久久久久久久久| 日韩中文字幕91| 免费av成人在线| 蜜桃精品在线观看| 久久不见久久见免费视频1| 久久精品国产久精国产| 久久99久久久欧美国产| 国产一区免费电影| 国产成人综合亚洲网站| 国产91在线看| 99久久免费国产| 欧美性淫爽ww久久久久无| 91精品一区二区三区久久久久久| 日韩视频在线你懂得| 日韩女优av电影在线观看| 久久久午夜精品理论片中文字幕| 久久精品亚洲精品国产欧美kt∨ | 成人久久18免费网站麻豆 | 日韩欧美资源站| 久久久91精品国产一区二区精品| 欧美韩国日本一区| 一区二区视频在线看| 三级久久三级久久久| 国产一区二区三区在线观看精品 | 一区视频在线播放| 亚洲国产欧美一区二区三区丁香婷| 视频一区视频二区中文| 国内精品视频一区二区三区八戒| 暴力调教一区二区三区| 欧美日韩亚洲综合一区| 久久久亚洲精品石原莉奈| 亚洲欧美日韩电影| 日本va欧美va瓶| 91小视频免费看| 欧美一区二区黄色| 国产精品超碰97尤物18| 日韩国产一区二| 91在线国产观看| 91精品国产综合久久国产大片 | 日韩午夜精品视频| 国产日韩精品一区| 日韩二区三区在线观看| a4yy欧美一区二区三区| 欧美一区二区黄| 亚洲精品水蜜桃| 国产九九视频一区二区三区| 欧美亚洲图片小说| 中文字幕在线一区| 激情欧美一区二区三区在线观看| 一本久久a久久精品亚洲| 久久奇米777| 麻豆久久久久久久|