OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4835|回复: 1

【NUCLEO-F411RE】外部中断检测周期,一个定时器捕获2路高脉宽,定时器产生3路PWM

[复制链接]

53

主题

175

帖子

1

精华

高级会员

Rank: 4

积分
516
金钱
516
注册时间
2014-5-16
在线时间
7 小时
发表于 2016-1-8 19:29:33 | 显示全部楼层 |阅读模式
今天终于搞定了多路定时器输入捕获!使用的还是ST提供的【NUCLEO-F411RE】板子。在写多路捕获的时候,有个问题需要注意:捕获参数的初始化需要分别进行,比如:

[mw_shl_code=cpp,true]//初始化TIM5输入捕获参数
        TIM5_ICInitStructure.TIM_Channel = TIM_Channel_2;//使能2通道
        TIM5_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;        //上升沿捕获
        TIM5_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射CH1->TI1,CH2->TI2,CH3->TI3,CH4->TI4
        TIM5_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;         //配置输入分频,不分频
        TIM5_ICInitStructure.TIM_ICFilter = 0x00;//配置输入滤波器 不滤波
        TIM_ICInit(TIM5, &TIM5_ICInitStructure);
        TIM5_ICInitStructure.TIM_Channel = TIM_Channel_1;
        TIM_ICInit(TIM5, &TIM5_ICInitStructure);[/mw_shl_code]
若如下进行初始化,则可能出现捕获中断错误:
[mw_shl_code=cpp,true]        TIM5_ICInitStructure.TIM_Channel = TIM_Channel_2| TIM_Channel_1;//使能四个通道
        TIM5_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;        //上升沿捕获
        TIM5_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射CH1->TI1,CH2->TI2,CH3->TI3,CH4->TI4
        TIM5_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;         //配置输入分频,不分频
        TIM5_ICInitStructure.TIM_ICFilter = 0x00;//配置输入滤波器 不滤波
        TIM_ICInit(TIM5, &TIM5_ICInitStructure);[/mw_shl_code]
这一点要注意!
代码添加到附件里,有兴趣的可以看看
本人新人,各位多包涵!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

53

主题

175

帖子

1

精华

高级会员

Rank: 4

积分
516
金钱
516
注册时间
2014-5-16
在线时间
7 小时
 楼主| 发表于 2016-1-8 19:33:05 | 显示全部楼层
工程文件在2楼

STM32F411_PWM3_CAP2_EXTI1_20160108.rar

540.4 KB, 下载次数: 404

本人新人,各位多包涵!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 00:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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