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

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

[复制链接]
yceast 发布时间:2015-1-8 13:54
我这个在我开发板上验证过的, 能读能写  这个代码一般人我不告诉他的   我用的是IAR
# C6 N( X2 S9 w( }0 L5 ~% W初使部分  我用的也是STM8L151K4T6
4 p) q" C) @8 w//-----------------------------EEPROM------------------------------------------------------, d3 A: r' L  r
#define MASS_KEY1 0xae( W( G( v# L5 B1 t; v. `
#define MASS_KEY2 0x56
% N; V5 W0 h3 L5 B9 X  m$ g! o0 N/ \#define EEP_BASE 0x1000
, \- c1 {: Z# W. L' ~! A6 ^1 `void EEPROM_Init(void)' n' i) o  H& I* D
{
9 @2 N( M$ ?' W    FLASH->CR1 = 0x00;( R- ~! D7 y& {
    FLASH->CR2 = 0x00;1 {4 Z4 I& q/ t, A, }
    FLASH->DUKR = MASS_KEY1;
0 T) P8 Y9 c+ a$ L3 r& c' t    FLASH->DUKR = MASS_KEY2;           //密钥使能8 v" {9 E0 G+ @: C) a* b- B
    while(!(FLASH->IAPSR&0x08))0 h4 |, n5 N; N' R* a
    {
$ n. P6 P# c4 L8 F+ l; n        ;    /*等待写保护解锁*/* X, _, k& u8 ]( i5 w3 p4 S% N
    }/ k* i; u2 z& G6 |, t$ H2 Y1 r
}* R$ H3 P' ?$ P
//写函数部分
! r2 K+ A" h, D1 y! N3 p/ p5 B* Mvoid EEPROM_Write(u8 addr,u8 dat)2 ^0 R1 w/ l7 D, x  k# ]  |7 H
{
: I/ ?' C3 }. h& @. ~. q# A    *((u8*)(addr + EEP_BASE)) = dat;
: U/ W+ G3 u% _3 ^    while(!(FLASH->IAPSR&0x04))
; I! a7 g' n+ M& O5 ]# G4 M+ y    {
  N/ p) P. n% X. d' e        ;    /*等待写完成*/  //这里加等写0x02会一直过不去,死机,改成0x04  OK  M% Q& z$ [7 M$ k
    }9 n& r. K& `! w8 M
}
2 l; Q5 z4 [" s/ m! f- V% }4 N! D: k
7 h) Y/ w2 B7 a# F5 [5 X' E//读函数部分
* ~- j( e7 u, f# x: v$ Tu8 EEPROM_Read(u8 addr)
/ \4 D. d8 S. g/ X4 G, j4 C( P/ j{9 w9 e- g# ~1 t3 O
    return  *((u8*)(EEP_BASE + addr));: E5 m9 M6 o: a+ J
}
) G+ S! U- B/ ]; r7 E( K//---------------------------------------------------------------------------------- @+ M3 r1 f" E8 Q, f0 c( a
5 w5 S" w- v& ^) v( r# ^  l0 Y' B
写部分 3句完美搞定
' ~, z( Z4 ^, U  j1 H& x  S//----------------------------------------------
& I/ T' c: l6 K) Q- l& yEEPROM_Init();//FLASH解锁
( ?7 W6 K7 T5 \6 e$ l- @) m9 o' A, TEEPROM_Write(0X00,model);//0x00 是地址,MODE1是写的内容这是自定义变量哦2 `% f, o9 ~$ i5 J4 ]7 V
EEPROM_PROTECT_ENABLE();// 开启写保护/ c. z+ }( [. X- V; `0 Z
' L3 j+ R9 S( \. `$ }* Y

" e" H( G- U, B读部分,一句搞定 收工% V! |, Y! j( L) a5 i; Z
//-------------------------------------
3 P3 K9 s6 i( F3 W% I! O   model=EEPROM_Read(0X00);//MODE1 是自定义的变量哦
: K9 ?3 o  H/ D1 ~7 b$ x+ I$ o2 t+ P复制代码
2 g  m3 W! p3 i* l! ?, L  R
收藏 评论0 发布时间:2015-1-8 13:54

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版