OpenEdv-开源电子网

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

关于stm32 tim2触发中断有什么用

[复制链接]

6

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2019-12-12
在线时间
9 小时
发表于 2020-3-8 22:30:55 | 显示全部楼层 |阅读模式
1金钱
大佬们这段代码是和编码器有关的函数,其中设置了两个中断,更新中断和触发中断,请问触发中断是有什么用呢
感谢解答
  1. AFIO->MAPR|=1<<8;      //01部分重映射
  2.         RCC->APB1ENR|=1<<0;    //TIM2时钟使能
  3.         RCC->APB2ENR|=1<<2;    //使能PORTA时钟
  4.         RCC->APB2ENR|=1<<3;    //使能PORTB时钟
  5.         GPIOA->CRH&=0X0FFFFFFF;//PA15
  6.         GPIOA->CRH|=0X40000000;//浮空输入
  7.        
  8.         GPIOB->CRL&=0XFFFF0FFF;//PB3
  9.         GPIOB->CRL|=0X00004000;//浮空输入
  10. <font color="red">        TIM2->DIER|=1<<0;   //允许更新中断
  11.         TIM2->DIER|=1<<6;   //允许触发中断</font>
  12.         MY_NVIC_Init(1,3,TIM2_IRQn,1);//抢占优先级1,子优先级3;分组1
  13.         TIM2->PSC = 0x0;//预分频器
  14.         TIM2->ARR = ENCODER_TIM_PERIOD;//设定计数器自动重装值65535
  15.         TIM2->CR1 &=~(3<<8);// 选择时钟分频:不分频
  16.         TIM2->CR1 &=~(3<<5);// 选择计数模式:边沿对齐模式
  17.                
  18.         TIM2->CCMR1 |= 1<<0; //CC1S='01' IC1FP1映射到TI1
  19.         TIM2->CCMR1 |= 1<<8; //CC2S='01' IC2FP2映射到TI2
  20.         TIM2->CCER &= ~(1<<1);         //CC1P='0'         IC1FP1不反相,IC1FP1=TI1
  21.         TIM2->CCER &= ~(1<<5);         //CC2P='0'         IC2FP2不反相,IC2FP2=TI2
  22. //        TIM2->CCMR1 |= 3<<4; //        IC1F='1000' 输入捕获1滤波器
  23.         TIM2->SMCR |= 3<<0;         //SMS='011' 所有的输入均在上升沿和下降沿有效
  24.         TIM2->CR1 |= 0x01;    //CEN=1,使能定时器
复制代码




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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-22 00:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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