完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我打算用tiM2_CH3 (PA2)计外部脉冲的个数,
初始化函数如下: void TIM2_ch3_Init(u16 arr2,u16 psc2) { RCC->APB1ENR|=1<<0; //使能定时器2的时钟 TIM2->ARR=arr2; TIM2->SC=psc2; TIM2->CR1&=~(1<<4); TIM2->CR1&=~(1<<3); //计数器向上计数 TIM2->CR1|=(1<<0); //使能计数器 TIM2->CCMR1|=0X0300; } //设置PA3为复用功能,输入模式 计数端口 TIM2 void GPIOPA2_Init(void) { RCC->APB2ENR|=1<<3; //使能PB的IO时钟 GPIOA->CRL&=0XFFFFF0FF; GPIOA->CRL|=0X00000B00; } 最后让counter=TIM2->CNT; 没有成功 不是知道是不是初始化设置的问题,还有那些寄存器没有设置到吗, 现在一头雾水啊 请大侠们 指点一二 ,在线等 谢谢 |
|
相关推荐
3个回答
|
|
GPIOA->CRL|=0X00000800 ;这里写错了额
|
|
|
|
TIM2->CCMR1|=0X0300; 这一句是把CH2映射在了TRC上,你应该是映射在TI1或者TI2上
还有CCER上应该设置好捕获的极性,使能捕获,否则初始化为0已经禁止了捕获这一个 楼主来参考一下我的即可以了,自己输出一路PWM然后利用捕获相邻脉冲间的时间找打一点思路,剩下的如果自己慢慢研究一下,资料多看一下,不懂了再提问 651633945 /********************************* ***函数:TIMx_ICx_Init功能:捕获引脚上的脉冲 ***作者:马宽2012/3/10 *********************************/ void TIMx_ICx_Init(u16 arr,u16 psc) { RCC->APB2ENR |= 1<<2; //打开GPIOA口时钟 GPIOA->CRL &= 0XFFFFFFF0; GPIOA->CRL |= 0X00000004; //GPIOA^0设置为浮空输入 GPIOA->ODR |= 1<<0; //输出高电平 RCC->APB2ENR |= 1<<0; //打开复用时钟 RCC->APB1ENR |= 1<<0; //打开TIM2时钟 TIM2->ARR = arr; TIM2->SC = psc; //TIM2->SMCR |= 0X00D4; TIM2->SMCR |= 1<<7;//打开主从模式 TIM2->SMCR |= 5<<4;//滤波后的定时器输入 TI1FP1 TIM2->SMCR |= 4<<0;//使用从模式的复位模式 TIM2->CCMR1 |= 1<<0;//CC1映射在TI1上 TIM2->CCMR1 |= 0<<2;//无分频 TIM2->CCMR1 |= 3<<4;//无数字滤波 TIM2->CCER &= ~(1<<1);//CC1捕获极性为上跳沿 TIM2->CCER |= 1<<0;//允许CC1捕获值放入CCR1中 TIM2->DIER|= 1<<1;//允许CC1捕获产生中断 TIM2->CR1 |= 1<<0;//打开定时器2 MY_NVIC_Init(1,0,TIM2_IRQChannel,2);//设置中断 } //定时器2中断服务程序 void TIM2_IRQHandler(void) { static u16 i; static u16 t; i++; t += (TIM2->CCR1)/100; //十次采样取平均值 if(i==100) { //printf("%dt %dn",t,1000000/t); LCD_ShowNum(150,130,t,5,16); //显示一个数字 LED0 = !LED0; i=0;t=0; } TIM2->SR &= ~(1<<1);//清除CC1中断标志位 } |
|
|
|
ARM版主,suqingxiao 发了很多这方面例子,楼主搜索下.
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1621 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1546 浏览 1 评论
980 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
686 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1599 浏览 2 评论
1867浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
650浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
518浏览 3评论
536浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 23:34 , Processed in 0.880500 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号