历史上的今天
今天是:2024年11月19日(星期二)
2019年11月19日 | stm8s eeprom读写
2019-11-19 来源:eefocus
stm8s有自带的eeprom,起始地址是0x4000,终止到哪看手册,因为我用的时候只写一个4字节数据,配置如下:
入参:eeprom偏移地址,写入的数据
void eeprom_write(const unsigned char addr,unsigned long date)
{
asm("sim");
FLASH_CR1_FIX = 1;//编程时间固定为标准编程时间
FLASH_CR2_WPRG = 1;//使能字编程
FLASH_NCR2_NWPRG = 0;/使能字编程
do
{
FLASH_DUKR = 0xAE;
FLASH_DUKR = 0x56;
}
while(!(FLASH_IAPSR_DUL & 1));//等待解锁
unsigned long *p = (unsigned long*)(0x4000 + addr);
*p = date;
//while(!FLASH_IAPSR_EOP & 1);//等待写完成//加上掉电写入不准
FLASH_IAPSR_DUL = 0;//上锁
asm("rim");
}
说明:while(!FLASH_IAPSR_EOP & 1);被我注释掉了,原因如注释所写的那样,我也不知道为什么。然后写完之后记得上锁,要不然会不准。另外就是这里中文手册又出错了,就是do while语句中的那两句给FLASH_DUKR写入密钥,中文手册写反了。
读eeprom就比较简单了,代码如下:
入参:eeprom地址偏移量 出参:相应地址的值*/
unsigned long eeprom_read(const unsigned char addr)
{
return *((unsigned long*)(0x4000 + addr));
}
史海拾趣
|
Phasma is a hexapedal running robot that can run dynamically like a living organism. It is an attempt to depict life purely through its motion rather than its shape, by extracting the physics of running from living things and impl ...… 查看全部问答> |
|
LM3S8962+ucos-ii+lwip+snmp移植问题 大家好!有谁移植过lwip下自带的SNMP的?我按照lwip中doc下的文档移植,移植后,访问系统内部标量或者设置都没有问题即(system.sysDecr...),但是无法获取表(ifTable)的数据,点击ifTable表的获取后,无响应,似乎getnextrequest操作有问题? 仿 ...… 查看全部问答> |
|
Wince 6.0导出SDK成功,新建应用程序却找不到该SDK。 我使用的TQ2440定制WINCE6.0,镜像生成成功,导出SDK都是没有问题,我没有添加MFC的支持,安装SDK也没有问题, 但是在新建的工程里面却找不到,只有一个PLATFORM BUILDER(_TGTCPU),如下图: 后来我发现在OS Design 里面的配置管理器也是这样的 ...… 查看全部问答> |
|
请教WINCE下声卡给上层操作系统调用的调声音的接口在哪里? 请教各位, 我的平台是PXA270 声音驱动用的是AC97 现在想通过导航按键复用来调节声音 即,当媒体播放器弹出来时,导航键变成声音调节键 请问: WINCE下声音驱动中调节声音大小的部分在哪里? 是否是导出一个API供上层操作系统调用?? … 查看全部问答> |
|
HWREG(X);仅有读操作,那 #define RCGC2 (SYSCTL_BASE+0x108); HWREG(RCGC2)|=0x00000002; 能否进行将硬件地址内容修改呢?… 查看全部问答> |




