[STM32F1] 定时器中断的问题

[复制链接]
1422|5
 楼主| wangch_sh 发表于 2014-3-21 16:26 | 显示全部楼层 |阅读模式
我用STM32103VE编程,定时器初始化部分如下:
GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);      //定时器3 时钟使能
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;      //PB5复用为TIM3的通道2
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //推挽复用
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  /* TIM3局部复用功能开启  在TIM3的局部复用开启时,PB5会被复用为TIM3_CH2*/
  GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3 , ENABLE);
这样写定时器中断产生时,PB5对应的灯会闪。
还有两个灯是PD6,PD3,我改为
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;      //PB5复用为TIM3的通道2
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //推挽复用
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
灯就不闪了。
这是什么原因?谢谢!
 楼主| wangch_sh 发表于 2014-3-21 16:55 | 显示全部楼层
高手支招啊!
 楼主| wangch_sh 发表于 2014-3-21 17:45 | 显示全部楼层
没人知道吗?
mmuuss586 发表于 2014-3-21 21:22 | 显示全部楼层

TIM3的通道2不能对应到PD3,6 吧
11.jpg
22.jpg
Marco-Marco 发表于 2014-3-21 21:34 | 显示全部楼层
目测楼主是在用TIM3的PWM输出功能。管脚重映射不是每一个IO口都可以重映射的,具体可以看《stm32中文参考手册》8.3
TIM3_CH2重映射.jpg
 楼主| wangch_sh 发表于 2014-3-22 08:28 | 显示全部楼层
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

318

主题

2817

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部