superhcb 发表于 2025-1-7 16:40:39

EEPROM读取输出

EEPROM读出数据没问题,为什么组合起来就有问题了

wlhet 发表于 2025-1-7 17:47:48

怎么个组合法?

DebugLab 发表于 2025-1-7 17:51:51

#include <absacc.h>#define                IAP_TPS_        24                //等待参数
#define                IAP_OFFSET        0x2000        //EEPROM地址(8G1K08)void Iap_Idle(void)
{
        IAP_CONTR&=~IAPEN;
        IAP_CMD=IAP_IDL;
        IAP_TRIG=0x00;
        IAP_ADDRH=0x80;
        IAP_ADDRL=0x00;
}

unsigned char Iap_Read_Byte(unsigned char sector,unsigned int addr)
{
        return *(CBYTE+IAP_OFFSET+sector*0x0200+addr);
}

//unsigned char Iap_Read_Byte(unsigned char sector,unsigned int addr)
//{
//        unsigned char dat;
//        unsigned int add;
//        add=sector*0x0200+addr;
//        IAP_CONTR|=IAPEN;
//        IAP_TPS=IAP_TPS_;
//        IAP_CMD=IAP_READ;
//        IAP_ADDRL=add;
//        IAP_ADDRH=add>>8;
//        IAP_TRIG=0x5A;
//        IAP_TRIG=0xA5;
//        _nop_();
//        dat=IAP_DATA;
//        Iap_Idle();
//        return dat;
//}

void Iap_Program_Byte(unsigned char sector,unsigned int addr,unsigned char dat)
{
        unsigned int add;
        add=sector*0x0200+addr;
        IAP_CONTR|=IAPEN;
        IAP_TPS=IAP_TPS_;
        IAP_CMD=IAP_WRITE;
        IAP_ADDRL=add;
        IAP_ADDRH=add>>8;
        IAP_DATA=dat;
        IAP_TRIG=0x5A;
        IAP_TRIG=0xA5;
        _nop_();
        Iap_Idle();
}

void Iap_Erase_Sector(unsigned char sector)
{
        unsigned int add;
        add=sector*0x0200;
        IAP_CONTR|=IAPEN;
        IAP_TPS=IAP_TPS_;
        IAP_CMD=IAP_ERASE;
        IAP_ADDRL=add;
        IAP_ADDRH=add>>8;
        IAP_TRIG=0x5A;
        IAP_TRIG=0xA5;
        _nop_();
        Iap_Idle();
}

DebugLab 发表于 2025-1-7 17:55:41

https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=13499&pid=137540
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=13499&pid=137836

superhcb 发表于 2025-1-7 18:36:35

wlhet 发表于 2025-1-7 17:47
怎么个组合法?

你看clock_num

wgx0428 发表于 2025-3-18 16:47:23

请教你一个问题,我这有几个板子,用的stc12系列的单片机,但是每个板子烧录程序的hex文件都是同一个,区别是EEPROM里面的值不同,我想直到这里面的值该怎么分析。
页: [1]
查看完整版本: EEPROM读取输出