| 我想用C为stm32f4编写一脉冲触发函数,输入变量有两个,一个是连续方波脉冲(也就是0/1变换,不规则变换),另一个是时间(范围在10-500ms,用于限定输出脉冲的持续时间)。输出量只有一个,就是由输入脉冲上升沿触发,并由输入时间限定的脉冲(0/1变换)。请问如何实现上升沿触发,又如何实现脉冲宽度的限定。 这是网友在FAQ的提问,欢迎帮忙解答:https://www.stmcu.org.cn/faq/index/detail/id-70635 |
微信公众号
手机版
问题本身描述的不算完整,以自己理解来说吧
在上升沿来的时候输出指定时间高电平
简单的用引脚外部中断,设为上升沿触发
中断函数中使能定时器,如果One-pulse mode满足精度要求就使用One-pulse mode,这个
否则用软件方法判断
扯扯题目问题好了,
首先是输入脉冲信号,脉冲信号的上升沿之间的最小间隔是个重要的量
最小间隔是否小于输出最大间隔500ms?
如果在输出脉冲还没结束时,有新的上升沿到达如何处理?
输出端,要求是10ms-500ms,时间精度没有指定?以10ms为单位?
1.外部中断
2.定时器
的使用
PS.FAQ不是Frequently Asked Questions的意思吗,怎么成了给个人解决问题的地方了