61 lines
1.1 KiB
C
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();
|
|
}
|
|
|