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

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

Ответ
 
Опции темы
Старый 12.05.2016, 00:42   #1
AliStark
Модератор
 
Аватар для AliStark
 
Регистрация: 16.08.2014
Адрес: Красное море
Сообщений: 255
Поблагодарил: 23
Поблагодарили 139 раз в 93 сообщениях
AliStark имеет захватывающую ауруAliStark имеет захватывающую ауруAliStark имеет захватывающую ауру
Лампочка STM32 Захват таймера, по обоим фронтам! Настройка в JPG !

Проекта под рукой нету, позже выложу.



Вот пример использования :
---------------------------------------------------------------------------------------------------------
//Переменные

// PE9 & PE11 In short circut connection
uint16_t IC_Rising_Val; // Direct mode Rising Edge Detection
uint16_t IC_Faling_Val; // Direct mode Faling Edge Detection

// PE13
uint16_t T1_IC_HIGH; // Ch3 Direct mode Rising Edge Detection
uint16_t T1_IC_LOW; // Ch4 InDirect mode Faling Edge Detection

---------------------------------------------------------------------------------------------------------
//Запуск в main.c перед while(1)

HAL_TIM_IC_Start_IT(&htim1, TIM_CHANNEL_3);
HAL_TIM_IC_Start_IT(&htim1, TIM_CHANNEL_4);

---------------------------------------------------------------------------------------------------------
//Эту ф-цию можно вмандить В ЛЮБОЕ МЕСТО КОДА, она будет вызываться автоматом при срабатывании захвата, если он настроен, инициализирован и запущен.

void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{

if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3) // =RISING= EDGE DETECTED
{
// Get =RISING= EDGE Capture value
IC_Rising_Val = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_3);
// Reset Counter After Input Capture Interrupt Occurs __HAL_TIM_SET_COUNTER(&htim1,0x00);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_15, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_RESET);
}

if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4) // =FALLING= EDGE DETECTED
{
// Get =FALLING= EDGE Capture value
IC_Faling_Val = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_4);
// Reset Counter After Input Capture Interrupt Occurs
__HAL_TIM_SET_COUNTER(&htim1, 0x00);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_15, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_SET);
}

}

---------------------------------------------------------------------------------------------------------

Так же есть полезные ф-ция по теме
T1_IC_HIGH = __HAL_TIM_GET_COMPARE(&htim1, TIM_CHANNEL_3); //read TIM1 channel 3 capture value on =RISING= EDGE CAPTURE

T1_IC_LOW = __HAL_TIM_GET_COMPARE(&htim1, TIM_CHANNEL_4);//read TIM1 channel 4 capture value on =FALLING= EDGE CAPTURE

T1_CNT = __HAL_TIM_GET_COUNTER(&htim1); // Read TIM1 Counter Value
Миниатюры
Tim1_IC_Raise&Falen_Direct+Indirect.jpg  


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

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


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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обучалка STM32 + Си ! с нуля, быстро и полноценно AliStark ARM 0 11.05.2016 23:56
stm32f4discovery аппаратный шим на разных каналах таймера TIM4. peroid ARM 1 27.02.2016 00:09
Настройка SIP Angry Спутниковые системы 1 05.04.2015 16:39
Программирование STM32 Astronom Программирование микроконтроллеров 4 18.04.2012 20:59
[Вопрос] настройка пейджера polimer_05 Новички 2 12.01.2010 23:04


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


Перевод: zCarot