更新:频率输出驱动调整,HART保持原样,MUX更改为TIM8

This commit is contained in:
吴俊潮 2025-06-12 19:00:11 +08:00
parent 5ab09b3226
commit abfadcaae2
13 changed files with 20312 additions and 20091 deletions

View File

@ -122,7 +122,7 @@ void pwr_cosume(BOOL rst, uint32_t ms)
// }
uint8_t pulse = 50;
float32 fre_set = 0;
float32 fre_set_mux = 0;
float32 sv_prv = 0;
CHANNEL ch_prv = CHX_IN_MAX;
uint8_t mux_set_flag = 0;
@ -174,9 +174,8 @@ void mux_signal_switch(st_mux_signal *mux_signal)
{
if( (tabdata.hart_enable == 0)&&(mux_set_flag) )
{
//freq_operation(mux_signal->data_sv, pulse, TIM_CHANNEL_2);
frequence_output(mux_signal->data_sv, pulse, TIM_CHANNEL_2); //设定
fre_set = mux_signal->data_sv;
frequence_output(mux_signal->data_sv, pulse, PWM_MUX); //设定
fre_set_mux = mux_signal->data_sv;
}
}
break;
@ -217,20 +216,54 @@ void mux_signal_switch(st_mux_signal *mux_signal)
}
}
void frequence_output(uint32_t freq, uint8_t pulse, uint32_t chan)
void frequence_output(uint32_t freq, uint8_t pulse, uint8_t pwm_select)
{
int fre_duty = 0;
switch (pwm_select)
{
case PWM_MUX:
{
HAL_TIMEx_PWMN_Stop(&htim8, TIM_CHANNEL_2);
if (freq <= 0 || freq >= 500000 || pulse <= 0 || pulse >= 100)
{
__HAL_TIM_SET_PRESCALER(&htim8, 1500-1);
__HAL_TIM_SET_AUTORELOAD(&htim8, 55-1);
__HAL_TIM_SET_COMPARE(&htim8, TIM_CHANNEL_2, 28-1);
return;
}
if(freq <= 650)
{
__HAL_TIM_SET_PRESCALER(&htim8, 1500-1);
fre_duty = ( (float32)FREQ_SYS / (float32)1500.0 / (float32)freq + (float32)0.5 );
}
else
{
__HAL_TIM_SET_PRESCALER(&htim8, 2-1);
fre_duty = ( (float32)FREQ_SYS / (float32)2.0 / (float32)freq + (float32)0.5 );
}
__HAL_TIM_SET_AUTORELOAD(&htim8, fre_duty -1);
__HAL_TIM_SET_COMPARE(&htim8, TIM_CHANNEL_2, fre_duty * pulse / 100 - 1);
HAL_TIMEx_PWMN_Start(&htim8, TIM_CHANNEL_2);
}
break;
case PWM_HART:
{
HAL_TIMEx_PWMN_Stop(&htim1, TIM_CHANNEL_2);
HAL_TIM_PWM_Stop(&htim1, TIM_CHANNEL_3);
if (freq <= 0 || freq >= 500000 || pulse <= 0 || pulse >= 100)
{
__HAL_TIM_SET_PRESCALER(&htim1, 1500-1);
__HAL_TIM_SET_AUTORELOAD(&htim1, 55-1);
__HAL_TIM_SET_COMPARE(&htim1, chan, 28-1);
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3, 28-1);
return;
}
int fre_duty = 0;
if(freq <= 650)
{
__HAL_TIM_SET_PRESCALER(&htim1, 1500-1);
@ -243,14 +276,14 @@ void frequence_output(uint32_t freq, uint8_t pulse, uint32_t chan)
}
__HAL_TIM_SET_AUTORELOAD(&htim1, fre_duty -1);
__HAL_TIM_SET_COMPARE(&htim1, chan, fre_duty * pulse / 100 - 1);
if( chan == TIM_CHANNEL_2)
{
HAL_TIMEx_PWMN_Start(&htim1, chan);
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3, fre_duty * pulse / 100 - 1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3);
}
else
{
HAL_TIM_PWM_Start(&htim1, chan);
break;
default:
break;
}
}

