stm8s103f3 外部时钟模式1 计数器
时间:10-02
整理:3721RD
点击:
那位仁兄,我最近在调stm8s103f3碰到一个问题,我想利益外部时钟模式一来实现外部时钟的计数,我用的的TI1(TIM1_CH1)端口,一下是我配置的代码,搞了我久久,它 就是不计数,愿各位高手多多相助。
GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_IN_FL_NO_IT); //管脚邋TI1配置
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE); //打开timer1 时钟
TIM1->CCMR1 |= 0x02 ; //CC1配置为输入,映射在TI
TIM1->CCMR2 &= 0x0f; //不使用滤波器
//TIM1->CR2 |=0x80; //管脚异或后连到邋TI1
TIM1->CCER1 &= 0xfd; //选择上升沿触发
TIM1->SMCR |=0x07; //选择外部时钟模式1
TIM1->SMCR |=0x50; // 滤波后接到TIFP1
TIM1->CR1 |= 0x01; //启动定时器
TIM1->IER |= 0x40; //使能触发中断
GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_IN_FL_NO_IT); //管脚邋TI1配置
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE); //打开timer1 时钟
TIM1->CCMR1 |= 0x02 ; //CC1配置为输入,映射在TI
TIM1->CCMR2 &= 0x0f; //不使用滤波器
//TIM1->CR2 |=0x80; //管脚异或后连到邋TI1
TIM1->CCER1 &= 0xfd; //选择上升沿触发
TIM1->SMCR |=0x07; //选择外部时钟模式1
TIM1->SMCR |=0x50; // 滤波后接到TIFP1
TIM1->CR1 |= 0x01; //启动定时器
TIM1->IER |= 0x40; //使能触发中断
怎么没有人回答呀! 真失望。
TIM_ARR没有配置 需要配置下
谢谢分享。
我试了你的程序,在设置了TIM1_ARRH和TIM1_ARRL后,已经对指定的引脚计数了,说明你的程序没有问题。
我用的是STM8S105K4,按你的配置是在TIM1的通道1输入,对本单片机是PC1口,我试了满好。
我看你是12年9月的帖子,估计你现在已经不关注这个了,因此我的试验对你可能已经没有意义了。不好意思啊。