【单片机学习笔记】第十一届省赛复盘

失误一:函数数值要想对主程序有效,请使用指针

如此操作,EEPROM_read无效,无法把值读回主程序

建议以后还是用数组就好

失误二:强制类型转换优先级错误

// Bug 处1 - adc_proc

adc_parm = (unsigned char)veg_parm * 51;

// 等价于:((unsigned char)veg_parm) * 51

// veg_parm = 2.5 时:(unsigned char)2.5 = 2,2*51 = 102 ← 错误!

// 正确应为:2.5*51 = 127.5 → 127

// Bug 处2 - key_proc(EEPROM存储)

EEPROM_veg_parm = (unsigned char)veg_parm * 10;

// veg_parm = 2.5 时:(unsigned char)2.5 = 2,2*10 = 20 → 存入EEPROM

// 读出后:veg_parm = 20/10.0 = 2.0 ← 丢失小数!

修复:括号套住整个表达式:
adc_parm = (unsigned char)(veg_parm * 51.0); // main.c:94
EEPROM_veg_parm = (unsigned char)(veg_parm * 10.0); // main.c:132

相关推荐
math_hongfan3 分钟前
鸿蒙ArkTS手势交互:拖拽、缩放、旋转与组合手势
学习·华为·交互·harmonyos·鸿蒙
疯狂打码的少年6 分钟前
【数据结构】复习日:树 + 图 + 排序(整理对比表)
数据结构·笔记·算法
~kiss~16 分钟前
Agent Memory System 之 Recent Advance
学习
苏子寒41 分钟前
Nano-VLLM全代码解析笔记(2)-block_manager
人工智能·笔记·python·机器学习·nlp·vllm
心仪久了会沦陷1 小时前
数据结构入门系列——顺序表详解:概念、分类与动态实现
c语言·数据结构·经验分享·笔记·开源
芯片设计-曾工1 小时前
YL1621(SSOP28)国产段码LCD驱动芯片|PIN‑PIN兼容HT1621,储能电量显示板CH2505B国产化替换方案
stm32·单片机·嵌入式硬件·mcu·硬件工程
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】C++日志体系与spdlog封装的理论部分
开发语言·c++·ide·人工智能·学习·面试·trae
超爱西西鸭1 小时前
鸿蒙ArkTS文件管理:fileIo 文件读写与目录操作
学习·华为·harmonyos·鸿蒙
dear_bi_MyOnly1 小时前
C语言控制语句与循环逻辑精讲
c语言·开发语言·学习·分类
超爱西西鸭1 小时前
ArkTS传感器开发:加速度计与数据监听
学习·华为·harmonyos·鸿蒙