Изучение уязвимостей электронных систем.
 
key programming immo tools emergency start device программаторы ключа заводилки Кодграббер штатных охранных систем, toyota, lexus, subaru.

Вернуться   Изучение уязвимостей электронных систем > Программирование микроконтроллеров > ARM

Ответ
 
Опции темы
Старый 23.05.2015, 22:51   #1
peroid
случайно влез
 
Регистрация: 20.05.2015
Сообщений: 1
Поблагодарил: 0
Поблагодарили 0 раз в 0 сообщениях
peroid стоит на развилке
По умолчанию stm32f4discovery аппаратный шим на разных каналах таймера TIM4.

Здравствуйте.

Хотел попросить помощи в настройке TIM4.
Из мануала видно, что в порте D, выходам 12, 13, 14, 15 соответствуют каналы 1, 2, 3, 4 таймера 4.
Как организовать аппаратный шим на разных каналах? Просто хотел управлять аппаратно сервами паука.
Как понимаю, настройки предделителя и периода останутся неизменными?
Может есть у кого кусок кода с комментариями?

Я в этом новичок, по сему тяжело самому разобраться куда копать. Мануал курю, но там описаны возможности, а не методы
Пользую стандартные библиотеки стм32 и Keil .

Спасибо за помощь.

добавлено через 8 часов 15 минут
Решено.
Курил интернеты и таки разобрался. Решение было под носом.
Нужно было просто записать данные конкретно для канала 1.

Вот код решения, может другому новичку будет легче:

void gpiod_ini (void){

//------------------1 opredelim strukturu nastroek GPIO D & TIMER4-
GPIO_InitTypeDef GPIOD_init;
TIM_TimeBaseInitTypeDef TIMER_4_init;
TIM_OCInitTypeDef TIMER_4_def;

//------------------2 taktirovanie GPIO D & Timer_4--------------
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);


GPIOD_init.GPIO_Mode = GPIO_Mode_AF;
GPIOD_init.GPIO_OType = GPIO_OType_PP;
GPIOD_init.GPIO_Pin = GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_12;
GPIOD_init.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIOD_init.GPIO_Speed = GPIO_Low_Speed;

GPIO_PinAFConfig(GPIOD, GPIO_PinSource15, GPIO_AF_TIM4);
GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_TIM4);
GPIO_PinAFConfig(GPIOD, GPIO_PinSource13, GPIO_AF_TIM4);
GPIO_PinAFConfig(GPIOD, GPIO_PinSource12, GPIO_AF_TIM4);
// Zapishem nastroiki
GPIO_Init(GPIOD, &GPIOD_init);

//------------------3 nastroim TIMER 4 osnovnie nastroiki ----------

TIMER_4_init.TIM_ClockDivision = TIM_CKD_DIV1;
TIMER_4_init.TIM_CounterMode = TIM_CounterMode_Up;
TIMER_4_init.TIM_Period = 499;
TIMER_4_init.TIM_Prescaler = 8399;
// Zapishem nastroiki
TIM_TimeBaseInit(TIM4, &TIMER_4_init);

//------------------4 nastroim TIMER 4 dlya PWM---------------------

TIMER_4_def.TIM_OCMode = TIM_OCMode_PWM1;
TIMER_4_def.TIM_OCPolarity = TIM_OCPolarity_High;
TIMER_4_def.TIM_OutputState = TIM_OutputState_Enable;
TIMER_4_def.TIM_Pulse = 0;

// Zapishem nastroiki kanalov 1,2,3,4 TIMER-a 4

TIM_OC1Init(TIM4, &TIMER_4_def);
TIM_OC2Init(TIM4, &TIMER_4_def);
TIM_OC3Init(TIM4, &TIMER_4_def);
TIM_OC4Init(TIM4, &TIMER_4_def);

//------------------------------------------------------------------------------------------
//Ну и само управление каналами в главной функции:
//------------------------------------------------------------------------------------------

int main(void){

gpiod_ini();

while(1){

TIM_SetCompare1(TIM4,100);
TIM_SetCompare2(TIM4,200);
TIM_SetCompare3(TIM4,300);
TIM_SetCompare4(TIM4,400);
}
}
peroid вне форума   Ответить с цитированием
Старый 27.02.2016, 00:09   #2
AliStark
Модератор
 
Аватар для AliStark
 
Регистрация: 16.08.2014
Адрес: Красное море
Сообщений: 255
Поблагодарил: 23
Поблагодарили 139 раз в 93 сообщениях
AliStark имеет захватывающую ауруAliStark имеет захватывающую ауруAliStark имеет захватывающую ауру
По умолчанию

Кубовский MX проект бы выложил, было бы быстрей
а так эт мне на твой чип, твой reference manual читать ....

Но за решение И ПОЧТИ СТАТЬЮ - СПАСИБО


Если вас провцируют на НЕ содержательный разговор, сообщениями
НЕ несущими смысловой нагрузки, КОРМЯ провокационной

- НЕ ОТВЕЧАЙТЕ !, пишите нам !
тыкнуть "БАН" проще чем чистить грязь !


Хочется срача ? / Инет принимаете за реальную жизнь ?
- соц сети ваш выбор !
AliStark вне форума   Ответить с цитированием
Ответ

Метки
hexapod, pwm, stm32f4, tim4


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] Продажа аккаунтов разных сервисов Sdelkin Барахолка 5 17.01.2016 21:10
Аппаратный регистратор нажатия клвиши клавиатуры ПК. Piratcom Новички 10 26.09.2010 08:46
КУЧА РАЗНЫХ КАЛЬКУЛЯТОРОВ!!!!! Ahalam Лаборатория 0 19.07.2010 23:36
аппаратный брут!) aka_k4 Флейм 0 08.04.2009 19:19


Текущее время: 17:20. Часовой пояс GMT +4.


Перевод: zCarot