Files
@ a2c96432427b
Branch filter:
Location: therm-ng/src/system/interrupts.c - annotation
a2c96432427b
1.5 KiB
text/plain
Use tim17 to gen pwmout; oc doesn't work so using isr
667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f a2c96432427b 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b 667b32311f8f 667b32311f8f a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b 667b32311f8f a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b 667b32311f8f | //
// Interrupts: handlers for any needed global interrupts
//
#include "stm32f3xx_hal.h"
#include "stm32f3xx.h"
#include "interrupts.h"
#include "gpio.h"
#include "pwmout.h"
// Systick interrupt
void SysTick_Handler(void)
{
HAL_IncTick();
HAL_SYSTICK_IRQHandler();
}
void EXTI9_5_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(SW_B_Pin);
HAL_GPIO_EXTI_IRQHandler(SW_A_Pin);
HAL_GPIO_EXTI_IRQHandler(SW_C_Pin);
}
void EXTI15_10_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(SW_BTN_Pin);
}
uint32_t last_button_press = 0;
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
switch(GPIO_Pin)
{
case SW_BTN_Pin:
{
// if(HAL_GetTick() > last_button_press + 100)
// {
// HAL_GPIO_TogglePin(LED_RED);
// HAL_GPIO_TogglePin(GATE_DRIVE);
// last_button_press = HAL_GetTick();
// }
} break;
}
}
void TIM1_TRG_COM_TIM17_IRQHandler(void)
{
/* USER CODE BEGIN TIM1_TRG_COM_TIM17_IRQn 0 */
/* USER CODE END TIM1_TRG_COM_TIM17_IRQn 0 */
HAL_TIM_IRQHandler(pwmout_get_tim());
/* USER CODE BEGIN TIM1_TRG_COM_TIM17_IRQn 1 */
/* USER CODE END TIM1_TRG_COM_TIM17_IRQn 1 */
}
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
{
if(htim == pwmout_get_tim())
{
HAL_GPIO_WritePin(SSR, 0);
HAL_GPIO_WritePin(LED, 0);
}
}
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim == pwmout_get_tim())
{
HAL_GPIO_WritePin(LED, 1);
HAL_GPIO_WritePin(SSR, 1);
}
}
|