【STC15库函数上手笔记】10、EEPROM

目录

  • 硬件知识
    • 基本介绍
  • 软件知识
    • EEPROM多字节读函数
    • EEPROM多字节写函数
    • EEPROM扇区擦除函数函数
  • 测试
    • main.c
    • 实验现象

STC实验箱4
IAP15W4K58S4
Keil uVision V5.29.0.0
PK51 Prof.Developers Kit Version:9.60.0.0


硬件知识

基本介绍

       摘自《STC15系列单片机器件手册
       STC15系列单片机内部集成了大容量的EEPROM,其与程序空间是分开的。利用ISP/IAP技术可将内部Data Flash当EEPROM,擦写次数在10万次以上。EEPROM可分为若干个扇区,每个扇区包含512字节。使用时,建议同一次修改的数据放在同一个扇区,不是同一次修改的数据放在不同的扇区,不一定要用满。数据存储器的擦除操作是按扇区进行的。
       EEPROM可用于保存一些需要在应用过程中修改并且掉电不丢失的参数数据。在用户程序中,可以对EEPROM进行字节读/字节编程/扇区擦除操作。在工作电压Vcc偏低时,建议不要进行EEPROM/IAP操作。
工作电压过低判断:此时不要进行EEPROM/IAP操作
PCON:电源控制寄存器
在这里插入图片描述
       LVDF:低压检测标志位,当工作电压Vcc低于低压检测门槛电压时,该位置1。该位要由软件清0当低压检测电路发现工作电压Vcc偏低时,不要进行EEPROM/IAP操作。
       5V单片机的低压检测门槛电压:
在这里插入图片描述
       3.3V单片机的低压检测门槛电压:
在这里插入图片描述
建议在电压偏低时,不要操作EEPROM/IAP,烧录时直接选择“低压禁止EEPROM操作”
在这里插入图片描述

软件知识

       摘自《STC库函数使用参考

EEPROM多字节读函数

EEPROM_read_n
在这里插入图片描述

EEPROM多字节写函数

EEPROM_write_n
在这里插入图片描述

EEPROM扇区擦除函数函数

EEPROM_SectorErase
在这里插入图片描述

测试

在这里插入图片描述

main.c

#include "./Drivers/config.h"
#include "./Drivers/delay.h"#include "./Drivers/GPIO.h"
#include "./Drivers/EEPROM.h"void GPIO_config(void)
{GPIO_InitTypeDef GPIO_InitStructure;					//结构定义GPIO_InitStructure.Mode = GPIO_OUT_PP;					//指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PPGPIO_InitStructure.Pin  = GPIO_Pin_6 | GPIO_Pin_7;		//指定要初始化的IO, 或操作GPIO_Inilize(GPIO_P4,&GPIO_InitStructure);				//初始化为推挽输出		
}void main(void)
{char test[2] = {0};GPIO_config();EEPROM_read_n(0x1234, test, 2);if(test[0] == 'O' && test[1] == 'K'){P47 = 0;while(1);}else{EEPROM_SectorErase(0x1234);EEPROM_write_n(0x1234, "OK", 2);P46 = 0;while(1);}
}

实验现象

第一次运行时没有数据,点亮LED10,重启后已有数据,点亮LED9。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android中shape中的属性大全

<shape><!-- 实心 --><solid android:color"#ff9d77"/><!-- 渐变 --><gradientandroid:startColor"#ff8c00"android:endColor"#FFFFFF"android:angle"270" /><!-- 描边 --><strokeandroid:wid…

Mysql 插入中文错误:Incorrect string value: '...' for column 'xx' at row 1

datasource url后面加上useUnicodetrue&characterEncodingutf-8alter table w default character set utf8; alter table w change score score varchar(50) character utf8; 转载于:https://www.cnblogs.com/orziii/p/7372339.html

修改WordPress中上传附件2M大小限制的方法

https://blog.csdn.net/u010486124/article/details/38348327?utm_sourceblogxgwz7 post_max_size512M upload_max_filesize512M

ASP.NET会员注册登录模块(MD5加密,Parameters防止SQL注入,判断是否注册)

