OpenEdv-开源电子网

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

PWM输入捕获周期与频率,库函数版本的配置问题

[复制链接]

38

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2013-8-19
在线时间
0 小时
发表于 2013-12-1 16:39:18 | 显示全部楼层 |阅读模式
我是用TIM3_CH2做的试验,CH2 捕捉PWM频率,CH1捕捉高电平 。寄存器的会写,可是库函数的不知道怎么放在一起。
用下面的方法可以调通,请问怎么把寄存器部分(IC1)写成库函数,如果照着IC2改,就把之前的配置覆盖了

//IC2
   TIM3_ICInitStructure.TIM_Channel = TIM_Channel_2; //CC2S=01     选择输入端 IC2映射到TI2上
      TIM3_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;    //上升沿捕获
      TIM3_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI ; //映射到TI2上
      TIM3_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;     //配置输入分频,不分频
      TIM3_ICInitStructure.TIM_ICFilter = 0x00;//IC1F=0000 配置输入滤波器 不滤波
    //IC1
    TIM3->CCMR1|=2<<0;//CC1S=10 选择输入端
    TIM3->CCER|=1<<1; //CC1P=1 选择有交转换边沿 下降沿有效
    TIM3->CCER|=1<<0; //CC1E=1 允许捕获计数器的值到捕获寄存器中

    TIM_ICInit(TIM3, &TIM3_ICInitStructure);
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-12-1 21:09:15 | 显示全部楼层
回复 支持 反对

使用道具 举报

38

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2013-12-2 13:43:41 | 显示全部楼层
回复【2楼】正点原子:
帮顶
---------------------------------
我看网上的回复,有的说配置完上面的之后,CH1就自动默认配置了,我调出寄存器看了一下,CH1没有配置。
另外,原子给的delay.h文件是不上系统和上系统两种的,我如果想在上系统的同时,调用systick时钟来进行子程序的延时,比如液晶和温湿度读数的时候的延时,是不是会造成冲突呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-12-2 19:46:39 | 显示全部楼层
回复【3楼】liyuanmrwhite:
---------------------------------
这是单线程的...只要不在中断里面使用delay,就不存在冲突
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

38

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2013-12-2 20:17:26 | 显示全部楼层
回复【4楼】正点原子:
回复【3楼】liyuanmrwhite:
---------------------------------
这是单线程的...只要不在中断里面使用delay,就不存在冲突
---------------------------------
举例来说,如果我在液晶显示的时候,给个刷新,比如delay_ms(10);上过系统之后,会不会存在进程调度的时候,其他的进程中断了这个刷新呢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-12-3 00:21:22 | 显示全部楼层
回复【5楼】liyuanmrwhite:
---------------------------------
当然有可能,要不中断是干啥用的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

27

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
280
金钱
280
注册时间
2013-8-28
在线时间
2 小时
发表于 2013-12-3 00:40:23 | 显示全部楼层
回复【5楼】liyuanmrwhite:
---------------------------------
所以就要把握好,什么时候该做什么事了
回复 支持 反对

使用道具 举报

38

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2013-12-4 10:18:53 | 显示全部楼层
回复【7楼】正点圆子:
---------------------------------
我现在移植液晶,如果定时函数会中断,系统跑死的话,我就得写个软中断才行。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-8 07:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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