完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
tiM1的通道1捕获
#include<STM32f10x_lib.h> #include "delay.h" #include "sys.h" void TIM1_CC_IRQHandler(){ GPIOE->ODR|=0x00000001;//指示灯亮 TIM1->SR&=~(1<<1);//清除捕获/比较1事件中断标志位 } void Timerx_Init(u16 arr,u16 psc){//输入捕获 RCC->APB2ENR|=1<<(2+0); GPIOA->CRH&=0xFFFFFFF0; GPIOA->CRH|=0x00000004; GPIOA->ODR|=0x00000100; RCC->APB2ENR|=1<<11;//TIM1定时器时钟开启 TIM1->ARR=arr; TIM1->SC=psc; TIM1->CCMR1&=0xFFFC; TIM1->CCMR1|=0x0001;//CC1通道配置为输入,IC1映射到IT1上 TIM1->CCMR1&=0xFF0F; TIM1->CCMR1|=0x0030;//fsampling=fck_int,N=8 TIM1->CCER&=~(1<<1);//上升沿有效 TIM1->CCMR1&=0xFFF3;//无预分频器,上升沿时产生捕获 TIM1->CCER|=1<<0;//捕获使能 TIM1->DIER|=1<<1;// 使能中断 TIM1->CR1|=1<<0;//计数器使能 riorityGroup_Config(2); riority_Config(1,3,TIM1_CC_IRQChannel,2); } void GPIO_Config(){ RCC->APB2ENR|=1<<(2+4); GPIOE->CRL&=0xFFFFFFF0; GPIOE->CRL|=0x00000003; GPIOE->ODR&=0x00000000;//初始化指示灯灭 } int main(){ Stm32_Clock_Init(9); delay_init(72); GPIO_Config(); Timerx_Init(65535,65535); while(1); } 发现复位就进中断了 如果把PA8口先拉高,然后拉低有时可以进中断,有时要等下才进中断?这是怎么回事? |
|
相关推荐
1个回答
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1684 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1587 浏览 1 评论
1013 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
706 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1629 浏览 2 评论
1893浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
678浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
538浏览 3评论
558浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
526浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 17:54 , Processed in 0.769994 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号