View File

@ -4,6 +4,9 @@
#include "data_type_def.h"
#include "gpio.h"
#define PWM_MUX 0
#define PWM_HART 1
typedef enum
{
CH0_OUT_VOL_V = 0,
@ -43,10 +46,9 @@ typedef struct
extern st_freq_signal freq_signal;
extern st_mux_signal mux_signal;
extern float32 fre_set;
void pwr_cosume(BOOL rst, uint32_t ms);
void mux_signal_switch(st_mux_signal *mux_signal);
void frequence_output(uint32_t freq, uint8_t pulse, uint32_t chan);
void frequence_output(uint32_t freq, uint8_t pulse, uint8_t pwm_select);
#endif

View File

@ -93,8 +93,6 @@ void Error_Handler(void);
#define ADS1220_CS_GPIO_Port GPIOC
#define INPUT_A2_1_Pin GPIO_PIN_5
#define INPUT_A2_1_GPIO_Port GPIOC
#define PWM_OUT_Pin GPIO_PIN_0
#define PWM_OUT_GPIO_Port GPIOB
#define FREQ_IN_Pin GPIO_PIN_1
#define FREQ_IN_GPIO_Port GPIOB
#define INPUT_A1_1_Pin GPIO_PIN_2

View File

@ -61,6 +61,7 @@ void TIM3_IRQHandler(void);
void USART1_IRQHandler(void);
void USART2_IRQHandler(void);
void USART3_IRQHandler(void);
void TIM8_UP_TIM13_IRQHandler(void);
void TIM6_DAC_IRQHandler(void);
void TIM7_IRQHandler(void);
void DMA2_Stream0_IRQHandler(void);

View File

@ -76,6 +76,8 @@ extern TIM_HandleTypeDef htim3;
extern TIM_HandleTypeDef htim6;
extern TIM_HandleTypeDef htim8;
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
@ -84,6 +86,7 @@ void MX_TIM1_Init(void);
void MX_TIM2_Init(void);
void MX_TIM3_Init(void);
void MX_TIM6_Init(void);
void MX_TIM8_Init(void);
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);

View File

@ -205,6 +205,7 @@ void start_task_lcd(void const * argument)
* @retval None
*/
uint8_t hart_test = 0;
float32 fre_set_hart = 0;
/* USER CODE END Header_start_task_hart */
void start_task_hart(void const * argument)
{
@ -215,11 +216,10 @@ void start_task_hart(void const * argument)
//该任务用于设置HART芯片所需频率、驱动验证
if(tabdata.hart_enable == 1)
{
if(fre_set != 460800)
if(fre_set_hart != 460800)
{
//freq_operation(460800, 50, TIM_CHANNEL_3);
frequence_output(460800, 50, TIM_CHANNEL_3);
fre_set = 460800;
fre_set_hart = 460800;
frequence_output(fre_set_hart, 50, PWM_HART);
}
//驱动验证DEVICE <--- HART ---> SIG
@ -233,11 +233,10 @@ void start_task_hart(void const * argument)
}
else
{
if(fre_set != 0)
if(fre_set_hart != 0)
{
//freq_operation(0, 50, TIM_CHANNEL_3);
frequence_output(0, 50, TIM_CHANNEL_3);
fre_set = 0;
fre_set_hart = 0;
frequence_output(fre_set_hart, 50, PWM_HART);
}
}

View File

@ -111,12 +111,14 @@ int main(void)
MX_USART3_UART_Init();
MX_I2C3_Init();
MX_TIM2_Init();
MX_TIM8_Init();
/* USER CODE BEGIN 2 */
my_inits_gather();
HAL_TIM_Base_Start_IT(&htim6);
HAL_TIM_Base_Start_IT(&htim2);
HAL_TIM_Base_Start_IT(&htim6);
HAL_TIM_Base_Start_IT(&htim8);
#if RX_DMA_ENABLE
HAL_UART_Receive_DMA(&huart1, scom1_hart.rx_buff, BUFFER_SIZE);
@ -191,7 +193,7 @@ void SystemClock_Config(void)
}
/* USER CODE BEGIN 4 */
int tim8_test_cnt = 0;
/* USER CODE END 4 */
/**
@ -219,6 +221,10 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
duty_tim6();
}
if (htim->Instance == TIM8)
{
tim8_test_cnt++;
}
if (htim->Instance == TIM2)
{

View File

@ -62,6 +62,7 @@ extern TIM_HandleTypeDef htim1;
extern TIM_HandleTypeDef htim2;
extern TIM_HandleTypeDef htim3;
extern TIM_HandleTypeDef htim6;
extern TIM_HandleTypeDef htim8;
extern DMA_HandleTypeDef hdma_usart1_tx;
extern DMA_HandleTypeDef hdma_usart1_rx;
extern DMA_HandleTypeDef hdma_usart2_tx;
@ -314,6 +315,20 @@ void USART3_IRQHandler(void)
/* USER CODE END USART3_IRQn 1 */
}
/**
* @brief This function handles TIM8 update interrupt and TIM13 global interrupt.
*/
void TIM8_UP_TIM13_IRQHandler(void)
{
/* USER CODE BEGIN TIM8_UP_TIM13_IRQn 0 */
/* USER CODE END TIM8_UP_TIM13_IRQn 0 */
HAL_TIM_IRQHandler(&htim8);
/* USER CODE BEGIN TIM8_UP_TIM13_IRQn 1 */
/* USER CODE END TIM8_UP_TIM13_IRQn 1 */
}
/**
* @brief This function handles TIM6 global interrupt, DAC1 and DAC2 underrun error interrupts.
*/

