Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: stm32 не работает pwm на remap TIM3_CH2 (PB.5)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Faradey
не работает ШИМ на пине PB.5 - это 2-ой канал TIM3 после PartialRemap'a

поправил код из примера: um0427.zip\FWLib\examples\TIM\PWM_Output\
добавил в main:
Код
GPIO_PinRemapConfig( GPIO_PartialRemap_TIM3, ENABLE);

и соответственно поправил
Код
void GPIO_Configuration(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  /*GPIOB Configuration: TIM3 channel 2 as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_5;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(GPIOB, &GPIO_InitStructure);
}


осциллограф показывает высокий уровень на пине, пробовал менять период - результат тотже.
если кто-нибудь сталкивался прошу помочь.
спасибо.
ek74
Включи тактирование AFIO. Замени строку
Код
/* GPIOA and GPIOB clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);
на
Код
/* GPIOA, GPIOB and AFIO clocks enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
IgorKossak
Почитайте errata <www.st.com/mcu/modules.php?name=mcu&file=familiesdocs&FAM=110#Errata Sheet>
Там кое-что есть про второй канал TIM3.
ek74
Цитата(IgorKossak @ Oct 3 2008, 16:46) *
Почитайте errata <www.st.com/mcu/modules.php?name=mcu&file=familiesdocs&FAM=110#Errata Sheet>
Там кое-что есть про второй канал TIM3.
Согласен есть ошибка со вторым каналом TIM3, но мне кажется (на железе нет возможности проверить) это не тот случай. Насколько я понимаю, ошибка проявляется при совместном использовании I2C1 и TIM3_CH2:
Код
2.4.8 I2C1 and TIM3_CH2 remapped
Conditions
● I2C1 and TIM3 are clocked.
● I/O port pin PB5 is configured as an alternate function output.
В приведённом примере I2C1 не используется. А для того, что бы работал remap необходимо включить тактирование AFIO, о чём собственно я и указал в предыдущем посте.

Если я не прав то, пожалуйста, поправьте.
Faradey
да вы правы, в примере не работало потомучто не включил тактирование AFIO,
а в реальности не учел errat'у в которой говорилось о не возможности использования ремапленного на PB.5 2-ого канала TIM3 на выход при тактировании I2C1.
спасибо всем.
З.Ы. и читайте внимательней errat'ы. 07.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.