实时操作系统中,对eeprom等写入较慢的存储设备如何处理? [问题点数:50分]

Bbs1
本版专家分:0
结帖率 0%
Bbs2
本版专家分:180
Bbs4
本版专家分:1089
Bbs1
本版专家分:0
Bbs6
本版专家分:6220
Blank
红花 2018年4月 硬件/嵌入开发大版内专家分月排行榜第一
Bbs3
本版专家分:570
[资料] 经验分享——EEPROM读写及数据管理
EEPROM
STM32驱动FM24CL16
根据小苗开发板例程,修改得好用的读写FM24CL16的2K bytes代码,分享给大家。 先贴代码,以后再解析。 #include "common.h" #include "includes.h" #include "drvI2c_FM24.h" //#define I2C_PAGESIZE 8 //FM24CL02, 8 bytes one page. #define I2
IIC读写24C64存储IC的驱动程序下载
单片机开发项目经常用到的存储器读写驱动,24C64是一款用IIC读写数据的IC 相关下载链接://download.csdn.net/download/ljf66666666/10747279?utm
[请教列位]为什么对EEPROM进行页写操作,要先进行单字节读写才能成功?
敝菜鸟在程序模拟I2C对EEPROM进行操作时遇到了下面的问题—— 现象1:首次进行页写操作时,EEPROM反应异常,写第0-3个字节时能够收到ACK,但第4个字节就一直收不到ACK; 现象2:先对E
实时操作系统的忙等延迟实现
摘要 在嵌入式系统开发里,经常会遇到要将一个操作“延迟”一段时间执行的情况,我们需要一个好用的delay函数,它至少需要具备两个特点 1 精度要够高,可以到10us级别,如果硬件允许的话,当然还要更高 2 不能被调度器打断 本文基于以上两个需求,实现了一种忙等delay的方法,硬件平台是STM32F103VET6,操作系统是FreeRTOS V7.2.0。 LED第一秒点亮,接下来第二秒灭掉,第三秒点亮,第四秒再灭掉,如此周而复
EEPROM的写入操作解析
eepom一般的写操作我就不说,我要分析的它的页操作(其实也算不上是分析,都是百度谷歌的只是记录). 当对<em>eeprom</em>写比较大的数据时,一个一个写就比较繁琐了,此时提供一种页操作即连续对<em>eeprom</em>进行写操作。但是页操作也并不是万能,它有限制: 24C01 24C02是8字节 24C04 24C08 24C16是16字节   其实24系列的<em>eeprom</em>提供缓存的技术,你<em>写入</em>一页的数
float型数据写入eeprom,以及对eeprom操作的注意事项
做项目需要将float型数据存到单片机自带的<em>eeprom</em>里,单片机型号是STC12C5A60S2。不过每次只能对一个字节进行操作即unsigned char型。之前存过unsigned long型的其实是一样的他们都要占用四个字节。可以用联合的方法,这里提供个简单的程序,直接贴代码:/***************************存取浮点数*************************
EEPROM分页写数据的理解
EEPROM分页写数据的理解
14.5 EEPROM多字节读写时序
我们读取 EEPROM 的时候很简单,EEPROM 根据我们所送的时序,直接就把数据送出来了,但是写 EEPROM 却没有这么简单了。给 EEPROM 发送数据后,先保存在了 EEPROM的缓存,EEPROM 必须要把缓存中的数据搬移到“非易失”的区域,才能达到掉电不丢失的效果。而往非易失区域写需要一定的时间,每种器件不完全一样,ATMEL 公司的 24C02 的这个<em>写入</em>时间最高不超过 5ms
EEPROM常见的读写问题和防止办法
在项目开发中经常使用到EEPROM,现在把自己开发中曾经遇到的陷阱和自己的解决方法列出。(1)现象:加密型遥控器的ID自动丢失和改变。         原因:在更新EEPROM过程中,断开电源。         解决方法:        a.更改设计避免在<em>写入</em>EEPROM过程中断开电源;        b.增加100uF的电容,断电后瞬间维持EEPROM供电正常至EEPROM<em>写入</em>完成。
51单片机读写EEPROM(AT24C02)
AT24C02的存储容量为2K bit,内容分成32页,每页8Byte,共256Byte,操作时有两种寻址方式:芯片寻址和片内子地址寻址。 (1)芯片寻址:AT24C02的芯片地址为1010,其地址控制字格式为1010A2A1A0R/W。其中A2,A1,A0可编程地址选择位。A2,A1,A0引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。R/W为芯片读写...
LPC2294对片外EEPROM(24C04)进行读写操作,如何确定24C02EEPROM地址
正在调试的板子是LPC2294芯片,板上有片EEPROM(24C04),需要在这个EEPROM里面存放一个IP地址。 首先需要确定EEPROM(24C04)器件的从地址,地址的确定需要看原理图上的接线。 先看一下AT24C02的芯片资料,我们会发现AT24C02有三个地址A0,A1,A2。同时,我们会在资料的Device Address介绍发现I2C器件一共有七位地址码,还有一位是读/
实时操作系统概述(推荐)
一 <em>实时操作系统</em>概述 1  操作系统概述 在计算机技术发展的初期阶段,计算机系统中没有操作系统(Operating System)这个概念。应用程序开发人员都要对<em>处理</em>器和硬件进行彻头彻尾的控制。实际上,第一个操作系统的诞生,就是为了提供一个虚拟的硬件平台,以方便程序员开发,同时提高计算机的资源利用率。为实现这个目标,操作系统只需提供一些较为松散的函数、例程――就好象现在的软件库一样――
EEPROM读写(可自动跨页,解决“上卷”)
EEPROM读写(可自动跨页,解决“上卷”现象)
经验分享——EEPROM读写及数据管理
1)有关 芯片内部自带的E2PROM 有的资深的工程师可能不是很愿意用MCU自带的E2PROM,大概是这些家伙上过什么当、受过骗还是什么的。简单说一下优缺点吧: (1)片内集成的感觉挺便宜的,和MCU一起卖的,对成本要求严格的,写次数很少的场合一般会考虑,至少能省个2、3毛钱吧; (2)缺点的话,可能擦写次数、稳定性没有外挂的专用芯片厉害; 2)
读写Eeprom
使用I2c协议读写Eeprom的例子 Eeprom是一种可擦除反复编程的存储器,掉电也可以保存里面的数据不会丢失,可多次循环编程利用。接下来我们就是要用I2c协议读写Eeprom了。 我们先看一下Eeprom读写时讯,同样在最后我会放出我们读写完Eeprom后,逻辑分析仪出现的结果然后一一分析是为什么. 首先根据I2c配置初始化使能引脚、时钟。里面还包括写一个字节。代码如下。PS(调用的i2
AT89S8253片内EEPROM字节读、字节写、页读、页写驱动代码、注意事项及注释
在编写AT89S8253片内EEPROM读写驱动程序时,要特别注意数据读写指令MOVX; 当EECON寄存器的EEMEN位置位时,MOVX访问EEPROM; 当EECON寄存器的EEMEN位清零时,MOVX访问外部RAM; 一般情况下,我们定义的用来<em>写入</em>EEPROM的数据或保存EEPROM读取的数据都用外部RAM;代码具体分析如下: C语言页<em>写入</em>代码: unsigned char W_E
eeprom读写
#define EEP_MAX_PAGE_SIZE 32 // 最大页写字节数 #define EEP_MAX_ROM_SIZE 8192 // EEROM容量 #define EEP_ADDR_SIZE 2 // EEROM地址字节数 #define EEP_WRITE_DELAY_TIME (OS_TICKS_PER_SEC/10) #define SYS_H
14.4 EEPROM单字节读写时序
EEPROM 写数据流程 第一步,首先是 I2C 的起始信号,接着跟上首字节,也就是我们前边讲的 I2C 的器件地址,并且在读写方向上选择“写”操作。 第二步,发送数据的存储地址。24C02 一共 256 个字节的存储空间,地址从 0x00~0xFF,我们想把数据存储在哪个位置,此刻写的就是哪个地址。 第三步,发送要存储的数据第一个字节、第二个字节„„注意在写数据的过程中,E
在EEPROM中保存浮点数的方法
最近一个项目,需要在EEPROM中保存浮点数,于是想到浮点数占四个字节,直接移位,发现得到的char型是0,看来这个方法不可行。搜索论坛,高人提议用联合体来解决,联合体看似与结构体相似,其不同之处在于结构体中每个变量占用不同的内存,而联合体共用一段内存,这就给保存浮点数提供了极大的便利。 比如我要保存一个浮点数a,我定义一个联合体 union {   float x;
无线网卡rt3070讲解EEPROM
好不容易才找到的描述RT3070等无线网卡的EEPROM。对开发无线网卡有帮助
延长FLASH和EEPROM芯片写入次数的小方法
开发电子产品时,常常需要断电后保存某些数据,这就需要使用FLASH或EEPROM芯片,这两种芯片,可擦除的次数是有限制的,通常FLASH为10万次,EEPROM要多一点,为100万甚至1000万次。FLASH的擦除不能单个字节进行,有一个最小单位,存储容量相对比较大,适合大量数据的存储;EEPROM可以单个字节进行擦除,存储容量不大,只适合存储少量的设置数据。         先以FLA
单片机EEPROM读写问题
有时候会碰到单片机<em>eeprom</em><em>写入</em>后读取不正确的问题,又找不到原因,有时候可能是<em>写入</em>和读取之间时间太短造成的
使用I2C读写EEPROM流程总结
1、配置I/O端口,确定并配置I2C的模式,使能GPIO和I2C时钟2、写    1)检测SDA是否空闲    2)按I2C协议发出起始信号    3)发出7位器件地址和写模式    4)要<em>写入</em>的存储区首地址    5)用页<em>写入</em>方式或字节<em>写入</em>方式<em>写入</em>数据    6)发送I2C通信结束信号3、读    1)检测SDA是否空闲    2)按照I2C协议发出起始信号    3)发出7位器件地址和写模式 ...
怎样用STM32 中的 I2C读写EEPROM(一)
I2C协议简介 I2C是一种串行同步通信方式,由一根时钟线和一根数据线组成.由Philips公司发明.由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。 它是一个支持多设备的总线。“总线”指多个设备共用的信号线。在一个I2C通讯总线中,可连接多个I2C通讯设备,支持多个通讯 主机及多个通讯从机。每...
PIC内部EEPROM读写操作
EPROM操作: 如果要读取一个字节, 用户首先必须向EEADRL寄存器<em>写入</em>地址,然后清除EEPGD控制位,以及EECON1的CFGS位, 然后再将RD位置高。需要的数据经过一次指令周期马上就出现在EEDATL里面了,下一个指令 就可以读取出来,当然为了稳定可以加noop。EEDATL寄存器将会保留该读取的值,直到下一次读取操作 或者是用户<em>写入</em>操作。 代码: EEAD
MC9S12G128 内部flash与eeprom的读写配置
因为MC9S12G128 有内部flash和<em>eeprom</em>所以不需要用到 sci来通信。 并且MC9S12G128的flash与<em>eeprom</em>是共同管理的所以存取方式相同,只是地址范围不同。如下表所示 flash module的初始化 void <em>eeprom</em>_Init(){    while(FSTAT_CCIF==0);            //等待正在<em>处理</em>的FLASH操作
STC单片机EEPROM读写
//**************************************************************** // STC单片机EEPROM读写--最简洁的的拿来就用保证没错^_^简洁至上! //-------------------------
28335的I2C对EEPROM的读写程序
28335的I2C对EEPROM的读写程序,用中断实现的,不是模拟的
实时操作系统VxWorks下的异常处理
<em>实时操作系统</em>VxWorks下的异常<em>处理</em>,常见异常以及<em>如何</em><em>处理</em>,对初学者有益。
EEPROM读写问题
最近用Mega16做一个步进电机的项目,以后把项目全部的内容贴上来跟大家分享呵呵,现在讨论一个防止EEPROM读写出错的小办法,我编写熔丝位是用AVRstudio里面的Jtag下载功能来烧熔丝位的,连上Jtag,AVRstudio的Jtag功能fuse选项里,把熔丝位中的Preserve EEPROM memory through the Chip Erase cycle钩上,Brown-out
MCu 内部flash操作--读
好几次在这里犯晕了,读flash需要操作地址  *地址 就可以了。
治标治本,彻底解决AVR单片机EEPROM数据丢失问题
在项目中复制出来的程序,使用时可能有些地方需要修改。  编译环境:WinAVR-20060421 + AVR Studio 4.12.498  Service Pack 4  基本思路:每份写到EEPRM的数据,都做三个备份,每个备份的数据都做CRC16校验,只要系统运行中出错,错误地修改了EEPROM数据,            那么根据校验字节就知道哪个备份的数据被修改了,然后用
EEPROM—_IIC总线编程,用按键控制IIC写入读取数据并由数码管显示
关于IIC串行总线的组成及工作原理 1.采用串行总线技术可以使系统的硬件设计大大简化,系统的体积减小,可靠性提高,同时,系统的更改和扩充极为容易。 2.常用的串行扩展总线有:IIC(Inter IC BUS)总线、单总线,SPI总线及Microwire、PLUS 3.IIC是一种串行总线,只有两根双向信号线: ...
Atmega64 EEPROM
Atmega64 EEPROM的存储 速度<em>较慢</em>
HAL库 EEPROM字符串读写
配置I2C 和串口 串口的配置就不做详细介绍   1 #include &quot;stm32f1xx_hal.h&quot; 2 #include &quot;Eeprom.h&quot; 3 #include &quot;string.h&quot; 4 extern I2C_HandleTypeDef hi2c1; 5 /*------д×Ö·û´®µ½EEPROMÖÐ*/ 6 void I2C_eepWritePage(u...
I2C eeprom调试经验
在写本文之前我不得不痛批ST的comtex-M3的I2C做得实在是太烂了!就这样一个简简单单的I2C,需要无数多的配置,无数多的寄存器,无数多的标志位,难道ST的目标就是把简单的东西复杂化么?复杂了就难用。另一方面,ST官方给的I2C <em>eeprom</em>例程中while死等的语句比比皆是,本来I2C就做得复杂,还四处布满死等代码,很容易在使用中让系统死机。言归正传,前边的抱怨也是我调试I2C的起因。查过
关于存储float浮点数到flash或eeprom中的方法
float 单精度浮点数占用32bit空间,不像存储整型或char型数据那么便捷,我们在存储float数据时就需要先将float数变换一下,变换成数组的格式,这样就方便存储和读取了,具体实现有以下方法:第一种存储方式(取地址法):  uint8_t datatmp[4]; //定义数组 因为float数据 占4个字节 float s; //这是...
Arduino - 使用EEPROM保存数据
EEPROM (Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器–一种掉电后数据不丢失的存储芯片。 arduino已经为我们准备好了EEPROM类库”EEPROM.h”。 我们要使用得先调用EEPROM.h,然后使用write和read方法,即可操作EEPROM。一、<em>写入</em>方法:EEPROM.write(address
Linux下的eeprom读写操作
利用Linux内核自带的IIC总线驱动,按系统提供的框架,用ioctl方法对<em>eeprom</em>设备进行读写操作,并分别按单字节及多字节读写方式,对外提供函数接口,以供外部程序方便调用。   程序由3个文件组成,分别为头文件,函数实现文件,及测试程序。 /* ********************************************************************
STM32系统学习——I2C (读写EEPROM)
I2C 通讯协议(Inter-Integrated Circuit)引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32 标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是
eeprom被误改写的问题
整理了网上的资料,总结一下。
网卡EEPROM介绍及内容写入方法
网上查了会儿资料,也没查出什么有用的中文资料来,所以就按平时的积累来写了。本文主要记载各种网卡中的内容,及在Linux下烧写的方法。平时的工作中遇到过4种网卡,8139, 8100, 8169, 8110,对于不同的网卡,EEPROM中的内容一般是不同的。  先扔出8139的<em>eeprom</em>内容:(通过烧写器把芯片里面的内容读出来,再通过hexdump工具变
stm32学习笔记---IIC通信以及用IIC实现EEPROM的读写
   IIC通信 #include &quot;i2c_driver.h&quot; #include &quot;systick_driver.h&quot; #define GPIO_PORT_I2C GPIOB /* GPIO端口 */ #define RCC_I2C_PORT RCC_APB2Periph_GPIOB /* GPIO端口时钟 */ #define I2C_SCL_PIN GPIO_Pin_6...
EEPROM实验(24C02)
EEPROM实验(24C02) 24C02简介 24C02是一个2K位串行CMOS 的EEPROM,内部含有256个8位字节。与 400KHz I2C 总线兼容 1.8 到 6.0 伏工作电压范围 低功耗 CMOS 技术 写保护功能 当 WP 为高电平时进入写保护状态 页写缓冲器 自定时擦写周期 1,000,000 编程/擦除周期 可保存数据 100 年 8 脚 DIP SOIC 或
psoc4的eeprom的使用
数据手册请参考官网 贴一下代码:(操作的地址是0x00002200) 向<em>eeprom</em>中写数据的代码如下: cystatus EE_status;                    EE_status=EEPROM_Write(&Number,(const uint8 *)0x00002200 ,1);             if(EE_status==CYRET_SUCCESS)
stm8s开发(九) EEPROM的使用:使用EEPROM存储数据!
EEPROM是单片机应用系统中经常会用到的存储器,它主要用来保存一些掉电后需要保持不变的数据。在以前的单片机系统中,通常都是在单片机外面再扩充一个EEPROM芯片,这种方法除了增加成本外,也降低了可靠性。现在,很多单片机的公司都推出了集成有小容量EEPROM的单片机,这样就方便了使用,降低了成本,提高了可靠性。 STM8单片机芯片内部也集成有EEPROM,容量从640字节到2K字节。最为特色的是
STM32L系列单片机内部EEPROM的读写
STM32L系列单片机内部提供了EEPROM存储区域,但实质上,其FLASH也是EEPROM类型,只不过有一块区域被开放出来专门用作EEPROM操作而已。STM32L的EEPROM使用寿命设计为100000次擦写以上,容量为2K-4K,这对于一般设备的参数存储来说是非常理想的。但从EEPROM使用方式看,其不适用于被反复修改的数据存储使用,一般作为配置参数,其修改次数往往是比较少量的。
STC15F2K60S2内部EEPROM的读写操作
一、STC15F2K60S2单片机内部EEPROM的介绍 STC15系列单片机内部集成了大容量的EEPROM,其与程序空间是分开的。利用ISP/IAP技术可将内部Date Flash当EEPROM,擦写次数在10万次以上。EEPROM可分为若干个扇区,每个扇区包含512个字节。使用时,建议同一次修改的数据放在同一个扇区,不是同一次修改的数据放在不同的扇区,不一定要用满。数据存储器的擦出操作是按扇...
转【Nucleo心得】+ STM32L系列单片机内部EEPROM的读写
STM32L系列单片机内部提供了EEPROM存储区域,但实质上,其FLASH也是EEPROM类型,只不过有一块区域被开放出来专门用作EEPROM操作而已。STM32L的EEPROM使用寿命设计为100000次擦写以上,容量为2K-4K,这对于一般设备的参数存储来说是非常理想的。但从EEPROM使用方式看,其不适用于被反复修改的数据存储使用,一般作为配置参数,其修改次数往往是比较少量的。 STM3...
常用串行EEPROM的编程应用(三)完结篇
SPI总线   SPI总线(Serial Peripheral Interface串行外围设备接口总线)是三线式的串行总线,是由摩托罗拉公司所研发,使用三线进行数据传输,分别是SCK时钟引脚,SI数据输入引脚和SO数据输出引脚,另外还有CS片选引脚可以对同一总线上的芯片进行选通使用,SPI总线已被广泛使用在EEPROM、单片机和各种设备中。常用串行EEPROM中的25XX系列芯片就是使用兼容SP
EEPROM存储复杂的数据
EEPROM里面存储的东西可不止短整型这一种,可能是char,可能是long,可能是array,甚至可能是一个struct。 那难道需要针对每一种数据类型做一个读写函数? 但是现实当中,我们需要在EEPROM里面存储的东西可不止短整型这一种,可能是char,可能是long,可能是array,甚至可能是一个struct。 那难道需要针对每一种数据类型做一个读写函数?这里我做了一套读写函数,可以适应任
操作系统--6设备管理
操作系统的目标就是要为设备的使用提供简单方便的统一接口,支持连接的可扩充性,并且优化I/O操作,实现最大的并发性。为了实现这一目标,操作系统需要在计算机进行输入输出时,管理和控制I/O设备,并提供适当的I/O操作支持,如驱动程序接口等。操作系统的这部分代码称为设备管理子系统。 6.1设备管理概述 设备分类: 1)按设备的信息组织方式分类 根据设备的控制复杂性及每次的数据传输单位等特性,将设
STM8S学习05——EEPROM读写操作C语言程序
/* 这两天项目开发中,用到STM8的EEPROM功能,几个数据要掉电保存,在网上也查了一下EEPROM操作,发现网上出现的问题主要有两点: 1、EEPROM读写不成功; 2、EEPROM读写的时间太长; 看了一下ST的库函数,自己测试了一下,没有发现什么问题,比较正常;在读写EEPROM期间,也有动态扫描LED数码管,没有发现数码管有闪烁。 操作过程中: 1、开发平台
做EEPROM的测试中发现一些奇怪问题。器件读写地址不唯一。
在做EEPROM的AT24Cxx实验中发现对芯片读写地址的不唯一问题。测试主要针对AT24C02和AT24C1024两款芯片进行测试,采用的是官方固件库的硬件I2C编程。
EEPROM中存储数据的字节序
背景: 最近在做仪表的时候,发现仪表EEPROM中存放的指针式输入输出校验表的数据有问题,和软件中的校验表信息存在差别,就打算去改下,因为之前有老前辈已经教过怎么去改了。但是当时没明白为什么这么去改,今天空闲静下来就理了理。 我当时拿到的EEPROM烧写文件是.bin的二进制文件:通过十六进制查看器查看到烧录数据如下: Address                  0         1...
Arduino读写EEPROM(一)
根据官方说明,各版本的Arduino都自带一个小容量的EEPROM,在各型号的arduino控制器上的AVR芯片均带有EEPROM,也有外接的EEPROM芯片,常见arduino控制器的EEPROM大小: Arduino UNO、Arduino duemilanove-m328、Zduino m328均使用ATmega328芯片,EEPROM都为1K Arduino duemilanove-m
分时操作系统和实时操作系统
分时操作系统 分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式<em>处理</em>服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时
STM32单片机内部EEPROM的读写
STM32L系列单片机内部提供了EEPROM存储区域,但实质上,其FLASH也是EEPROM类型,只不过有一块区域被开放出来专门用作EEPROM操作而已。STM32L的EEPROM使用寿命设计为100000次擦写以上,容量为2K-4K,这对于一般设备的参数存储来说是非常理想的。但从EEPROM使用方式看,其不适用于被反复修改的数据存储使用,一般作为配置参数,其修改次数往往是比较少量的。  
stm32Flash模拟eeprom心得(原创)
http://wenku.baidu.com/link?url=yAugWD5dBorILs9s_QJoLwjkUNPrE0vkQu0tmknM8xwur8JOZjnxV4pV3lsP8LJH_18RGPE3BflvCIyo0sYwMIsI8BXkhtwc1o9OFvk2-ye&qq-pf-to=pcqq.discussion
AVR单片机EEPROM学习
生活中我们经常会犯眼高手低的毛病,很多东西看着别人弄很容易,但轮到自己的时候就会发现其实没有想象中的简单。学完51单片机时,我以为小小的单片机无非就是进行一些IO口的控制罢了,但今天在进行AVR系列单片机学习的时候,才发现原来单片机还有很多的不同,自己原来掌握的东西还远远不足,所以无论到什么时候只有虚心学习,不断努力才能真正的掌握一门技术,学习的过程也是自己人格丰富的过程。下面来说说对EEPROM
Linux下的eeprom读写操作(IIC)
利用Linux内核自带的IIC总线驱动,按系统提供的框架,用ioctl方法对<em>eeprom</em>设备进行读写操作,并分别按单字节及多字节读写方式,对外提供函数接口,以供外部程序方便调用。   程序由3个文件组成,分别为头文件
如何防止EEPROM丢数据
一些工程师在使用EEPROM会出现EEPROM丢失的情况。   1、电源异常使EEPROM的数据彻底丢失; 2、复位不好和软件跑飞可能会使EEPROM的数据被改写。 要防止EEPROM数据被破坏,主要在以下几方面做工作: 1、选用比MCU的电源范围宽并有WP引脚的EEPROM芯片; 2、做好电源滤波,而且要等电源开机稳定后才去读写EEPROM; 3、做好复位电路; 4、做好
EEPROM读写控制器学习小结
花了近两三个星期,从夏宇闻的书中
STC15F104E单片机之EEPROM应用程序
/********************************************************************                             汇诚科技 实现功能:EEPROM应用程序 使用芯片:STC15F104E 晶振:12MHZ 编译环境:Keil 作者:zhangxinchunleo 网站:www.ourhc.cn 淘宝店
PIC16F877A单片机的EEPROM读写
#include //调用头文件,16F877A单片机 __CONFIG(0xFF32); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 #define L0 RD0 //定义L0为RD0端口  char buf; void WriteEE(char addr,char data);//EEPROM写函数 char ReadEE(cha
飞思卡尔单片机DZ60---EEPROM读写
//向EEPROM中<em>写入</em>数据,然后读出数据,赋值给PORTD,点亮相应的LED灯 #include /* for EnableInterrupts macro */ #include "derivative.h" /* include peripheral declarations */ #define uint unsigned int #define uchar unsi
浅谈实时操作系统任务调度
一、1、 调度用来确定多任务环境下任务执行的顺序和在获得CPU资源后能够执行的时间长度。     2、 操作系统通过一个调度程序来实现调度功能。    调度程序以函数的形式存在,用来实现操作系统的调度算法。调度程序本身并不是一个任务,是一个函数调用,可在内核的各个部分进行调用。     3、调用调度程序的具体位置又被称为是一个调度点(scheduling point),调
《嵌入式实时操作系统uCOS-II》邵贝贝(第二版)
《嵌入式<em>实时操作系统</em>uCOS-II》邵贝贝(第二版).pdf
STM8S读写内部EEPROM
1初始化函数
EEPROM读写 实例 可直接写到STC12C5616AD烧写板子上的C程序
EEPROM读写 实例 可直接写到STC12C5616AD烧写板子上的C程序
AVR STUDIO6 EEPROM两种方法分析
刚刚从ICCAVR转到WINAVR,使用起来非常不习惯,在ICC中EEPROM的读写程序,我都是根据手册来编写的。 在“芯艺”的“AVR单片机GCC程序设计”中,提到,要使用EEPROM,在GCCAVR中,有两种方法可以实现。 1、直接通过地址的方式来读和写操作        写操作:  <em>eeprom</em>_write_byte(0,a);         说明: 直接向EEPROM地址0写个数
转:关于对中颖EEPROM 的操作解析
[cpp] view plaincopy "code" class="cpp">/*      中颖EEPROM,使用比较方便,但有个注意点,就是每次无论你<em>写入</em>      什么数据或者在哪个地址写数据,都需要将对 对应的块擦除,擦      除后才能<em>写入</em>成功。  */   #define  SSPWriteFlag     0x5A   #define  
51单片机——EEPROM
单片机——E2PROM 宗旨:技术的学习是有限的,分享的精神是无限的。           24C02:256 个字节的 EEPROM。一般情况下,EEPROM 拥有 30 万到 100 万次的寿命。基于 I2C 通信协议的器件。I2C 是一个通信协议,它拥有严密的通信时序逻辑要求,而EEPROM 是一个器件,只是这个器件采样了 I2C 协议的接口与单片机相连而已,二者并没有必然
RT-Thread使用I2C读写eeprom例程(24c02)
实验准备: 开发板:正点原子探索者 RT-Thread源码 env工具 env配置: 使能相关的uart,用于打开控制台 打开I2C设备:   实验源代码: #include &amp;lt;rtthread.h&amp;gt; #include &amp;lt;rtdevice.h&amp;gt; #ifndef EEP_I2CBUS_NAME #define EEP_I2CBUS_NAME ...
RTEMS硬实时操作系统简介
RTEMS是前美国军方研制的嵌入式系统,早期的名称为实时导弹系统,后改名为实时军用系统,最突出的特点是非常的稳定,而且速度快,因此在通信、航天、工业控制、军事等领域有着非常广泛的应用。 这个系统拥有三套API接口,分别是基于RTEID的接口,还有POSIX API接口,这给应用程序的移植提供了很大的方便,还有一套接口是基于ITRON标准的,另外RTEMS还移植了FreeBSD的TCP/IP协议栈
LPC1788内部EEPROM使用的问题
最近使用LPC1788内部EEPROM存储数据时候发现问题:LPC1788的EEPROM扇区只有 0-62 63扇区不存在 uint32_t i, j; uint8_t count; uint8_t error = 0; debug_frmwrk_init(); _DBG(menu); EEPROM_Init(); count = sizeof(write
一个完整的EEPROM 测试程序,用宏晶的下载板可以直接测试
/*   --- STC International Limited ---------------- 一个完整的EEPROM 测试程序,用宏晶的下载板可以直接测试 STC12C5AxxAD 系列单片机 EEPROM/IAP 功能测试程序演示 STC12C52xxAD 系列单片机 EEPROM/IAP 功能测试程序演示 STC11xx 系列单片机 EEPROM/IAP 功能测试程序演示
kfs_1_0_1_release.rar
kfs嵌入式文件系统,适用于小型<em>存储设备</em>,例如EEPROM,flash等,详细说明请查看博客
实时操作系统延时问题
嵌入式<em>实时操作系统</em>任务设计经验以及操作系统函数的恰当使用 如果你用过嵌入式<em>实时操作系统</em>,那么你肯定知道操作系统的最大特点就是任务的并发执行,和高效的CPU利用率,同时在程序运行过程中高优先级任务必须调用系统函数,不然就会导致高优先级任务一直占用CPU使用权,从而使低优先级的任务无法获得CPU的使用权,这样做反而不能发挥出操作系统实时调度的优点。同时不当的使用操作系统任务
单片机读取EEPROM(AT24C02)
单片机读取EEPROM(AT24C02) 作者:Changing发表时间:05-18 13:30分类:电子相关No Comments       在 arm cortex-m3中 有专门的断电保护寄存器(BKP寄存器) ,在主电源切断或系统产生复位时间时,BKP寄存器仍然可以再备用电源的支持下保持其内容。在实际应用中可以存入重要数据,防止被恶意查看,或用
I2C总线EEPROM实现
今天实现了一下I2C总线的EEPROM。。 开发板是fl2440板子。。跑的Linux3.0内核 这里的EEPROM只是初步的实现。。并没有具体的分析函数。。以后会具体的分析。。 1.修改内核 改make menuconfig     Device Drivers  - I2C support  -  --- I2C support                
自动写卡程序
往<em>存储设备</em>(如U盘、移动<em>存储设备</em>)自己<em>写入</em>内容的工具。方便了在需要往多个<em>存储设备</em><em>写入</em>内容的时候。
C#新手练习:开发一个应用,模拟移动存储设备的读写
开发一个应用,模拟移动<em>存储设备</em>的读写,即计算机与U盘、MP3、移动硬盘等设备进行数据交换 提示:已知要实现U盘、MP3播放器、移动硬盘三种移动<em>存储设备</em>,要求计算机能同这三种设备进行数据交换,并且以后可能会有新的第三方的移动<em>存储设备</em>,所以计算机必须有扩展性,能与目前未知而以后可能会出现的<em>存储设备</em>进行数据交换。各个<em>存储设备</em>间读、写的实现方法不同,U盘和移动硬盘只有这两个方法,MP3Player还有一
利用STM32的FLASH模拟 EEPROM(F103)系列
       STM32的FLASH是用来存储主程序的,ST公司为了节约成本,没有加入 EEPROM,但是许多场合下我们需要用EEPROM;不过FLASH的容量还是可观的,我们可以利用FLASH模拟EEPROM。      根据《STM32F10X闪存编程》中的介绍,FLASH除了保存用户代码的部分,其余部分我们是可以利用其作为数据存储使用的。stm32的FLASH分为主存储块和信息块。主存储块用...
嵌入式实时操作系统的基本概念
1.计算机操作系统概念   应用软件 Microsoft Word 、Photoshop、…、ACDSee 系统软件 编译程序、汇编程序、编辑程序、…、数据库 操作系统 Windows、Linux、..、Solars 计算机硬件系统          计算机软件 操作系统在计算机中的地位 一
Arduino 编程相关 使用EEPROM 断电数据不消失
很多时候,我们会在运行某个功能的时候要记录数据, 例如 我要做个人流量计算器,如果长时间运行又或者换电池等情况,会把珍贵的数据丢失。 所以现在我们用Arduino的EEPROM来及时存储数据,以便以后调用。 注意 EEPROM的刷写次数是有限的 Arduino EEPROM 的设计寿命是 100,000 write/erase cycles (10万次<em>写入</em>/清除
I2C总线结构的EEPROM
常用芯片AT24C02 AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节。AT24C02有一个8字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能 引脚 SCL 串行时钟 AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。 SDA 串行数据/地址 AT24C02 双向串行数据/地址管脚用于
flash 和 eeprom 区别和关系(转)
单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM 中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPROM 或FLASHROM 等存储器来实现。在传统的单片机系统中,一般是在片外扩展存储器,单片机与存储器之间通过IIC 或SPI 等接口来进行数据通信。这样不光会增加开发成本,同时在程序开发上也要花更多的心思。在STC 单片机中内置了EEPROM(其实是采用IA...
分时操作系统与实时操作系统
分时操作系统与<em>实时操作系统</em> <em>实时操作系统</em>  <em>实时操作系统</em>   英文称Real Time Operating System,简称RTOS。   1.<em>实时操作系统</em>定义   <em>实时操作系统</em>(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以<em>处理</em>,其<em>处理</em>的结果又能在规定的时间之内来控制生产过程或对<em>处理</em>系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及
嵌入式实时操作系统μC/OS-III([美] 拉伯罗斯 著;宫辉等 译、邵贝贝)
嵌入式<em>实时操作系统</em>μC/OS-III源码分析的书籍,学习RTOS深入学习以及入门必备的书籍
文章热词 像处理噪声去噪处理 随机森林特征处理 像处理颜色设置 像处理dpc 像处理encoder 编码
相关热词 c++对图像的处理 c# 对大文件的处理 c#对身份证复印件处理 android usb存储设备 大学生参加人工智能等培训 人工智能写入中小学课程
我们是很有底线的