“第三十五课--Microduino EEPROM读写实验/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{{Language|Lesson_35--Microduino_EEPROM_Reading_and_Writing_Experiment}} {| style="width: 800px;" |- | ==目的== 本教程将教大家如何使用Microduino中的EEPROM,存...")
 
程序
 
(未显示2个用户的5个中间版本)
第7行: 第7行:
  
 
==设备==
 
==设备==
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
*'''[[Microduino-OLED]]'''
+
*'''[[Microduino-OLED/zh]]'''
 
*其他硬件设备
 
*其他硬件设备
 
**面包板跳线  一盒   
 
**面包板跳线  一盒   
第16行: 第16行:
  
 
'''EEPROM介绍'''
 
'''EEPROM介绍'''
 +
 
EEPROM,或写作E2PROM,全称电子抹除式可复写只读存储器 (英语:Electrically-Erasable Programmable Read-Only Memory),是一种可以通过电子方式多次复写的半导体存储设备。
 
EEPROM,或写作E2PROM,全称电子抹除式可复写只读存储器 (英语:Electrically-Erasable Programmable Read-Only Memory),是一种可以通过电子方式多次复写的半导体存储设备。
  
 
Microduino的控制芯片中都自带了EEPROM,它的用途比较广,掉电后需要保存的信息都可以存储到这里。比如电子保险箱的密码。
 
Microduino的控制芯片中都自带了EEPROM,它的用途比较广,掉电后需要保存的信息都可以存储到这里。比如电子保险箱的密码。
 
 
  
 
==原理图==
 
==原理图==
第26行: 第25行:
  
 
==程序==
 
==程序==
<source lang="cpp">
+
[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/MicroduinoEEPROMReadWrite MicroduinoEEPROMReadWrite]
  
#include <avr/eeprom.h>
+
'''函数说明:'''
#include "U8glib.h"
 
#define EEPROM_write(address, var) eeprom_write_block((const void *)&(var), (void *)(address), sizeof(var))
 
#define EEPROM_read(address, var) eeprom_read_block((void *)&(var), (const void *)(address), sizeof(var))
 
 
 
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);//定义OLED连接方式
 
 
 
// 定义一个包含 int 类别的 config_type 结构
 
struct config_type
 
{
 
  int num;
 
};
 
 
 
 
 
void draw() {
 
  // 1) 定义结构变量config,并定义config的内容
 
  config_type config;
 
  config.num = random(3000);//在0~3000里选定随机数
 
  // 2) 把变量config存储到EEPROM,从地址0开始写入。
 
  EEPROM_write(0, config);
 
  // 3) 从EEPROM地址0开始读取,结果存储在config_readback
 
  config_type config_readback;
 
  EEPROM_read(0, config_readback);
 
  u8g.setFont(u8g_font_unifont);//字体1
 
  u8g.drawStr( 0, 16, "Num:");
 
  u8g.setFont(u8g_font_7x13);//字体2
 
  u8g.setPrintPos(0, 32);
 
  u8g.print(config_readback.num);
 
 
 
}
 
 
 
void setup()
 
{
 
  
}
 
 
void loop()
 
{
 
  u8g.firstPage(); 
 
  do {
 
    draw();
 
  }
 
  while( u8g.nextPage() );
 
 
 
  delay(2000);//延迟两秒
 
 
 
}
 
 
 
 
</source>
 
 
'''函数说明:'''
 
 
EEPROMwrite(addr,data)函数用于在指定地址写入数据,addr表示要写入的地址,data表示要写入的数据
 
EEPROMwrite(addr,data)函数用于在指定地址写入数据,addr表示要写入的地址,data表示要写入的数据
  
第86行: 第34行:
  
 
random(num)函数用于生成随机数,num用于指定生成随机数的范围
 
random(num)函数用于生成随机数,num用于指定生成随机数的范围
 
  
 
==调试==
 
==调试==
第101行: 第48行:
 
Microduino-OLED将显示EEPROM读写结果,每两秒钟随机换数字
 
Microduino-OLED将显示EEPROM读写结果,每两秒钟随机换数字
 
==视频==
 
==视频==
http://v.youku.com/v_show/id_XNjgwODM2NTYw.html
+
 
 +
http://v.youku.com/v_show/id_XNjgxMjQ0OTIw.html

2014年10月29日 (三) 05:01的最新版本

Language English

目的

本教程将教大家如何使用Microduino中的EEPROM,存储在EEPROM的值将在Microduino-OLED上显示

设备

EEPROM介绍

EEPROM,或写作E2PROM,全称电子抹除式可复写只读存储器 (英语:Electrically-Erasable Programmable Read-Only Memory),是一种可以通过电子方式多次复写的半导体存储设备。

Microduino的控制芯片中都自带了EEPROM,它的用途比较广,掉电后需要保存的信息都可以存储到这里。比如电子保险箱的密码。

原理图

第三十五课-Microduino EEPROM读写实验原理图.jpg

程序

MicroduinoEEPROMReadWrite

函数说明:

EEPROMwrite(addr,data)函数用于在指定地址写入数据,addr表示要写入的地址,data表示要写入的数据

EEPROM_read(addr,data)函数用于在指定地址读出数据,addr表示要读出的地址,data表示要读出的数据

random(num)函数用于生成随机数,num用于指定生成随机数的范围

调试

步骤一:把代码复制到IDE中,编译

步骤二:运行代码

步骤三:查看Microduino-OLED显示

第三十五课-Microduino OLED显示EEPROM读写结果连接图.jpg


结果

Microduino-OLED将显示EEPROM读写结果,每两秒钟随机换数字

视频

http://v.youku.com/v_show/id_XNjgxMjQ0OTIw.html