回覆列表
  • 1 # 半夏半心北島素兮

    /*

    ***************************************************************************************************

    函式名:EE_readbyte

    功能:片內EEPROM讀1位元組

    說明:Read_AddrH:待寫入的高地址;Read_Addr:待寫入的低地址

    函式執行完返回一個存放在該地址處的值

    ***************************************************************************************************

    */

    ucharEE_ReadByte(ucharRead_AddrH,ucharRead_Addr)

    {

    EEADRH=Read_AddrH;//寫入高地址

    EEADR=Read_Addr;//寫入低地址

    EECON1bits.EEPGD=0;//訪問EEPROM儲存區

    EECON1bits.CFGS=0;//訪問EEPROM或程式區

    EECON1bits.RD=1;

    returnEEDATA;

    }

    /*

    ***************************************************************************************************

    函式名:EE_writebyte

    功能:片內EEPROM寫1位元組

    說明:Write_AddrH:待寫入的高位地址;Write_Addr:待寫入的低位地址;Write_Byte:待寫入的位元組

    ***************************************************************************************************

    */

    voidEE_WriteByte(ucharWrite_AddrH,ucharWrite_Addr,ucharWrite_Byte)

    {

    ClrWdt();//餵狗

    while(EECON1bits.WR);

    EEADRH=Write_AddrH;//寫入高地址

    EEADR=Write_Addr;//寫入低地址

    EEDATA=Write_Byte;//寫入資料

    EECON1bits.EEPGD=0;//訪問EEPROM儲存區

    EECON1bits.CFGS=0;//訪問EEPROM或程式區

    EECON1bits.WREN=1;//充許擦寫

    INTCONbits.GIE=0;//禁止所有中斷

    EECON2=0x55;//寫入金鑰

    EECON2=0xaa;

    EECON1bits.WR=1;//開始寫操作

    Nop();

    Nop();

    INTCONbits.GIE=1;//開中斷

    EECON1bits.WREN=0;//禁止擦寫

    while(EECON1bits.WR)//等待寫完成

    {

    ;

    }

    }

    /*

    ***************************************************************************************************

    函式名:EE_WriteArray

    功能:寫入陣列資料到EEPROM

    說明:AddrH:EEPROM起始地址高位元組,Addr:EEPROM起始地址低位元組

    WriteByte[]:待儲存的資料存放陣列

    LenArray:待儲存的陣列長度

    舉例:存放地址0x0020---0x0029;存放資料array[10]

    ***************************************************************************************************

    */

    voidEE_WriteArray(ucharAddrH,ucharAddr,ucharWriteArray[],ucharLenArray)

    {

    uchartempH,tempL,tempByte;

    uinti=0;

    tempH=AddrH;

    tempL=Addr;

    for(i=0;i

  • 中秋節和大豐收的關聯?
  • 杜甫最早的詩是什麼?