реклама на сайте
подробности

 
 
> STM32F051R8 не удается запустить PWM
Artos5
сообщение Nov 14 2013, 06:39
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Добрый день уважаемые! Бьюсь уже часов 5 , не могу запустить ШИМ 14 таймера....

Вот пример инициализации:

Код
void Init_PWM(void)
{
    RCC->APB1ENR |= RCC_APB1ENR_TIM14EN;
    
/*Configure GPIO pin alternate function */
GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_4);
    
    //GPIOA->OSPEEDR |= 0x0000;
        GPIOA->MODER |= 0x0200;
    //GPIOA->PUPDR |= 0x0000;
    //GPIOB->AFR[0] |= (1<<4);

    //TIM14->DIER |= 0x0000;
    //TIM14->EGR |= 0x0003;
    TIM14->CR1 |= 0x0080;
    TIM14->CCMR1 |= 0x0064; // pwm mode
    TIM14->ARR = 0x000F;
    TIM14->PSC = 0x000F;
    TIM14->CCER |= 0x0001;    // capt/comp out enable
    TIM14->CR1 |= 0x0001; // tim en
}


И скажите пожалуйста, как активировать альтернативную функцию не используя SPL ?
Заранее спасибо Вам за помощь! sm.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Forger
сообщение Nov 14 2013, 07:00
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Artos5 @ Nov 14 2013, 10:39) *
Добрый день уважаемые! Бьюсь уже часов 5 , не могу запустить ШИМ 14 таймера....

А тактирование GPIOA включено?


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Artos5
сообщение Nov 14 2013, 07:22
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Да, обязательно!
Оно включено в инициализации I/O


Вот полная инициализация:

CODE
void Init_PWM(void)
{
RCC->APB1ENR |= RCC_APB1ENR_TIM14EN;

/*Configure GPIO pin alternate function */
GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_4);


GPIOA->MODER |= 0x0200;

TIM14->CR1 |= 0x0080;
TIM14->CCMR1 |= 0x0064; // pwm mode
TIM14->ARR = 0x000F;
TIM14->PSC = 0x000F;
TIM14->CCER |= 0x0001; // capt/comp out enable
TIM14->CR1 |= 0x0001; // tim en
}

/**
* @brief GPIO configuration
* @param None
* @retval None
*/
void Init_GPIO(void)
{
/* Private typedef ---------------------------------------------------------*/
GPIO_InitTypeDef GPIO_InitStruct_butt;
GPIO_InitTypeDef GPIO_InitStruct_led;
GPIO_InitTypeDef GPIO_InitStruct;
//GPIO_InitTypeDef GPIO_InitStruct_led1;

/*Enable or disable the AHB peripheral clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);



/** Configure pins as GPIO for USER button
PA0 ------> GPIO_Input
*/

/* Configure Button pin as input */
GPIO_InitStruct_butt.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStruct_butt.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStruct_butt.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
GPIO_Init(GPIOB, &GPIO_InitStruct_butt);


/*Configure GPIO pin */
GPIO_InitStruct_led.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_11;
GPIO_InitStruct_led.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct_led.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct_led.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStruct_led.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStruct_led);

/*Configure GPIO pin */
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);

/*Configure GPIO pin */
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOC, &GPIO_InitStruct);
}


Сообщение отредактировал IgorKossak - Nov 14 2013, 19:30
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01358 секунд с 7
ELECTRONIX ©2004-2016