STM8 EEPROM

来自丢石头百科
Admin讨论 | 贡献2021年6月18日 (五) 18:00的版本 (文本替换 - 替换“http://{{”为“https://{{”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
<tbody></tbody>
<tbody></tbody>
系统功能

  对STM8内部的EEPROM写入数据,再读出EEPROM的数据,用LED进行指示,观察读出的数据与写入的数据是否一致。   

<tbody></tbody>
硬件设计

STM8 LED PB.jpg LED控制电路原理图

<tbody></tbody>
软件设计

/********************************************************************* 微 雪 电 子 WaveShare <a class="Blue_2_12px_" href="https://wiki.diustou.com/" style="color: rgb(7, 66, 184);">http://www.waveShare.net

目标系统: 基于STM8单片机  应用软件: Cosmic CxSTM8  说 明: 若用于商业用途,请保留此段文字或注明代码来源 深 圳 市 微 雪 电 子 有 限 公 司 保 留 所 有 的 版 权 

                                                                                                                                          • /
  1. include <STM8S207S8.h>
  2. define LED_DDR  PB_DDR
  3. define LED_PORT PB_ODR
  4. define LED_CR1  PB_CR1
  5. define LED_CR2  PB_CR2

void Init_EEPROM(void) {       do       {             FLASH_DUKR=0xae;             FLASH_DUKR=0x56;       }while((FLASH_IAPSR & 0x08)==0); }

void Init_GPIO(void) {       LED_DDR=0xff;       LED_CR1=0xff;       LED_CR2=0x00; }

void main(void) {       unsigned char ch,i;       unsigned char *p;       Init_EEPROM();       Init_GPIO();

      p=(unsigned char *)0x40f0;

      *p=0x51;

      while((FLASH_IAPSR & 0x04)==0);

      ch=*p;       PD_ODR=ch;       while (1);

}
<tbody></tbody>
系统调试
观察读出的EEPROM数据与写入EERPOM的数据是否一致,用LED作为数据。