中颖EEPROM 操作
来源:互联网 发布:凯知乐官网 编辑:程序博客网 时间:2024/04/28 02:22
<pre name="code" class="cpp">/*中颖EEPROM,使用比较方便,但有个注意点,就是每次无论你写入什么数据或者在哪个地址写数据,都需要将对 对应的块擦除,擦除后才能写入成功。*/#define SSPWriteFlag 0x5A#define SSPEraseFlag 0xA5//数据区 扇形区1#defineADDR_START1(uint16)0x100 //数据存储区起始地址#defineADDR_START2(uint16)0x200 //数据存储区起始地址//数据区 扇形区2#defineAddr1UserHave(uint16)0x101 //用户地址1#defineAddr2UserHave(uint16)0x102 //用户地址2uint8 Ssp_Flag = 0 ;//*************************************// 函数名称:Ssp_Write// 函数功能:SSP擦除某块的地址// 入口参数:被写数据的地址 数据// 出口参数:无//***************************************void Ssp_EraseBlock(uint16 addr){CY=EA;EA=0;IB_CON1 = 0xE6;IB_CON2 = 0x05;IB_CON3 = 0x0A;IB_CON4 = 0x09;if(Ssp_Flag != SSPEraseFlag){IB_CON2=0;goto Erase_Err;}XPAGE = (addr>>8) & 0x07; FLASHCON=1;IB_CON5 = 0x06;_nop_();_nop_();_nop_();Erase_Err:Ssp_Flag=0;FLASHCON=0;XPAGE=0;EA = CY;}//**************************************// 函数名称:Ssp_Write// 函数功能:SSP向某地址写一字节数据// 入口参数:被写数据的地址 数据// 出口参数:无//***************************************void Ssp_WriteByte(uint16 addr,uint8 dat){CY=EA;EA=0;IB_DATA = dat;IB_OFFSET = addr&0xff; //取被编程的低8位地址IB_CON1 = 0x6E;IB_CON2 = 0x05;IB_CON3 = 0x0A;IB_CON4 = 0x09;if(Ssp_Flag != SSPWriteFlag){IB_CON2=0;goto Write_Err;}XPAGE = ((addr>>8) & 7); //被编程的扇形区0-3 FLASHCON=1;//对类EPROM编程开始IB_CON5 = 0x06;_nop_();_nop_();_nop_();_nop_();Write_Err:Ssp_Flag=0;FLASHCON=0;XPAGE=0;EA = CY;}//*************************************// 函数名称:Read_Flash// 函数功能:读数据 向FLASH// 入口参数:读数据的地址// 出口参数:无//***************************************uint8 Read_FlashByte(uint16 addr){uint8 temp;FLASHCON=1;temp=*(uint8 code *)(addr); FLASHCON=0;return(temp);}//应用实例: Ssp_EraseBlock(ADDR_START1);//擦除块1 Ssp_WriteByte(Addr1UserHave,0x88);//在地址Addr1UserHave中写入0x88 R_Data = Read_FlashByte(Addr1UserHave);//读地址Addr1UserHave的值
13 2
- 中颖EEPROM 操作
- 转:关于对中颖EEPROM 的操作解析
- STM8S 操作内部EEPROM
- 51 EEPROM操作模板
- STM8S EEPROM 操作
- Arduino EEPROM 的操作
- EEPROM的写入操作解析
- PIC内部EEPROM读写操作
- EEPROM
- EEPROM
- eeprom
- EEPROM
- eeprom
- EEPROM
- EEPROM
- EEPROM读写操作常见的陷阱
- EEPROM读写操作常见的陷阱
- EEPROM读写操作常见的陷阱
- windows身份认证
- Java性能优化,不得不付诸实践的JVM
- oracle 与 sql server 区别之05 实例名和SID
- Oracle中比对2张表之间数据是否一致的几种方法
- matlab filtic 函数应用 filter 解差分方程 dft 函数
- 中颖EEPROM 操作
- 有什么程序可以做从Pascal 或Fortran (或LISP, Ada, awk,“老” C) 到C 的转换?
- oracle11G AWR使用及分析
- 【Linux编程】竞争条件
- SVM的高斯kernel 参数c和gamma说明
- 百度地图显示标注,标注信息为数据库查询的数据
- 文件格式无效 SYLK 打开文件时出现错误信息
- 配置Tomcat 中文字符集问题
- spring配置文件详解--真的蛮详细