蓝桥杯嵌入式 eeprom初次上电判断
问题:
比赛往往要求初值确定如k=0.1,运行过程中改变k的值,再次上电k的值保存
若直接
Write_at24c02(0,u8(k*10));
初始化时
k=0.1*Read_at24c02(0);
第一次上电不一定0地址内存中的值为1,所以不可取
解决:
上电时检查特定内存(如0x30)中的内容是否为自己设定的id(如3713).
若是,则不是初次上电,可以读取存入指定内存的值,
若否,则是初次上电,0x30存入3713.
上电时检查id
union My_ID
{u16 id;u8 str[4];}My_id;void id_check(void)
{u8 i;for(i=0;i<4;i++){My_id.str[i]=Read_AT24c02(0x30+i);//多写入几个内存避免id恰巧与内存中的值相同}if(My_id.id==3713){k=0.1*Read_AT24c02(0);}else{My_id.id=3713;for(i=0;i<4;i++){Write_AT24c02(0x30+i,My_id.str[i]);Delay_Ms(5);}Write_AT24c02(0,1);Delay_Ms(5);}}
解释一下union类似结构体
但又很不一样,其中的变量公用一个内存 ,改变其中一个,则另一个也改变
k改变时写入 at24c02
void eeprom_proc(void)
{if((u8)(k*10)!=k_eeprom){ Write_AT24c02(0,(u8)(k*10));Delay_Ms(5);k_eeprom = (u8)(k*10);}
}
蓝桥杯嵌入式 eeprom初次上电判断相关推荐
- STM32G4 蓝桥杯嵌入式 IIC AT24C02储存器
此模块是我初次接触到数据手册,也是第一次接触到通讯协议,所以在b站录有视频,包括IIC的原理,以及在蓝桥杯竞赛板上实现对EEPROM的读写,感兴趣可移步: STM32G431 蓝桥杯嵌入式 AT24C ...
- 蓝桥杯嵌入式第七届省赛——“模拟液位检测告警系统”旧板标准库
一.赛题分析 模拟液位检测告警系统,涉及到KEY.ADC.EEPROM.LED.USART.LCD等模块.本届赛题相对简单,各个模块均可在往期文章中找到配置方法和编写说明.如: 蓝桥杯嵌入式--第六届 ...
- 突击蓝桥杯嵌入式(十二)——第十二届省赛第一场真题 停车场
突击蓝桥杯嵌入式(十二)--第十二届省赛第一场真题 停车场 一.题干 二.题目解析 所需: PA7 PWM LED(锁存器) 串口9600 LCD 按键4个,整体难在逻辑,我们先配置好硬件,进入工程 ...
- 蓝桥杯嵌入式比赛知识点合集(现在什么都有好吧)
目录 新建工程 LCD sprintf 格式 输出百分号 输出格式:%R memset函数 LCD_DisplayStringLine函数 嘀嗒定时器 高亮 行高亮 一两个字符高亮 单个字节高亮 使用 ...
- STM32G431-基于HAL库(第十四届蓝桥杯嵌入式模拟题2)
文章目录 前言 一.CubeMX配置(第十四届模拟题2完整版) 二.代码相关定义.声明 1.函数声明 2.宏定义 3.变量定义 三.主要函数 1.按键扫描 2.各参数控制 3.LCD显示 4.输出信号 ...
- 蓝桥杯嵌入式——题目总结及文章汇总
蓝桥杯嵌入式--题目总结及文章汇总 一.前言 笔者也是最近准备参加第十二届蓝桥杯嵌入式的选手,希望能够和大家一起学习.我也将我自己学习过程中,学习stm32遇到的一些问题,以及刷题的代码等都进行了整理 ...
- 【蓝桥杯嵌入式】【STM32】7_RTC之实时时间显示和硬件闹钟设置
文章目录 1.RTC的三个可用时钟源 2.RTC框图 3.写代码前需要知道的一些标志位 4.配置流程 5.源代码 6.关于设置闹钟这件事 6.1.配置流程 6.2.实验源代码 下载工程文件: ...
- 第九届蓝桥杯-嵌入式比赛体会与备赛经验
原文地址:http://www.cnblogs.com/NickQ/p/8721317.html 说起蓝桥杯,相信很多电子类的学生,应该很熟悉了吧...上周日,我也去湖北工业大学参与了一下.说起这次经 ...
- 蓝桥杯嵌入式CT117E硬件开发平台经验分享11 | 第九届蓝桥杯国赛题
基于 基于 CT117E 嵌入式竞赛板 嵌入式竞赛板 的 "电子秤"程序设计与调试 赛题硬件框图 由于赛题细节多,赛题PDF要求书放入了附件,链接后续加入.本文主要讲述本届题目的困 ...
最新文章
- 讨论工字型接收线圈天线不同匝数对于低频定位信号检测影响:150kHz导航信号
- Dubbo 源码分析 - SPI 机制
- android volley post 参数,android – 使用Volley POST传递参数
- 编解码再进化:Ali266与下一代视频技术
- leetcode 338. 比特位计数
- 前端学习(504):垂直居中的第一种方式
- ThoughtWorks洞见领域驱动设计思维导图笔记
- mysql选择联合索引还是单索引?索引列应该使用哪一个最有效?深入測试探讨...
- GTUG的推荐给大家的一本书
- Mahout学习笔记-分类算法之Decision Forest
- The 7th Zhejiang Provincial Collegiate Programming Contest-Problem B:B - Somali Pirates
- unix系列系统镜像下载
- 深入浅出SCSI子系统(六)SCSI 磁盘驱动
- Webots中创建舵轮模型
- 苹果id注册显示无法连接服务器失败原因,apple id连接服务器失败怎么办
- 手绘类短视频怎么制作?从剪辑到配音,后期制作也很重要
- 计算机校本培训 培训总结,校本培训工作总结(2015—2016学年度)
- html修改word页边距,Word怎么只修改一页的页边距,而不影响同一文件中的其他页?...
- 微信小程序开发《6 .框架之逻辑层》
- MTD系列 - 关于linux MTD的一些理解