View File

@ -28,6 +28,7 @@ TIM_HandleTypeDef htim1;
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3;
TIM_HandleTypeDef htim6;
TIM_HandleTypeDef htim8;
/* TIM1 init function */
void MX_TIM1_Init(void)
@ -78,10 +79,6 @@ void MX_TIM1_Init(void)
sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;
sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
{
Error_Handler();
@ -228,6 +225,76 @@ void MX_TIM6_Init(void)
/* USER CODE END TIM6_Init 2 */
}
/* TIM8 init function */
void MX_TIM8_Init(void)
{
/* USER CODE BEGIN TIM8_Init 0 */
/* USER CODE END TIM8_Init 0 */
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
TIM_OC_InitTypeDef sConfigOC = {0};
TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};
/* USER CODE BEGIN TIM8_Init 1 */
/* USER CODE END TIM8_Init 1 */
htim8.Instance = TIM8;
htim8.Init.Prescaler = 1500-1;
htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
htim8.Init.Period = 55-1;
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim8.Init.RepetitionCounter = 0;
htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
if (HAL_TIM_Base_Init(&htim8) != HAL_OK)
{
Error_Handler();
}
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK)
{
Error_Handler();
}
if (HAL_TIM_PWM_Init(&htim8) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 28-1;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;
sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
if (HAL_TIM_PWM_ConfigChannel(&htim8, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
sBreakDeadTimeConfig.DeadTime = 0;
sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
if (HAL_TIMEx_ConfigBreakDeadTime(&htim8, &sBreakDeadTimeConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM8_Init 2 */
/* USER CODE END TIM8_Init 2 */
HAL_TIM_MspPostInit(&htim8);
}
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
@ -305,6 +372,21 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
/* USER CODE END TIM6_MspInit 1 */
}
else if(tim_baseHandle->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspInit 0 */
/* USER CODE END TIM8_MspInit 0 */
/* TIM8 clock enable */
__HAL_RCC_TIM8_CLK_ENABLE();
/* TIM8 interrupt Init */
HAL_NVIC_SetPriority(TIM8_UP_TIM13_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(TIM8_UP_TIM13_IRQn);
/* USER CODE BEGIN TIM8_MspInit 1 */
/* USER CODE END TIM8_MspInit 1 */
}
}
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
{
@ -315,20 +397,10 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
/* USER CODE BEGIN TIM1_MspPostInit 0 */
/* USER CODE END TIM1_MspPostInit 0 */
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOE_CLK_ENABLE();
/**TIM1 GPIO Configuration
PB0 ------> TIM1_CH2N
PE13 ------> TIM1_CH3
*/
GPIO_InitStruct.Pin = PWM_OUT_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
HAL_GPIO_Init(PWM_OUT_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = HART_4608_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
@ -340,6 +412,27 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
/* USER CODE END TIM1_MspPostInit 1 */
}
else if(timHandle->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspPostInit 0 */
/* USER CODE END TIM8_MspPostInit 0 */
__HAL_RCC_GPIOB_CLK_ENABLE();
/**TIM8 GPIO Configuration
PB0 ------> TIM8_CH2N
*/
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF3_TIM8;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* USER CODE BEGIN TIM8_MspPostInit 1 */
/* USER CODE END TIM8_MspPostInit 1 */
}
}
@ -414,6 +507,20 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
/* USER CODE END TIM6_MspDeInit 1 */
}
else if(tim_baseHandle->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspDeInit 0 */
/* USER CODE END TIM8_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM8_CLK_DISABLE();
/* TIM8 interrupt Deinit */
HAL_NVIC_DisableIRQ(TIM8_UP_TIM13_IRQn);
/* USER CODE BEGIN TIM8_MspDeInit 1 */
/* USER CODE END TIM8_MspDeInit 1 */
}
}
/* USER CODE BEGIN 1 */

View File

@ -223,7 +223,7 @@
<Ww>
<count>13</count>
<WinNumber>1</WinNumber>
<ItemText>fre_set,0x0A</ItemText>
<ItemText>fre_set_hart</ItemText>
</Ww>
<Ww>
<count>14</count>
@ -265,6 +265,11 @@
<WinNumber>1</WinNumber>
<ItemText>neg_watch,0x0A</ItemText>
</Ww>
<Ww>
<count>22</count>
<WinNumber>1</WinNumber>
<ItemText>tim8_test_cnt,0x0A</ItemText>
</Ww>
</WatchWindow1>
<WatchWindow2>
<Ww>

View File

@ -341,7 +341,7 @@
<MiscControls>--locale=english</MiscControls>
<Define>USE_HAL_DRIVER,STM32F407xx</Define>
<Undefine></Undefine>
<IncludePath>../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../App/LCD;../Utils/inc;../App/BLE;../App/MUX_SIGNAL;../App/DAC8552;../App/HART;../App/RN7302;../App/ADS1220;../App/TM1650;../App/DAC7811;../App/SIG24130;../LVGL;../LVGL/src;../LVGL/examples/porting;../LVGL/myGUI/generated;../LVGL/myGUI/custom;../LVGL/myGUI/generated/guider_fonts;../LVGL/myGUI/generated/guider_customer_fonts;../App/APP_WU/Src;../App/APP_WU/Inc;../LVGL/demos/benchmark;../LVGL/demos;../App/MODBUS/Src;../App/MODBUS/Inc;..\App\EEPROM;..\App\IP5310</IncludePath>
<IncludePath>../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../App/LCD;../Utils/inc;../App/BLE;../App/MUX_SIGNAL;../App/DAC8552;../App/HART;../App/RN7302;../App/ADS1220;../App/TM1650;../App/DAC7811;../App/SIG24130;../LVGL;../LVGL/src;../LVGL/examples/porting;../LVGL/myGUI/generated;../LVGL/myGUI/custom;../LVGL/myGUI/generated/guider_fonts;../LVGL/myGUI/generated/guider_customer_fonts;../App/APP_WU/Src;../App/APP_WU/Inc;../LVGL/demos/benchmark;../LVGL/demos;../App/MODBUS/Src;../App/MODBUS/Inc;../App/EEPROM;../App/IP5310</IncludePath>
</VariousControls>
</Cads>
<Aads>

File diff suppressed because it is too large Load Diff

View File

@ -113,11 +113,12 @@ Mcu.IP12=TIM1
Mcu.IP13=TIM2
Mcu.IP14=TIM3
Mcu.IP15=TIM6
Mcu.IP16=USART1
Mcu.IP17=USART2
Mcu.IP18=USART3
Mcu.IP19=USART6
Mcu.IP16=TIM8
Mcu.IP17=USART1
Mcu.IP18=USART2
Mcu.IP19=USART3
Mcu.IP2=DMA
Mcu.IP20=USART6
Mcu.IP3=FREERTOS
Mcu.IP4=I2C1
Mcu.IP5=I2C3
@ -125,7 +126,7 @@ Mcu.IP6=NVIC
Mcu.IP7=RCC
Mcu.IP8=SPI1
Mcu.IP9=SPI2
Mcu.IPNb=20
Mcu.IPNb=21
Mcu.Name=STM32F407V(E-G)Tx
Mcu.Package=LQFP100
Mcu.Pin0=PE2
@ -203,9 +204,10 @@ Mcu.Pin73=VP_TIM1_VS_ClockSourceINT
Mcu.Pin74=VP_TIM2_VS_ClockSourceINT
Mcu.Pin75=VP_TIM3_VS_ClockSourceINT
Mcu.Pin76=VP_TIM6_VS_ClockSourceINT
Mcu.Pin77=VP_TIM8_VS_ClockSourceINT
Mcu.Pin8=PC3
Mcu.Pin9=PA0-WKUP
Mcu.PinsNb=77
Mcu.PinsNb=78
Mcu.ThirdPartyNb=0
Mcu.UserConstants=xx,xx
Mcu.UserName=STM32F407VGTx
@ -237,6 +239,7 @@ NVIC.TIM2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.TIM3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.TIM6_DAC_IRQn=true\:5\:0\:true\:false\:true\:true\:true\:true\:true
NVIC.TIM7_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true
NVIC.TIM8_UP_TIM13_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.TimeBase=TIM7_IRQn
NVIC.TimeBaseIP=TIM7
NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
@ -309,11 +312,9 @@ PA9.GPIOParameters=GPIO_Label
PA9.GPIO_Label=HART_TX
PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
PB0.GPIOParameters=GPIO_PuPd,GPIO_Label
PB0.GPIO_Label=PWM_OUT
PB0.GPIO_PuPd=GPIO_PULLUP
PB0.Locked=true
PB0.Mode=PWM Generation2 CH2N
PB0.Signal=TIM1_CH2N
PB0.Signal=TIM8_CH2N
PB1.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
PB1.GPIO_Label=FREQ_IN
PB1.GPIO_PuPd=GPIO_PULLDOWN
@ -601,7 +602,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_USART2_UART_Init-USART2-false-HAL-true,6-MX_USART6_UART_Init-USART6-false-HAL-true,7-MX_DAC_Init-DAC-false-HAL-true,8-MX_SPI3_Init-SPI3-false-HAL-true,9-MX_SPI2_Init-SPI2-false-HAL-true,10-MX_SPI1_Init-SPI1-false-HAL-true,11-MX_I2C1_Init-I2C1-false-HAL-true,12-MX_TIM1_Init-TIM1-false-HAL-true,13-MX_TIM3_Init-TIM3-false-HAL-true,14-MX_ADC1_Init-ADC1-false-HAL-true,15-MX_TIM6_Init-TIM6-false-HAL-true,16-MX_USART3_UART_Init-USART3-false-HAL-true,17-MX_I2C3_Init-I2C3-false-HAL-true,18-MX_TIM2_Init-TIM2-false-HAL-true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_USART2_UART_Init-USART2-false-HAL-true,6-MX_USART6_UART_Init-USART6-false-HAL-true,7-MX_DAC_Init-DAC-false-HAL-true,8-MX_SPI3_Init-SPI3-false-HAL-true,9-MX_SPI2_Init-SPI2-false-HAL-true,10-MX_SPI1_Init-SPI1-false-HAL-true,11-MX_I2C1_Init-I2C1-false-HAL-true,12-MX_TIM1_Init-TIM1-false-HAL-true,13-MX_TIM3_Init-TIM3-false-HAL-true,14-MX_ADC1_Init-ADC1-false-HAL-true,15-MX_TIM6_Init-TIM6-false-HAL-true,16-MX_USART3_UART_Init-USART3-false-HAL-true,17-MX_I2C3_Init-I2C3-false-HAL-true,18-MX_TIM2_Init-TIM2-false-HAL-true,19-MX_TIM8_Init-TIM8-false-HAL-true
RCC.48MHZClocksFreq_Value=82944000
RCC.AHBCLKDivider=RCC_SYSCLK_DIV2
RCC.AHBFreq_Value=82944000
@ -670,17 +671,12 @@ SPI3.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,CLKPolarity,BaudR
SPI3.Mode=SPI_MODE_MASTER
SPI3.VirtualType=VM_MASTER
TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM1.Channel-PWM\ Generation2\ CH2N=TIM_CHANNEL_2
TIM1.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
TIM1.IPParameters=Prescaler,AutoReloadPreload,Period,OC2Preload_PWM,Channel-PWM Generation2 CH2N,Pulse-PWM Generation2 CH2N,OCFastMode_PWM-PWM Generation2 CH2N,OCMode_PWM-PWM Generation2 CH2N,Channel-PWM Generation3 CH3,Pulse-PWM Generation3 CH3,OCFastMode_PWM-PWM Generation3 CH3,OCMode_PWM-PWM Generation3 CH3
TIM1.OC2Preload_PWM=ENABLE
TIM1.OCFastMode_PWM-PWM\ Generation2\ CH2N=TIM_OCFAST_ENABLE
TIM1.IPParameters=Prescaler,AutoReloadPreload,Period,Channel-PWM Generation3 CH3,Pulse-PWM Generation3 CH3,OCFastMode_PWM-PWM Generation3 CH3,OCMode_PWM-PWM Generation3 CH3
TIM1.OCFastMode_PWM-PWM\ Generation3\ CH3=TIM_OCFAST_ENABLE
TIM1.OCMode_PWM-PWM\ Generation2\ CH2N=TIM_OCMODE_PWM1
TIM1.OCMode_PWM-PWM\ Generation3\ CH3=TIM_OCMODE_PWM1
TIM1.Period=55-1
TIM1.Prescaler=1500-1
TIM1.Pulse-PWM\ Generation2\ CH2N=28-1
TIM1.Pulse-PWM\ Generation3\ CH3=28-1
TIM2.IPParameters=Prescaler,Period
TIM2.Period=41472-1
@ -694,6 +690,13 @@ TIM6.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM6.IPParameters=Prescaler,Period,AutoReloadPreload
TIM6.Period=41472-1
TIM6.Prescaler=2-1
TIM8.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM8.Channel-PWM\ Generation2\ CH2N=TIM_CHANNEL_2
TIM8.IPParameters=Channel-PWM Generation2 CH2N,Prescaler,Period,AutoReloadPreload,Pulse-PWM Generation2 CH2N,OCFastMode_PWM-PWM Generation2 CH2N
TIM8.OCFastMode_PWM-PWM\ Generation2\ CH2N=TIM_OCFAST_ENABLE
TIM8.Period=55-1
TIM8.Prescaler=1500-1
TIM8.Pulse-PWM\ Generation2\ CH2N=28-1
USART1.BaudRate=1200
USART1.IPParameters=VirtualMode,Parity,WordLength,BaudRate
USART1.Parity=PARITY_ODD
@ -718,5 +721,7 @@ VP_TIM3_VS_ClockSourceINT.Mode=Internal
VP_TIM3_VS_ClockSourceINT.Signal=TIM3_VS_ClockSourceINT
VP_TIM6_VS_ClockSourceINT.Mode=Enable_Timer
VP_TIM6_VS_ClockSourceINT.Signal=TIM6_VS_ClockSourceINT
VP_TIM8_VS_ClockSourceINT.Mode=Internal
VP_TIM8_VS_ClockSourceINT.Signal=TIM8_VS_ClockSourceINT
board=custom
rtos.0.ip=FREERTOS