OpenEdv-开源电子网

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

TIMx的外部时钟源模式1怎么才能正确配置?

[复制链接]

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2015-1-21
在线时间
12 小时
发表于 2015-1-21 22:35:32 | 显示全部楼层 |阅读模式
5金钱
大家好,刚刚注册了号,想问个问题。
我想用TIM5对外部脉冲计数,所以选择了外部时钟源模式1,但读TIM5->CNT一直为0,还望大家帮我看看我的程序是对的吗
我习惯用寄存器写,
我是照着参考手册写得程序:
void TIM5_Cap_Init(u16 arr,u16 psc)
{
//A~G对应2~8
RCC->APB1ENR|=1<<3; //TIM5时钟
RCC->APB2ENR|=1<<3; //GPIOB时钟
RCC->APB2ENR|=1<<0;     //AFIO时钟

GPIOB->CRL&=0x0FFFFFFF;  //PB7配置为浮空输入
GPIOB->CRL|=0x40000000;

TIM5->ARR = arr-1;  //
TIM5->SC = psc-1; //
//CCMR:  
TIM5->CCMR1&=~(3<<8);
TIM5->CCMR1|=1<<8;    //  CC2通道配置为输入,TC2映射在TI2上
TIM5->CCMR1&=0x0fff; //     不滤波¨
    //CCER:
TIM5->CCER|=1<<4; //捕获使能
TIM5->CCER&=~(1<<5); //不反相,捕获发生在上升沿
//SMCR:
TIM5->SMCR&=~(7<<0);
TIM5->SMCR|=7<<0; //定时器外部时钟模式1
TIM5->SMCR&=~(7<<4);
TIM5->SMCR|=6<<4; //选定TI2FP2为触发源输入    

TIM5->CR1&=~(1<<0); 

TIM5->DIER|=0<<0;   //关闭更新中断
TIM2->DIER|=0<<6;   //关闭触法中断

TIM5->CR1|=1<<0; //使能定时器
TIM5->CNT=0;         //清0计数器
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5782
金钱
5782
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-1-24 00:05:24 | 显示全部楼层
LZ  是想通过外部跳边沿触发  TIM5计数?    那样触发的IO    应该配置TIM5 CH2(PA1)  不是PB7奥
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-26 16:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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