Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Запуск преобразования в прерывании по таймеру, получение данных в прерывании по готовности ADC */
- HAL_EPIC_MaskLevelSet(HAL_EPIC_TIMER16_1_MASK);
- HAL_EPIC_MaskEdgeSet(HAL_EPIC_ADC_MASK);
- HAL_IRQ_EnableInterrupts();
- ..............................................................
- void __attribute__((section(".ram_text"))) trap_handler(void)
- {
- if (EPIC_CHECK_ADC())
- {
- adc_value = HAL_ADC_GetValue(&hadc);
- HAL_GPIO_TogglePin(GPIO_0, GPIO_PIN_9);
- EPIC->CLEAR = 1<<29;
- }
- if (EPIC_CHECK_TIMER16_1())
- {
- if (__HAL_TIMER16_GET_FLAG_IT(&htimer16_1, TIMER16_FLAG_ARRM))
- {
- ANALOG_REG->ADC_SINGLE = 1;
- HAL_GPIO_TogglePin(GPIO_0, GPIO_PIN_10); /* Смена сигнала PORT0_10 на противоположный */
- __HAL_TIMER16_CLEAR_FLAG(&htimer16_1, TIMER16_FLAG_ARRM);
- }
- }
- /* Сброс прерываний */
- HAL_EPIC_Clear(0xDFFFFFFF);
- }
Advertisement
Add Comment
Please, Sign In to add comment