沐紫 发表于 2015-11-23 10:29:39

编写脉冲触发函数

我想用C为stm32f4编写一脉冲触发函数,输入变量有两个,一个是连续方波脉冲(也就是0/1变换,不规则变换),另一个是时间(范围在10-500ms,用于限定输出脉冲的持续时间)。输出量只有一个,就是由输入脉冲上升沿触发,并由输入时间限定的脉冲(0/1变换)。请问如何实现上升沿触发,又如何实现脉冲宽度的限定。



安臣 发表于 2015-11-23 10:47:26

大致貌似我没有理解清楚

我按照我的理解回答一下吧    用两个输入端口吧。

第一个端口 设置为上升沿中断。
第二个端口 设置为pwm输入捕获。可以计算输入信号的脉冲宽度

这样就可以实现你的两个条件的输入控制。

输出的话设置pwm输出通道

    启动输出用中断信号。频率用捕获的数值决定。

四个函数实现

    gpio 初始化函数
    中断函数
    timepwm 捕获初始化函数
    pwm捕获计算函数

   输出pwm 初始化函数

   输出函数的调用,以及频率的计算给定函数、

Dylan疾风闪电 发表于 2015-11-24 10:37:14

使用高级定时器来完成,具体的没玩过。只是提供一个方向。

Dylan疾风闪电 发表于 2015-11-24 10:40:55

本帖最后由 Dylan疾风闪电 于 2015-11-24 10:43 编辑

上传一下,以前的资料(参考97-99页)。


Dylan疾风闪电 发表于 2015-11-24 10:53:46

某年ST巡回研讨会的光盘资料。
期望有用。




页: [1]
查看完整版本: 编写脉冲触发函数