|
|
| (не показана 1 промежуточная версия этого же участника) |
| Строка 1: |
Строка 1: |
| − | === Запуск таймера в однократном или непрерывном режиме ===
| |
| − | (Объяснение работы с конфигуратором. В разработке)
| |
| | | | |
| − | После генерации кода в конфигураторе в файле main.c должна быть функция Timer16_1_Init, в которой будут заданы настройки для Timer16_1. Выглядит она так:<syntaxhighlight lang="c" line="1" start="1">
| |
| − | static void Timer16_1_Init(void)
| |
| − | {
| |
| − | htimer16_1.Instance = TIMER16_1;
| |
| − |
| |
| − | /* Настройка тактирования */
| |
| − | htimer16_1.Clock.Source = TIMER16_SOURCE_INTERNAL_SYSTEM;
| |
| − | htimer16_1.CountMode = TIMER16_COUNTMODE_INTERNAL; /* При тактировании от Input1 не имеет значения */
| |
| − | htimer16_1.Clock.Prescaler = TIMER16_PRESCALER_1;
| |
| − | htimer16_1.ActiveEdge = TIMER16_ACTIVEEDGE_RISING; /* Выбирается при тактированиии от Input1 */
| |
| − |
| |
| − | /* Настройка верхнего предела счета */
| |
| − | htimer16_1.Period = 0xFFFF;
| |
| − | /* Настрйока режима обновления регистра ARR и CMP */
| |
| − | htimer16_1.Preload = TIMER16_PRELOAD_AFTERWRITE;
| |
| − |
| |
| − | /* Настройка тригера */
| |
| − | htimer16_1.Trigger.Source = TIMER16_TRIGGER_TIM1_GPIO1_9;
| |
| − | htimer16_1.Trigger.ActiveEdge = TIMER16_TRIGGER_ACTIVEEDGE_SOFTWARE; /* При использовании триггера значение доложно быть отлично от software */
| |
| − | htimer16_1.Trigger.TimeOut = TIMER16_TIMEOUT_DISABLE; /* Разрешить повторное срабатывание триггера */
| |
| − |
| |
| − | /* Настройки фильтра */
| |
| − | htimer16_1.Filter.ExternalClock = TIMER16_FILTER_NONE;
| |
| − | htimer16_1.Filter.Trigger = TIMER16_FILTER_NONE;
| |
| − |
| |
| − | /* Настройка режима энкодера */
| |
| − | htimer16_1.EncoderMode = TIMER16_ENCODER_DISABLE;
| |
| − |
| |
| − | HAL_Timer16_Init(&htimer16_1);
| |
| − | }
| |
| − | </syntaxhighlight>
| |