打印

中断的处理

[复制链接]
3083|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
w18263346613|  楼主 | 2013-5-2 13:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是个新手,刚学习easy arm 1138开发板。现在我用ds18b20测量温度,我想让他在温度大于20度的时候产生蜂鸣器报警。但是用中断又使温度无法继续测量,所以很纠结。还有就是产生蜂鸣器响的中断应该是手动产生if(temp>20){产生中断}一直都无法实现。希望大家帮我解决一下,不胜感激。
  for (;;)
    {
      presence = tempInit();
      
      if(presence == 0X02)
      {
      uartPuts("出现错误请检查!\r\n");
      str1 = "错误";
      str2 = "请检查温度传感器";
      LCD_WriteStr(1,3,str1);
      LCD_WriteStr(3,1,str2);
      SysCtlDelay(2000 * (TheSysClock / 3000));
      }
     else
     {
      str3 = "当前温度";
      myTemp = readStr();
      uartPuts("当前温度\r\n");
      sprintf(s,"%s\r\n",myTemp);
      d=(int)myTemp;
      uartPuts(s);
      LCD_WriteStr(1,3,str3);
      LCD_WriteStr(3,3,myTemp);
      SysCtlDelay(2000 * (TheSysClock / 3000));
      if(d>20){
        uartPuts(s);
        GPIOPinWrite(KEY2_PORT , KEY2_PIN, 0x00);  
        
      }
     }
   }     

这个if语句中应该怎么写???   

相关帖子

沙发
阿南| | 2013-5-2 15:55 | 只看该作者
你测完温度后,再进中断,中断出来后再测

使用特权

评论回复
板凳
w18263346613|  楼主 | 2013-5-2 16:00 | 只看该作者
但是这个温度是一个实时监测,不能停的呀,就是说要并行的产生

使用特权

评论回复
地板
w18263346613|  楼主 | 2013-5-3 11:32 | 只看该作者
阿南 发表于 2013-5-2 15:55
你测完温度后,再进中断,中断出来后再测


但是这个温度是一个实时监测,不能停的呀,就是说要并行的产生

使用特权

评论回复
5
阿南| | 2013-5-3 12:49 | 只看该作者
温度是一个慢速系统,中断出来再进去,时间都是毫称甚至微称级的,完全可以的。
目前还没有真正意义上的并行系统。

使用特权

评论回复
6
jlass| | 2013-5-3 14:32 | 只看该作者
楼主不要纠结了,楼上的方法很合理

使用特权

评论回复
7
w18263346613|  楼主 | 2013-5-4 18:15 | 只看该作者
好吧,也只能这样了。我用的这个最小系统似乎还没达到并行的水平

使用特权

评论回复
8
liushuwei12| | 2013-5-4 20:33 | 只看该作者
为什么要进中断?你if(temp>20)就让蜂鸣器响,蜂鸣器响给一个IO口送个高电平就可以,if完成后就继续测温了;else(就把蜂鸣器关了)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