我想用C为stm32f4编写一脉冲触发函数,输入变量有两个,一个是连续方波脉冲(也就是0/1变换,不规则变换),另一个是时间(范围在10-500ms,用于限定输出脉冲的持续时间)。输出量只有一个,就是由输入脉冲上升沿触发,并由输入时间限定的脉冲(0/1变换)。请问如何实现上升沿触发,又如何实现脉冲宽度的限定。
我按照我的理解回答一下吧 用两个输入端口吧。
第一个端口 设置为上升沿中断。
第二个端口 设置为pwm输入捕获。可以计算输入信号的脉冲宽度
这样就可以实现你的两个条件的输入控制。
输出的话设置pwm输出通道
启动输出用中断信号。频率用捕获的数值决定。
四个函数实现
gpio 初始化函数
中断函数
time pwm 捕获初始化函数
pwm 捕获计算函数
输出pwm 初始化函数
输出函数的调用,以及频率的计算给定函数、
评分
查看全部评分
上传一下,以前的资料(参考97-99页)。
期望有用。
评分
查看全部评分