找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1314|回复: 5
打印 上一主题 下一主题
收起左侧

为什么我上一个lcd1602函数能读取到temp,但是在报警中却读取不了temp

[复制链接]
跳转到指定楼层
楼主
相关如下
void LcdDisplay(int temp)得temp能用,但是void warn(int temp)说我的temp没定义?
程序如下
void LcdDisplay(int temp)   
{   
   unsigned char  datas[] = {0, 0, 0, 0, 0};
   unsigned char TempH,TempL;
if(temp&0x8000)  
   {
  LcdWriteCom(0x85);
  LcdWriteData('-');
  temp=~temp;
  temp +=1;
}
else   
{
  LcdWriteCom(0x85);  
  LcdWriteData('+');   
}
TempH=temp>>4;
TempL=temp&0x0F;
TempL=TempL*6.25+0.5;
datas[0] = TempH/100%10;
datas[1] = TempH/10%10;
datas[2] = TempH%10;
datas[3] = TempL/10%10;
datas[4] = TempL%10;

LcdWriteCom(0x86);   
LcdWriteData('0'+datas[0]);

LcdWriteCom(0x87);   
LcdWriteData('0'+datas[1]);

LcdWriteCom(0x88);
LcdWriteData('0'+datas[2]);

LcdWriteCom(0x89);  
LcdWriteData('.');  

LcdWriteCom(0x8a);
LcdWriteData('0'+datas[3]);
   
}
void warn(int temp)
{
if(temp>=27)
{
  beep=~beep;
  delay(50);
}

}


温度报警.zip

32.8 KB, 下载次数: 4

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2020-3-13 22:28 | 只看该作者
你的程序里到处定义变量名temp,有全局变量temp、局部变量temp、形式参数temp,不出错才怪。
回复

使用道具 举报

板凳
ID:505032 发表于 2020-3-14 08:51 | 只看该作者
全局变量tempa、局部变量temp1、形式参数temp2 -------楼主一定会怎么改的,是不是?
回复

使用道具 举报

地板
ID:699723 发表于 2020-3-14 09:13 来自手机 | 只看该作者
wulin 发表于 2020-3-13 22:28
你的程序里到处定义变量名temp,有全局变量temp、局部变量temp、形式参数temp,不出错才怪。

是不是把所有同一个temp统一成一个全局变量就可以了
回复

使用道具 举报

5#
ID:213173 发表于 2020-3-14 15:54 | 只看该作者
不来也不去 发表于 2020-3-14 09:13
是不是把所有同一个temp统一成一个全局变量就可以了

给你改好了,自己对照就知道哪里错!
温度报警 仿真.zip (142.25 KB, 下载次数: 6)




回复

使用道具 举报

6#
ID:699723 发表于 2020-3-15 18:47 | 只看该作者
wulin 发表于 2020-3-14 15:54
给你改好了,自己对照就知道哪里错!

谢谢老师!问题已解决
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表