请问一下,我想在iar里面在一个工程里面调用另一工程的功能,该怎么实现呢?(我用的是msp430f149)

我现在有两个程序,一个是检测温度并显示的,一个是使蜂鸣器叫的,我想在温度超过某值时让蜂鸣器叫,怎么实现呢?... 我现在有两个程序,一个是检测温度并显示的,一个是使蜂鸣器叫的,我想在温度超过某值时让蜂鸣器叫,怎么实现呢? 展开
 我来答
sjl999999999
2012-02-16 · TA获得超过171个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:225万
展开全部
你的程序主体是循环吧

循环检测温度和显示,在检测结束之后,if 温度超过预定 就启动蜂鸣器,else关闭蜂鸣器,建议你取一个范围,否则温度变化频繁,不太好。这种方法最简单,但是也有问题,假如每次都超过预定,那每次都发出启动指令,这不合理。可以第一次超过的时候启动然后弄个标志位,下一次判断一下标志位,是不是驱动状态,如果是,跳过去,往后执行,如果不是启动状态,那么启动。这就合理了。另外也可以更改整体的程序结构
你测试温度,时间要求不太高吧 可以设个定时器,到定时器时间了 检测一次。这是在定时中断执行的,主程序里,就循环显示和判断,是否超过预定了,超过就启动蜂鸣器,方法和前面的一样。
追问
我写这个程序就是用来检测温度并报警的,它如果达到了预设值,就启动蜂鸣器和小灯,如果降到了预设值一下就关闭。您是不是说频繁的启动外设会对硬件不好,然后判断外设现在的启动状况,然后在它没有启动的时候才再去启动它?我觉得外设可以承受的住吧,我观察现象了的,没问题。然后我启动蜂鸣器后会出现“死机”的情况,它一直响,cpu好像控制不了它似的,不知道怎么让其退出,即使温度降下来了还在叫,怎么办呢?
追答
从控制角度说 发出一次控制信号 让他启动 他就启动  让他停止他就停止 是合理的  虽然频繁发启动指令也没事儿 ,但是我感觉不好  没必要啊  就好像你在吃饭  朋友总和你说 你该吃饭了 一个道理。你说的没有响应的问题 我怀疑有两个可能 一个是你的关断信号启动了 后来又被启动信号覆盖了  另外一个  就是你的控制有问题,建议你先定时开关报警  看报警器能不能正常开断  如果可以  证明报警器控制没问题  然后就可以专心找你控制时序的问题了 你按照代码自己走一遍程序  看什么地方不对劲 。
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式