Files
DBW/DBW_V2/Core/Src/outputs.c
v0stap 78e6a1b8aa base
2026-04-05 11:31:20 +02:00

61 lines
1.1 KiB
C

/*
* outputs.c
*
* Created on: Mar 16, 2022
* Author: v0stap
*/
#include "main.h"
void TIM16_Init(void) {
RCC->APB2ENR |= RCC_APB2ENR_TIM16EN;
TIM16->PSC = 480;
TIM16->ARR = 70287;
TIM16->CR1 |= 1 << 0 | 1 << 7;
TIM16->CR2 = 0;
TIM16->SMCR = 0;
TIM16->DIER = 1 << 0;
TIM16->CCMR1 = 0;
TIM16->CCMR2 = 0;
TIM16->CCER = 0x1111;
TIM16->SR = 0;
NVIC_EnableIRQ(TIM16_IRQn);
}
void TIM17_Init(void) {
RCC->APB2ENR |= RCC_APB2ENR_TIM17EN;
TIM17->PSC = 479;
TIM17->ARR = 10000;
TIM17->CR1 |= 1 << 0 | 1 << 7;
TIM17->CR2 = 0;
TIM17->SMCR = 0;
TIM17->DIER = 1 << 0;
TIM17->CCMR1 = 0;
TIM17->CCMR2 = 0;
TIM17->CCER = 0x1111;
TIM17->SR = 0;
NVIC_EnableIRQ(TIM17_IRQn);
}
void VSS_Set(uint8_t vss) {
if (vss < 3) {
TIM16->CR1 &= ~(1 << 0);
} else {
TIM16->CR1 |= 1 << 0;
TIM16->ARR = 70287 / vss;
}
}
void TIM16_IRQHandler(void) {
TIM16->SR &= ~(1 << 0);
//TIM2->CNT = 600;
HAL_GPIO_TogglePin(GPIOB, GPO1_Pin);
}
void TIM17_IRQHandler(void) {
TIM17->SR &= ~(1 << 0);
//TIM2->CNT = 600;
MAZDA_Send_Data();
}