搜索
bottom↓
回复: 11

ucosIII的任务中等待外部输入一个低电平,有什么好方法?

[复制链接]

出0入0汤圆

发表于 2017-11-1 20:54:37 | 显示全部楼层 |阅读模式
ucos的多个任务当中,其中一个任务需要等待外部输入端子为低平,当输入端为低时,要求尽快响应。目前想到的办法是用EXTI 外部中断,在任务需要等待低电平时,开启下降沿触发的外部中断,之后pend等待信号量。当外部输入端子从高电平下降到低电平时,产生中断。在中断程序中再向任务发送信号量来触发任务运行。但如果输入端子在任务等待前就已是低电平,就不会触发中断,有什么办法在这种情况下,使任务能继续运行?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2017-11-1 20:58:23 | 显示全部楼层
如果有低电平触发就好办了,当触发一次中断后,在中断程序中关中断,也不会产生多次触发中断。可惜没有低电平触发选项

出0入0汤圆

发表于 2017-11-1 21:41:57 | 显示全部楼层
你任务等待信号量前,不能读一下IO口输入状态么?低电平就不等待了。

出0入0汤圆

 楼主| 发表于 2017-11-1 22:39:15 | 显示全部楼层
lingdianhao 发表于 2017-11-1 21:41
你任务等待信号量前,不能读一下IO口输入状态么?低电平就不等待了。

就怕读的时候还是高,刚好在开中断前跳变,这样的话中断就不会触发。

出10入0汤圆

发表于 2017-11-2 07:19:29 来自手机 | 显示全部楼层
gmajvfhpa 发表于 2017-11-1 22:39
就怕读的时候还是高,刚好在开中断前跳变,这样的话中断就不会触发。

同意3楼,中断也有响应时间

出0入31汤圆

发表于 2017-11-2 07:53:40 来自手机 | 显示全部楼层
gmajvfhpa 发表于 2017-11-1 22:39
就怕读的时候还是高,刚好在开中断前跳变,这样的话中断就不会触发。

那就先开中断,然后再读

出0入0汤圆

发表于 2017-11-2 09:32:43 | 显示全部楼层
我记得AVR都有电平中断,你的MCU没有?

出0入0汤圆

 楼主| 发表于 2017-11-2 09:52:26 | 显示全部楼层
jackiezeng 发表于 2017-11-2 09:32
我记得AVR都有电平中断,你的MCU没有?

我用的是stm32F103

出0入0汤圆

发表于 2017-11-2 09:59:55 | 显示全部楼层
没有低电平中断,就不能用上下沿中断吗?

出0入0汤圆

发表于 2017-11-2 10:46:35 | 显示全部楼层
下降沿 不能判断吗?

出0入0汤圆

发表于 2017-11-2 13:16:10 来自手机 | 显示全部楼层
gmajvfhpa 发表于 2017-11-1 22:39
就怕读的时候还是高,刚好在开中断前跳变,这样的话中断就不会触发。

开完中断读

出0入0汤圆

 楼主| 发表于 2017-11-2 13:52:40 | 显示全部楼层

想了一下,这好应该可行。开完中断后,先读输入端,如果是低电平,就不执行pend等待信号量指令,并把信号量强制设置成0。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 13:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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