你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于stm8的EEPROM的操作经验总结

[复制链接]
yceast 发布时间:2015-1-8 13:54
我这个在我开发板上验证过的, 能读能写  这个代码一般人我不告诉他的   我用的是IAR
2 \+ j$ V& [# N, q2 U; W初使部分  我用的也是STM8L151K4T6: V- ?6 N0 I& S6 |
//-----------------------------EEPROM------------------------------------------------------& h0 c% [, z5 K+ z. Y
#define MASS_KEY1 0xae
# G% v6 ?8 x2 Y  _2 L#define MASS_KEY2 0x56, X5 H9 e9 M$ \2 j
#define EEP_BASE 0x1000& R* j* @) I5 Q6 @( q5 @. e
void EEPROM_Init(void)) X2 I% ?3 ], S; n% ?* g
{
7 g- O3 J* V/ e1 v7 [( v- G    FLASH->CR1 = 0x00;7 ]+ l1 s5 c8 x6 \) O9 _( Y
    FLASH->CR2 = 0x00;
% v1 X2 m; K9 D0 M2 T+ V5 z    FLASH->DUKR = MASS_KEY1;
8 A! }, n4 n4 s! e3 A4 Q" ^    FLASH->DUKR = MASS_KEY2;           //密钥使能( A- @& s8 s+ d5 z
    while(!(FLASH->IAPSR&0x08))1 _/ \! {, ]4 t7 U
    {/ C9 v7 G% c% p3 q
        ;    /*等待写保护解锁*/8 E4 x7 B% f2 C! n/ {% A* s" t
    }
7 Q5 v7 I5 b1 n+ Z3 E9 Q}6 |$ K. I- `& [# t9 p8 G
//写函数部分5 I- _$ t8 B7 T
void EEPROM_Write(u8 addr,u8 dat): L- {8 A6 l! `, [4 z6 A) Q
{; l" X% j7 U7 W6 ~
    *((u8*)(addr + EEP_BASE)) = dat;
# c8 n# ^" ?7 B    while(!(FLASH->IAPSR&0x04))
+ w3 k. [2 `" k8 Y7 K    {% L0 R: K. R; C6 v! o+ _
        ;    /*等待写完成*/  //这里加等写0x02会一直过不去,死机,改成0x04  OK
8 Q) g9 @6 M* R. Q: ~/ Q- d    }3 J5 h" O& I% W4 Z/ m6 f
}/ U' S: Z8 m' K' o1 V% m7 Q% G

! l3 ~$ m- O7 k+ o4 y# @0 w//读函数部分7 P5 T  d. f% ~( w7 `
u8 EEPROM_Read(u8 addr). z/ J- B) E/ I8 n3 t* `& e5 r
{
7 `8 A% n, Z" b/ E7 ?4 c( L+ o3 H    return  *((u8*)(EEP_BASE + addr));
2 H: c* \3 w' @/ A/ n' u. [1 p8 x- u}! H$ x( B) t$ M% N
//---------------------------------------------------------------------------------/ f& ]6 L) P* ~/ ~6 X& M3 M
8 W4 i1 S' v" c4 w' B& ~0 _
写部分 3句完美搞定
( U0 K/ T# p: L4 m//----------------------------------------------
/ m) U* n+ C" W  `EEPROM_Init();//FLASH解锁
  Q4 M! L1 Y2 }: E0 W/ yEEPROM_Write(0X00,model);//0x00 是地址,MODE1是写的内容这是自定义变量哦
5 F! t1 g2 p- f+ `EEPROM_PROTECT_ENABLE();// 开启写保护: D- x/ g4 K; d  o" l& `1 s* |
! g% S# m( E  H" O9 L: i

$ ]% v  a3 x! M5 J7 o, D0 d读部分,一句搞定 收工
3 E9 [. N3 Y" {  \' l8 N9 G//-------------------------------------( b( y, _# @2 b( S4 O
   model=EEPROM_Read(0X00);//MODE1 是自定义的变量哦
  A+ [! P5 z* _7 y复制代码7 W- x& {4 a; {; d$ J
赞 收藏 评论0 发布时间:2015-1-8 13:54

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版