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

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

如此操作,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

相关推荐
smartpi_ai12 分钟前
CI-73T 的三个串口怎么分?下载口固定的引脚账本、词条 150 条的“词数“口径与硬 PWM 控舵机的性能边界
单片机·嵌入式硬件·语音识别
艾芯微科技20 分钟前
ESDUNL24VC1 单向 ESD 静电保护二极管参数、电路设计与 PCB 防护布局
网络·单片机·嵌入式硬件·集成测试·51单片机
Kuakewei88822 分钟前
OVP/OCP过压过流保护芯片设计指南:过压关断、限流与短路保护
嵌入式硬件
佳児素花痴╮26 分钟前
STM32(中断)
stm32·单片机·嵌入式硬件
传奇开心果编程34 分钟前
【Rust入门知识点学与练】第36课:所有权——移动、借用、Copy、切片
开发语言·学习·rust
传奇开心果编程1 小时前
【Rust入门知识点学与练】第35课:工具链与反馈环——先学会读编译器在说什么
开发语言·学习·rust
ZLG_zhiyuan2 小时前
示波器探头选型指南:5大分类,3步正确适配(附避坑清单)
单片机·嵌入式硬件
优化Henry2 小时前
学习笔记之关于MME不通问题归纳
运维·网络·学习·5g·信息与通信
M78佐菲9 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
高亦真10 小时前
今天是学习嵌入式的第37天
linux·学习·算法