当前位置:网站首页>STC8A8K64D4 EEPROM读写失败

STC8A8K64D4 EEPROM读写失败

2022-06-11 01:26:00 ytech_cn

项目场景:

STC8A8K64D4制作led条屏,上位机下发数据,单片机划分32keeprom空间存储点阵数据


问题描述

上位机提示下发数据正常,单片机无法保存点阵数据,测试eeprom写入失败

void IapProgram(int addr, char dat)
{
    IAP_CONTR = WT_12M;                         //使能IAP
    IAP_CMD = 2;                                //设置IAP写命令
    IAP_ADDRL = addr;                           //设置IAP低地址
    IAP_ADDRH = addr >> 8;                      //设置IAP高地址
    IAP_DATA = dat;                             //写IAP数据
    IAP_TRIG = 0x5a;                            //写触发命令(0x5a)
    IAP_TRIG = 0xa5;                            //写触发命令(0xa5)
    _nop_();
    IapIdle();                                  //关闭IAP功能
}

使用stcisp例程测试,写入失败


原因分析:

STC8A8K64D4,注意尾缀为D4(尾缀S4已停产,这次自己也是中途换的D4芯片),此型号使用时寄存器操作类似STC8H系列,而不是STC8A,使用中增加了一个寄存器IAP_TPS来设置等待参数。


解决方案:

IAP_TPS = 12;                               //设置等待参数12MHz

在读写函数中增加该寄存器操作,eeprom可正常读写

注:stc新型号更新太快,建议关注厂家资料,非必要不必使用型号太新的单片机。

原网站

版权声明
本文为[ytech_cn]所创,转载请带上原文链接,感谢
https://blog.csdn.net/shuiyue51/article/details/125155709