野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14029|回复: 8

初学STM32,请大家一个小程序给个思路吧

[复制链接]
发表于 2014-10-10 19:07:59 | 显示全部楼层 |阅读模式
我希望能做到由一个STM32来监测AB两点的温度,当A点达到阈值开始计时,随后B点达到阈值停止计时.
如何才能用STM32来实现这个计时功能?读出时间?
回复

使用道具 举报

 楼主| 发表于 2014-10-10 19:28:38 | 显示全部楼层
求解决啊......
回复 支持 反对

使用道具 举报

发表于 2014-10-10 20:19:28 | 显示全部楼层
Andy_S 发表于 2014-10-10 19:28
求解决啊......

用DS18B20或者DHT11啊,你说这个很容易实现吧,A点温度使能定时器,中断服务函数用一个全局标志位计数,每来一个中断标志位加1,B点温度时看看标志位计了几次数,就能算出来时间。只是笼统的给个想法,我觉得应该能实现~
回复 支持 反对

使用道具 举报

发表于 2014-10-11 08:29:34 | 显示全部楼层
弄两个DHT11,分别采集AB两点的温度,1秒钟采集一次。使用Systick滴答定时器,设置为1秒钟中断,设置一个计数器。
程序初始化,计数器清零,启动滴答定时器,每秒都采集两点温度进行判断,if (A点温度 >= 阀值) 计数器++; if (B点温度 >= 阀值)输出计数器的值就是想要的时间秒数了。
这是执行一次,想要再复杂一点的话就自己想把。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-11 10:50:43 | 显示全部楼层
獨自、成雙 发表于 2014-10-10 20:19
用DS18B20或者DHT11啊,你说这个很容易实现吧,A点温度使能定时器,中断服务函数用一个全局标志位计数,每 ...

可能我没有说清楚吧,这样的,就是计算火焰从A点传到B点的时间度量.AB两点各有一个DS18B20,只有当温度达到阈值时才发生中断吧,所以顶多也就两次中断.貌似不能就行标志位的加1来计算.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-11 10:55:19 | 显示全部楼层
yinhao 发表于 2014-10-11 08:29
弄两个DHT11,分别采集AB两点的温度,1秒钟采集一次。使用Systick滴答定时器,设置为1秒钟中断,设置一个计 ...

非常感谢!我昨天想了一下,是不是可以用STM的RTC实时时钟来计时.先预先设置好标准时间,当发生A点中断时读取时间戳,B点发生中断再读取时间戳,这样就能计算出时间.
不过感觉你的方法更加方便简洁,你看我的想法应该可行吧.我正在尝试这样去做
回复 支持 反对

使用道具 举报

发表于 2014-10-11 11:13:42 | 显示全部楼层
Andy_S 发表于 2014-10-11 10:55
非常感谢!我昨天想了一下,是不是可以用STM的RTC实时时钟来计时.先预先设置好标准时间,当发生A点中断时读取 ...

你的想法原理上可行,实现起来需要一些额外的代价,例如RTC需要外加纽扣电池保证不断电。
看你工程实际情况决定采用哪种方案。
看你回复楼上的话,貌似有点抵触中断。希望中断越少越好,就触发两次对吧。其实,1秒钟触发一次中断,在中断里执行一个判断一个自增也就几百纳秒的事情,几乎可以忽略,而且你可以把中断优先级降低来让其他重要事情先做,它迟个几毫秒几微秒对你也没多大影响,毕竟你1秒转换一次温度,对这个时间的要求就不严格。
以上,希望对你有帮助。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-11 11:25:40 | 显示全部楼层
yinhao 发表于 2014-10-11 11:13
你的想法原理上可行,实现起来需要一些额外的代价,例如RTC需要外加纽扣电池保证不断电。
看你工程实际情 ...

确实,看具体的工程吧.
中断没有不喜欢,这是个很强大的功能,这里涉及两种中断了,一个是传感器进来的中断,另一个是定时器的中断.
其实大家的意思都理解了,表述比较模糊吧.这个问题就过了吧,对我的帮助很大,谢谢.
回复 支持 反对

使用道具 举报

发表于 2014-10-27 17:05:22 | 显示全部楼层
飞哥飞哥威武!!!!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 16:31 , Processed in 0.032920 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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