stm32f205输出pwm波形实验,不能输出。

2019-07-15 18:07发布

问大神一个问题  我有个的代码  在STM32103系列中可以使用     波形可以实现 输出   。 到了stm322xx波形不能输出 ,以下是f2xx的代码。(我自己找了测试了这个引脚,通过延迟来实现波形输出,成功了,是不是说明这个引脚没被占用?当然自己也看了。应该是这个引脚没有被占用)。
(1)放在一个platform.c中的代码   
  1. void OUTGPIO_Init(void)
  2. {
  3.         GPIO_InitTypeDef   GPIO_InitStructure;
  4.   OUTGPIO_CLK_INIT(OUTGPIO_CLK, ENABLE);
  5.         GPIO_InitStructure.GPIO_Pin = OUTGPIO_PIN;
  6.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  7.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  8.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  9.   GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP;    //接上拉电阻                    
  10.         GPIO_Init(OUTGPIO_PORT, &GPIO_InitStructure);
  11. }
复制代码

我觉得可能是GPIO引脚配置的问题。


  1. void tiM_Config(uint16_t Channel2Pulse)//, uint16_t Channel3Pulse
  2. {
  3.         TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  4.         TIM_OCInitTypeDef        TIM_OCInitStructure;
  5.         
  6.         /* TIM4 clock enable */
  7.         TIME4_CLK_INIT(TIME4_CLK, ENABLE);               
  8.         
  9.         /* Time base configuration */
  10.         TIM_TimeBaseStructure.TIM_Period = 999;  //1KHz
  11.         TIM_TimeBaseStructure.TIM_Prescaler = 0;
  12.         TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  13.         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  14.         TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
  15.      
  16.         TIM_PrescalerConfig(TIM4,50, TIM_PSCReloadMode_Immediate);               

  17.         /* Channel 2 Configuration in PWM mode */
  18.         TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
  19.         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  20.         TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
  21.         TIM_OCInitStructure.TIM_Pulse = Channel2Pulse;
  22.         TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
  23.         TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;
  24.         TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
  25.         TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;               
  26.         TIM_OC2Init(TIM4, &TIM_OCInitStructure);


  27.         TIM_Cmd(TIM4, ENABLE);
  28.         TIM_CtrlPWMOutputs(TIM4, ENABLE);
  29. }

复制代码

(3)然后我再main.c中直接使用的TIM_Config(400);函数。
希望大神给予指导。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zjbhello
1楼-- · 2019-07-15 22:28
这个配置过程按照官方的例程进行应该就没有什么问题了。主要就是GPIO和TIM(PWM)外设的对应关系你弄对没有啊
行路者
2楼-- · 2019-07-15 22:54
 精彩回答 2  元偷偷看……
蔚飞
3楼-- · 2019-07-16 03:58
如果和官方配置方法一样,配置肯定没问题,但是,GPIO口初始化可能是下载口或者其他什么外设口,你还要配置复用功能
huhaohan1993
4楼-- · 2019-07-16 05:16
看看各个功能位的时钟有没有打开,或者有没开错。
huhaohan1993
5楼-- · 2019-07-16 11:15
RCC_AHBPeriphClockCmd

一周热门 更多>