把别人的程序模块化之后就不显示温湿度了,之前全在main的时候能正常显示。模块化之后就不显示温湿度了,这是怎么回事?
5条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
根据你提供的信息,您在将一个温湿度显示程序模块化后出现了不显示温湿度的问题。从代码片段来看,
data pros()
函数中读取了 DHT11 温湿度传感器的数据,并将其转换为可显示的字符形式存储在temp_buf
和humibuf
中。然而,在模块化之后,可能存在的问题是没有正确调用该数据处理函数或没有正确更新 LCD 显示。分析整个流程,当 mode=0 时,应该会显示实时温湿度。但请注意,图3和图4-图5中的代码段似乎存在结构错误,例如
{}
括号没有正确匹配闭合,这可能导致部分代码未被执行。你需要检查并修正这些语法错误以确保正确的逻辑执行。此外,请确保在主函数(main)中正确地初始化 LCD 并且在循环中调用了
datapros()
函数来获取并刷新温湿度数据到 LCD 上。这里是一个修复后的、简化的主函数示例:#include "Key.H" #include "LCD1602.H" #include "DHT11.H" void main() { unsigned char i = 0; lcd_init(); // 初始化 LCD while(DHT11_Init()) { // 检测 DHT11 是否存在 // ... 错误处理或初始化提示 } Init_EEPROM(); i = 0; while(1) { key_pros(); // 处理按键输入 baojinpros(); // 报警处理 datapros(); // 获取并处理温湿度数据 // 更新 LCD 显示 if(mode == 0) { lcd_init_display(); for(i = 0; i < 2; i++) { wrc(0x85 + i); wrd(tempbuf[i]); } // 显示温度单位和湿度值 // ... } else { // 其他模式下的显示... } Delay(1000); // 确保每次读取 DHT11 数据之间的间隔足够 } }
同时,需要确认在
datapros()
函数内部,temph
,templ
,humih
,humil
这些变量是否已正确赋值。如果它们是在用户交互过程中动态设置的,那么请确保在调用data pros()
之前已经进行了有效赋值。总之,请检查并修复所有语法错误以及确保模块间的正确协同工作,特别是在主函数中正确调度各个模块的功能实现。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
- ¥30 STM32 INMP441无法读取数据
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥15 pyqt信号槽连接写法
- ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注