still timer

This commit is contained in:
Wolfgang Hottgenroth 2021-02-06 18:01:43 +01:00
parent 5832a107c3
commit 18d0cbe4c8
5 changed files with 31 additions and 5 deletions

View File

@ -34,7 +34,7 @@ void MX_TIM1_Init(void)
TIM_IC_InitTypeDef sConfigIC = {0};
htim1.Instance = TIM1;
htim1.Init.Prescaler = 0;
htim1.Init.Prescaler = 71;
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
htim1.Init.Period = 65535;
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

View File

@ -1,6 +1,6 @@
# Processed by ../tools/insertMyCode.sh
##########################################################################################################################
# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sat Feb 06 15:53:10 CET 2021]
# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sat Feb 06 17:58:19 CET 2021]
##########################################################################################################################
# ------------------------------------------------

View File

@ -1,5 +1,5 @@
##########################################################################################################################
# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sat Feb 06 15:53:10 CET 2021]
# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sat Feb 06 17:58:19 CET 2021]
##########################################################################################################################
# ------------------------------------------------

View File

@ -6,6 +6,7 @@
#include <main.h>
#include <usart.h>
#include <spi.h>
#include <tim.h>
#include <PontCoopScheduler.h>
@ -47,6 +48,10 @@ void my_setup_2() {
// cmdHandlerInit();
schAdd(second_tick, NULL, 0, 60*1000);
HAL_TIM_IC_Start_IT(&mainsCnt, TIM_CHANNEL_1);
logMsg("Application running");
}
@ -78,3 +83,22 @@ void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi) {
}
}
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) {
static uint8_t state = 0;
static uint32_t savedV = 0;
if (htim == &mainsCnt) {
uint32_t v = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1);
if (state == 0) {
show(DEBUG_2, ON);
savedV = v;
state = 1;
} else if (state == 1) {
show(DEBUG_2, OFF);
uint32_t captured = (savedV < v) ? (v - savedV) : ((htim->Init.Period - savedV) + v);
logMsg("CCR: %ld", captured);
state = 0;
} else {
state = 0;
}
}
}

View File

@ -152,7 +152,7 @@ ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=Makefile
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_IWDG_Init-IWDG-false-HAL-true,3-MX_SPI1_Init-SPI1-false-HAL-true,4-MX_SPI2_Init-SPI2-false-HAL-true,5-MX_TIM1_Init-TIM1-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_SPI1_Init-SPI1-false-HAL-true,4-MX_SPI2_Init-SPI2-false-HAL-true,5-MX_TIM1_Init-TIM1-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true
RCC.ADCFreqValue=36000000
RCC.AHBFreq_Value=72000000
RCC.APB1CLKDivider=RCC_HCLK_DIV2
@ -188,7 +188,9 @@ SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate
SPI2.Mode=SPI_MODE_MASTER
SPI2.VirtualType=VM_MASTER
TIM1.Channel-Input_Capture1_from_TI1=TIM_CHANNEL_1
TIM1.IPParameters=Channel-Input_Capture1_from_TI1
TIM1.ClockDivision=TIM_CLOCKDIVISION_DIV1
TIM1.IPParameters=Channel-Input_Capture1_from_TI1,Prescaler,ClockDivision
TIM1.Prescaler=71
USART1.IPParameters=VirtualMode
USART1.VirtualMode=VM_ASYNC
VP_SYS_VS_Systick.Mode=SysTick