12293|11

87

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

TIM4重映射功能有问题? [复制链接]

    GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
   这个两句,不管用不用,PB6-PB9都有信号输出,而PD12-PD15始终没有信号输出。
   难道芯片挂了?但是仿真情况也一样?晕忽中.....
此帖出自stm32/stm8论坛

最新回复

楼主怎么解决的?我也遇到这个问题了  详情 回复 发表于 2015-4-9 20:08
点赞 关注
 

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

翻了老帖!

    情况应该跟我一样,也没有解决!
    
此帖出自stm32/stm8论坛
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

GPIOD的时钟开了吗?GPIOD是如何配置的?

                                 可以把PD12-PD15配置为输出模式,试试这些管脚是否坏了。
此帖出自stm32/stm8论坛
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

4
 

GPIOD时钟开了的。

TIM_TimeBaseStructure.TIM_Period = 999;
  TIM_TimeBaseStructure.TIM_Prescaler = 0;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_CounterMode =TIM_CounterMode_Down;

  TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);

  /* PWM1 Mode configuration: Channel1 */
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = 500;
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

  TIM_OC1Init(TIM4, &TIM_OCInitStructure);

  TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);


  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_12 | GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE);

    /* TIM4 clock enable */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);

  /* GPIOD clock enable */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);           

  TIM_ARRPreloadConfig(TIM4, ENABLE);

  /* TIM4 enable counter */
  TIM_Cmd(TIM4, ENABLE);

整个简单配置就是这样,配置为PWM输出,可是根本就没有信号输出!
不重映射时,从PD12-PD15可以输出信号,说明管脚应该没有问题,
请香版和各位高手支招!谢谢!
此帖出自stm32/stm8论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

5
 

同样的设置,

   同样的设置,把他换为TIM2,或者TIM3都没有问题,就算是TIM4,配置为PB管脚的,不重新映射,也都有波形的。
   就是重映射后,什么反应都没有!
   是不是那些地方没注意到,没有配置呢????
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 

要开3个时钟

                                 GPIOD、TIM4、REMAP
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 

三个时钟都开了!

   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);    
这三个时钟是开了,
  GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE);这个也配置了呀!

       
此帖出自stm32/stm8论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

8
 

要先开时钟再初始化,你的操作顺序反了

                                 没有打开时钟,初始化不会成功。
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 

实在没办法,借了新的板子测试!

     估计是芯片不知道怎么挂了,程序在另一块板子上输出很好!
     时钟只要在 开启使能前打开就可以,试验过了。
     不过好的习惯要养成,谢谢香版提醒@!
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 

对,先开时钟后初始化

没开时钟之前,对相应外设的写操作是失败的,回读验证就知道了。
就是MAPR的写操作会失败,始终是0

GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE);
AFIO->MAPR |= 0x00001000;
此帖出自stm32/stm8论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

11
 

谢谢LS!!!

                                       恩,记住了以后先开时钟,再初始化。虽然这次不是这个原因。
此帖出自stm32/stm8论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

12
 
楼主怎么解决的?我也遇到这个问题了
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表