MD5加密,Parameters防止SQL注入:protected void btnLog_Click(object sender, EventArgs e){//获取验证码string code txtCode.Text;//判断用户输入的验证码是否正确if (Request.Cookies["CheckCode"].Value code){//创建数据库连接SqlConnection con new SqlConn…

【51单片机快速入门指南】4.6:I2C 与 PCF8563实时时钟日历芯片

目录硬知识概述特性功能描述报警功能模式定时器模式CLKOUT输出复位低电压检测器和时钟监视器低电压检测器和时钟监视器寄存器结构寄存器概述BCD编码格式寄存器概述Control/Status 1 寄存器&#xff08;内存地址00H&#xff09;Control/Status 2 寄存器&#xff08;内存地址01H&…

(转) Spring读书笔记-----Spring的Bean之配置依赖

前一篇博客介绍了Spring中的Bean的基本概念和作用域&#xff08;Spring读书笔记-----Spring的Bean之Bean的基本概念 &#xff09;,现在介绍Spring Bean的基本配置。 从开始我们知道Java应用中各组件的相互调用的实质可以归纳为依赖关系。根据注入方式的不同&#xff0c;Bean的依…

Luogu P1031 均分纸牌(贪心)

P1031 均分纸牌 题目描述 有 N 堆纸牌&#xff0c;编号分别为 1&#xff0c;2&#xff0c;…, N。每堆上有若干张&#xff0c;但纸牌总数必为 N 的倍数。可以在任一堆上取若干张纸牌&#xff0c;然后移动。 移牌规则为&#xff1a;在编号为 1 堆上取的纸牌&#xff0c;只能移到…

利用MySQL语句批量替换指定wordpress文章中的图片路径

天花了很多时间将SAE服务器中的图片下载到本地&#xff0c;然后删掉&#xff0c;但是有一个问题就是&#xff0c;所有文章中的图片路径还是以前的&#xff0c;没有根据域名来。导致下午某些时间段图片都是无法显示的&#xff0c;后来想到用MySQL直接批量替换&#xff0c;执行才…

Head First summary

学习面向对象好几年了&#xff0c;但一直没有深刻的理解面向对象&#xff0c;直到最近开始做自动化测试平台开发过程中&#xff0c;才发现面向对象的魅力。因而决定好好把设计模式学习下。首先先了解下设计模式相关的定义以及主意事项&#xff1a; 1.  什么是设计模式&#x…

【51单片机快速入门指南】6.4:DHT11、DHT22单总线温湿度传感器

目录硬知识DHT11DHT22通信协议读取步骤数据解读DHT11DHT22示例程序DHT11_22.cDHT11_22.h测试程序main.c实验现象DHT11DHT22STC89C52 Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《温湿…

获取编辑器两种方法

编辑器&#xff0c;是地图数据进行编辑的主要工具&#xff0c;这个Editor其实当一个新的地图开始时就创建了。事实上&#xff0c;其他ArcMap扩展对象也是在创建地图时产生的。 为了获得这个Editor&#xff0c;可以使用FindExtensionByCLSID 或者FindExtensionByName接口。 priv…

Redis持久化的简单介绍

Redis的强大功能很大程度上是由于其将所有数据都存储在内存中&#xff0c;为了使Redis在重启后仍能保证数据不丢失&#xff0c;需要将数据从内存中以某种形式持久化到硬盘中。 Redis支持两种方式的持久化&#xff0c;一种是RDB方式&#xff0c;一种是AOF方式。其中&#xff0c;…

图片响应式

img-responsive 编辑 本词条缺少概述图&#xff0c;补充相关内容使词条更完整&#xff0c;还能快速升级&#xff0c;赶紧来编辑吧&#xff01; img-responsive是图片响应式的意思&#xff0c;在Bootstrap框架中&#xff0c;有一个.img-responsive的CSS样式。应用这个样式以后…

【电路补习笔记】1、电阻的参数与选型

目录参数精度温度系数功率贴片电阻色环电阻传感器电阻老师的主页&#xff1a;唐老师讲电赛 视频地址&#xff1a;唐老师讲电赛之唐老师讲电子器件&#xff08;1&#xff09;电阻参数与选型 电阻按封装分为直插、贴片与印刷电阻&#xff08;有些电阻直接印刷在PCB上&#xff09;…

redis本地安装

redis在本地的安装及使用1、首先下载redis安装包&#xff0c;下载地址如下 http://pecl.php.net/package/redis/2.2.7/windows输入phpinfo()查看php版本进行相应的下载&#xff0c;注意版本2、下载完成后将php_redis.dll放到ext下&#xff0c;在php.ini中添加extensionphp_re…

Xcode模拟器和真机生成的日志查看(ios必知必会)

在进行实际代码开发的过程中&#xff0c;我们会生成一些plist文件&#xff0c;但是如何在调试过程中查看这些plist文件是否被成功生成以及生成的内容是否正确&#xff1f; 如果查看模拟器生成的日志和真机生成的日志到底如何查看&#xff1f; DEMO 首先生成一个plist文件 NSArr…

【Net】测试网络、查看IP

http://www.speedtest.cn/ 转载于:https://www.cnblogs.com/flydkPocketMagic/p/7380400.html

WordPress 不同分类目录调用不同模板的方法

https://www.jb51.net/cms/275887.html wordpress不同分类调用不同模板文件 用wordpress做站特别是企业站的时候&#xff0c;多个分类的内容不同需要显示的页面也不一样&#xff0c;比如有些分类显示的是产品缩略图&#xff0c;有些显示的是公司新闻公告等&#xff0c;此时需要…

【电路补习笔记】2、电容的参数与选型

目录分类无极性电容有极性电容电解电容钽电容参数精度温度系数材质耐压温度范围ESRESL电容并联高频特性焊盘&#xff08;PAD&#xff09;和旁路电容的放置老师的主页&#xff1a;唐老师讲电赛 视频地址&#xff1a;唐老师讲电赛之唐老师讲电子器件&#xff08;1&#xff09;电容…

【转】测试工程师日常工作需要关注的问题

在互联网公司追求价值最大化、成本最低化的今日&#xff0c;很多互联网公司开始提倡高的开发测试比率&#xff0c;工程师都有必要提升自己的贡献、产能&#xff0c;我们也需要将一些问题融入到工作中&#xff0c;在做中寻找答案。 跳出自己的小圈子&#xff0c;甚至跳出测试角色…