资源简介
在STM8S003系统上实现单片机片内存储器EEROM的读写操作。

代码片段和文件信息
/* MAIN.C file
*
* Copyright (c) 2002-2005 STMicroelectronics
*/
#include “stm8s003f3p.h“
unsigned char EEPROM_TemH @0x4000; //EEPROM起始地址 存放数据高位
unsigned char EEPROM_TemL @0x4001; // 存放数据低位
unsigned char *EEPROM_TempH; //EEPROM起始地址 存放数据高位
unsigned char *EEPROM_TempL; // 存放数据低位
unsigned char UnlockEEPROM(void)
{
FLASH_DUKR=0xAE;
FLASH_DUKR=0x56;
//判断FLASH_IAPSR DUL位 0 写保护使能 1 解锁成功
if(FLASH_IAPSR&0x08) return 1;
else return 0;
}
//方法三
void WriteToEEPROM2(void)
{
unsigned int t;
while(!UnlockEEPROM());//解锁eeprom
if(EEPROM_TemH!=0x00||EEPROM_TemL!=0x00)//检测是否第一次上电
{
t=EEPROM_TemH<<8|EEPROM_TemL;//读出温度上次掉电前的值
}
EEPROM_TemH=0x12;//数据存入EEPROM
EEPROM_TemL=0x34;
while((FLASH_IAPSR&0x04)==0x00);//等待EEPROM写操作完成
t=10;
}
//方法二
void WriteToEEPROM1(void)
{
int i;
EEPROM_TempH=(unsigned char *)0x4000;
EEPROM_TempL=(unsigned char *)0x4001;
do
{
//写入MASS密钥,解锁DATA EEPROM
FLASH_DUKR=0xAE;
FLASH_DUKR=0x56;
}
while((FLASH_IAPSR&0x08)==0);//若未解锁成功,则重新再来
*EEPROM_TempH=0x05;
*EEPROM_TempL=0x08;
while((FLASH_IAPSR&0x04)==0);//等待操作成功。
i=10;
}
//方法一
void WriteToEEPROM(void)
{
unsigned char *p;
unsigned char ch;
p = (unsigned char *)0x4000; // 指针p指向芯片内部的EEPROM第一个单元
// 对数据EEPROM进行解锁
do
{
FLASH_DUKR = 0xae; // 写入第一个密钥
FLASH_DUKR = 0x56; // 写入第二个密钥
}
while((FLASH_IAPSR & 0x08) == 0); // 若解锁未成功,则重新再来
*p = 0xaa; // 写入第一个字节
while((FLASH_IAPSR & 0x04) == 0); // 等待写操作成功
ch = *p; // 将写入的内容读到变量ch中
}
main()
{
WriteToEEPROM2();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13966 2017-09-15 09:45 STM8_EEROM\Debug\eerom.elf
文件 2287 2017-09-14 16:15 STM8_EEROM\Debug\eerom.lkf
文件 18387 2017-09-15 09:45 STM8_EEROM\Debug\eerom.map
文件 970 2017-09-15 09:45 STM8_EEROM\Debug\eerom.s19
文件 15046 2017-09-15 09:45 STM8_EEROM\Debug\eerom.sm8
文件 7103 2017-09-15 09:45 STM8_EEROM\Debug\main.ls
文件 14555 2017-09-15 09:45 STM8_EEROM\Debug\main.o
文件 5420 2017-09-15 09:40 STM8_EEROM\Debug\stm8_interrupt_vector.ls
文件 2619 2017-09-15 09:40 STM8_EEROM\Debug\stm8_interrupt_vector.o
文件 470 2017-09-15 09:45 STM8_EEROM\eerom.dep
文件 986 2017-09-15 09:44 STM8_EEROM\eerom.pdb
文件 12210 2017-09-14 18:46 STM8_EEROM\eerom.stp
文件 199 2017-09-15 09:45 STM8_EEROM\EEROM.stw
文件 43801 2017-09-15 09:44 STM8_EEROM\EEROM.wdb
文件 44103 2017-09-15 09:45 STM8_EEROM\EEROM.wed
文件 1829 2017-09-15 09:45 STM8_EEROM\main.c
文件 2291 2017-09-14 16:15 STM8_EEROM\Release\eerom.lkf
文件 1954 2007-11-13 16:37 STM8_EEROM\stm8_interrupt_vector.c
目录 0 2017-10-14 11:38 STM8_EEROM\Debug
目录 0 2017-10-14 11:38 STM8_EEROM\Release
目录 0 2017-10-14 11:38 STM8_EEROM
----------- --------- ---------- ----- ----
188196 21
- 上一篇:STM8S003 PWM功能实现
- 下一篇:STM8S003红外遥控支持连发码
相关资源
- 2003-2013全国电赛历年真题
- 意法半导体STM全系列微控制器STM32ST
- win2003 sp2 拒绝访问 解决方法
- STM8S SX1278 项目和源代码
- 戴森-施温格方程在有限球体积中的手
- Intel(R) 82579V网卡驱动for server20033
- Hillstone SA-2003高性能纯硬件安全网关产
- STM8S003 红外遥控
- STM8S例程,基于IAR下的STM8S例程
- Convex Analysis and Optimization (Bertsekas
- DS4000存储系统上Microsoft Exchange 2003的存
- 最新BW量产工具——BW_Tool_v2.0
- 联想rd630服务器驱动 for win2003 x64
- WindowsServer2003.WindowsXP-KB926139-v2-x64-EN
- N76E003开发资料最新SDK参考代码
- 基于STM8的HT1621B显示驱动程序
- STM8驱动HT1621B
- WD硬盘 771640003 通吃固件
- H310阵列卡驱动x64位_win2003 64位raid驱动
- dell服务器H310\\H710阵列卡驱动程序 f
- WINDOWS SERVER 2003网卡驱动程序
- 语音回示在GSM-R手持终端中的实现
- Star Rat 3.1远控源码[支持XP20002003 win7
- 人工智能尼尔森,2003,第1版
- 蓝宝石rx580镁光显存bios(迪兰rx588镁光
- STM8L中文参考手册1-4全
- STM8L_MPU6500_DMP_震动唤醒
- 中兴180028003800系列智能集成多业务路
- arduino主机,stm8从机。I2C测试 。每次
- WindowsServer2003-KB914961-SP2-x86-CHSIE6升级
评论
共有 条评论