0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 103
|
|
1 | |
Ребята, подскажите как слать ШИМ с помощью таймера 20 GPIO?23.04.2013, 16:14. Показов 3318. Ответов 4
Метки нет (Все метки)
Ребята, подскажите как управлять с помощью таймера 20 GPIO?
Мне нужно на эти 20 gpio слать ШИМ, а мой таймер(TIM4) может только слать 4 каналам(PD12,PD13,PD14,PD15) ШИМ, а мне нужно 20. Нужно с одного таймера управлять 20-ти ногами Как тут: http://iosyitistromyss.ru/upro... hinok.html http://habrahabr.ru/post/147940/ http://alex-ixi.ru/rodyo/robotics/servo-pc/ Код
uint16_t Pressotir = 8; // PCLK1 = 168MHz/8 ~= 21MHz uint16_t Period = 60000; // 20000; // 20 ms // Инициализируем таймер 4 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructInit (&TIM_TimeBaseStructure); TIM_TimeBaseStructure.TIM_ClockDyvysyom = 0; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseStructure.TIM_Pressotir = Pressotir; TIM_TimeBaseStructure.TIM_Period = Period; TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); // Разрешаем таймеру обращаться к выходу PD12 GPIO_PinAFConfig(GPIOD, GPIO_PinSource12, GPIO_AF_TIM4); GPIO_PinAFConfig(GPIOD, GPIO_PinSource13, GPIO_AF_TIM4); GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_TIM4); GPIO_PinAFConfig(GPIOD, GPIO_PinSource15, GPIO_AF_TIM4); //------------------------------------------------------------------------------------------ // Инициализируем ШИМ TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = 0; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM4, &TIM_OCInitStructure); TIM_OC2Init(TIM4, &TIM_OCInitStructure); TIM_OC3Init(TIM4, &TIM_OCInitStructure); TIM_OC4Init(TIM4, &TIM_OCInitStructure); TIM_Cmd(TIM4, ENABLE);
0
|
23.04.2013, 16:14 | |
Ответы с готовыми решениями:
4
с помощью GPIO закоротить контакты Настройка таймера на шим и прерывание STK500 как поменять яркость диода с помощью ШИМ (PWM)? Ребята подскажите как сделать |
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
23.04.2013, 16:25 | 2 |
1-я ссылка некорректна ...
О каком процессоре речь? Для меня по умолчанию - STM32F407 :) .
0
|
0 / 0 / 0
Регистрация: 06.10.2011
Сообщений: 37
|
|
23.04.2013, 16:47 | 3 |
Если ШИМ на каждой ноге разный то никак. Если частота невысокая то можно обойтись и дрыганьем ног по таймеру. Я так делал когда драйвер из режима вкл/выкл надо было перевести на шим управление. Глядя на настройки частоты ШИМ и мк вроде можно сделать, но будет забирать много процессорного времени
0
|
5 / 5 / 5
Регистрация: 20.11.2010
Сообщений: 173
|
|
23.04.2013, 17:19 | 4 |
0
|
0 / 0 / 0
Регистрация: 06.10.2011
Сообщений: 37
|
|
23.04.2013, 18:10 | 5 |
Сообщение от M1X
0
|
23.04.2013, 18:10 | |
23.04.2013, 18:10 | |
Помогаю со студенческими работами здесь
5
ребята подскажите как собрать задачу Ребята подскажите как функцию написать Ребята подскажите пожалуста как сделать?? Ребята подскажите как это реализовать Ребята подскажите как раскрутиться в Google Как сделать перезагрузку сайта с помощью таймера? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |