STM8S 内置EEPROM,对于很大需要带记忆的产品来说,是个很好的资源,以下是我个人摸索出来的,并且验证OK,大家如需要可放心使用。
#define EEPROMADDR0X000 ((u32)(FLASH_DATA_START_PHYSICAL_ADDRESS))
#define EEPROMADDR0X001 ((u32)(FLASH_DATA_START_PHYSICAL_ADDRESS+1))
#define EEPROMADDR0X002 ((u32)(FLASH_DATA_START_PHYSICAL_ADDRESS+2))
#define EEPROMADDR0X003 ((u32)(FLASH_DATA_START_PHYSICAL_ADDRESS+3))
void FLASH_Unlock(FLASH_MemType_TypeDef MemType)
{
/* Check parameter */
assert_param(IS_MEMORY_TYPE_OK(MemType));
/* Unlock program memory */
if (MemType == FLASH_MEMTYPE_PROG)
{
FLASH->PUKR = FLASH_RASS_KEY1;
FLASH->PUKR = FLASH_RASS_KEY2;
}
/* Unlock data memory */
else
{
FLASH->DUKR = FLASH_RASS_KEY2; /* Warning: keys are reversed on
data memory !!! */
FLASH->DUKR = FLASH_RASS_KEY1;
}
}
void FLASH_DeInit(void)
{
u8 temp = 0;
FLASH->CR1 = FLASH_CR1_RESET_VALUE;
FLASH->CR2 = FLASH_CR2_RESET_VALUE;
FLASH->NCR2 = FLASH_NCR2_RESET_VALUE;
FLASH->IAPSR &= (u8)(~FLASH_IAPSR_DUL);
FLASH->IAPSR &= (u8)(~FLASH_IAPSR_PUL);
temp = FLASH->IAPSR;
/* Reading of this register causes the clearing of status flags */
}
void FLASH_ProgramByte(u32 Address, u8 Data)
{
/* Check parameters */
assert_param(IS_FLASH_ADDRESS_OK(Address));
*((PointerAttr u8*) Address) = Data;
}
u8 FLASH_ReadByte(u32 Address)
{
/* Check parameter */
assert_param(IS_FLASH_ADDRESS_OK(Address));
return(*((PointerAttr u8*) Address)); /* Read byte */
}
FLASH_Unlock(FLASH_MEMTYPE_DATA);//解密EEPROM 可编程
FLASH_DeInit();//EEPROM寄存器复位
FLASH_Unlock(FLASH_MEMTYPE_DATA);//解密EEPROM 可读写数据
FLASH_ProgramByte(EEPROMADDR0X000,0X25);//在首地址写入数据0x25
FLASH_ReadByte(EEPROMADDR0X000);//将首地址的数据读出来
上一篇:stm8s eeprom读写
下一篇:最后一页
推荐阅读
史海拾趣
爱浦电子自成立以来,一直致力于模块电源技术的研发与创新。在成立初期,公司便凭借其专业的研发团队和先进的生产设备,成功研发出多款具有竞争力的模块电源产品。随着技术的不断进步,爱浦电子不断对产品进行升级和优化,以满足市场日益增长的需求。公司不仅通过了ISO9001质量管理体系认证,还成功获得了CE、RoHS等国际认证,进一步提升了产品的品质和竞争力。
随着全球市场的不断扩大,BROTHER意识到要实现持续发展,必须走国际化道路。因此,公司在上世纪五十年代开始积极实施国际化战略。首先,BROTHER在美国纽约建立了销售总部,以更好地服务北美市场。随后,公司又在欧洲等地建立生产基地和销售网络,进一步拓展国际市场。通过国际化战略的实施,BROTHER不仅提升了品牌知名度和市场份额,还积累了丰富的跨国经营经验。
为了保持在电子行业中的领先地位,FARNELL公司积极寻求创新与合作。公司与多家知名电子元器件制造商建立了长期合作关系,共同研发新产品、新技术。同时,FARNELL公司还致力于为客户提供定制化的解决方案,满足不同客户的需求。这种创新与合作的精神使FARNELL公司在电子行业中保持了持续的发展动力。
随着业务的发展,Chen Yang Technologies意识到单靠自身力量难以实现快速扩张。因此,公司开始积极寻求与其他电子行业巨头的战略合作。通过与这些公司的合作,Chen Yang Technologies不仅获得了更多的资金支持和技术资源,还成功进入了新的市场领域。这些合作使得公司的业务范围得到了极大的拓展,同时也提升了公司的品牌影响力。
随着科技的不断进步,Delkin Devices始终保持着对新技术和新产品的敏感度和热情。公司投入大量资源进行技术研发和产品创新,不断推出具有竞争力的新产品。例如,在固态硬盘(SSD)技术兴起的时代,Delkin Devices迅速抓住机遇,成功开发出了一系列高性能、高可靠性的SSD产品,赢得了市场的广泛认可。此外,Delkin Devices还积极拓展产品线,推出了包括读卡器、存储卡等在内的多种存储配件,进一步巩固了其在电子行业中的领先地位。
在竞争激烈的电子行业中,提供优质的服务是赢得客户信任的关键。DEVCON公司深知这一点,因此不断创新服务模式,提升服务质量。公司建立了完善的售后服务体系,为客户提供及时、专业的技术支持和解决方案。同时,公司还积极开展培训活动,提升员工的技能水平和服务意识。这些创新举措赢得了客户的广泛赞誉和信赖,为DEVCON公司的稳定发展提供了有力保障。
cmx018是cml公司推出的新型fm/fsk无线接收芯片,它内含双增益模式的低噪声放大器、2级阵频变换器(混频器)、集成振荡器、限幅放大器、温度被偿接收信号强度指示器、fm/fsk解调器和零功率模式控制等电路,能与cmx017配套使用以实现uhf的无线连接。 ...… 查看全部问答∨ |
摘 要: 本文针对现有DCS系统在实际应用中碰到的一些问题,结合通讯、计算机等方面的技术,提出了基于QNX分布式实时操作系统及CAN总线的解决方法,并介绍了该系统的设计思路和实现方法。关键词: DCS;CAN;分布式实时操作系 ...… 查看全部问答∨ |
及时的自我总结,从技术上讲,每作完一个项目/电路设计,或者项目时间比较长,就在一段工作时间之后,好好小结一下最近的工作成绩,我觉得这是很有必要的。根据我个人的体会,可以参照下面的几点去总结。 另外我还想说,项目的完成,是公司的获得, ...… 查看全部问答∨ |
我在做RDA时,Pull一张表到本地是没有问题的,而且在本地修改数据也使没 有问题的(我在模拟器的查询分析器里面可以看到)。但是当我把修改后的表Push 回PC机上的数据库的时候,出现错误。 Push方法返回一个或多个错误行。 ...… 查看全部问答∨ |
请教下关于 WINCE的电源TIMEOUT问题。(重启后不关背光设置无效) 请问为什么我在电源管理那设置了电池和AC 为“从不”在设置完后确实不会关背光,但是一但重启机器后还是一分钟后自动关闭背光,在电源管理上可以看见那两项确实是显示“从不”。我用RegQueryValueEx 对ACUserIdle以及BattUserIdle进行读取,得到的 ...… 查看全部问答∨ |
服务器怎么向手机wince mobile发送MSMQ消息呢? 智能手机WINCE mobile与服务器SERVER通过GPRS移动网络连接,数据交换用什么方法比较省事?MSMQ?TCP/IP?或其它? 如果使用MSMQ,SERVER怎么向手机wince mobile发送消息呢?手机上的消息队列名该如何确定?… 查看全部问答∨ |
我新接触POWERPC,找我朋友借了一块PPC405EP TAIHU的开发板,他给我的资料都是UBOOT和LINUX的,我现在想用VXWORKS,可是在Tornado 2.2下没找到支持PPC405EP的BSP,请问谁有相关资料或者SDK发给我一份,我学习下,再次感谢!… 查看全部问答∨ |