Add LED for WD status, update IOC, adjust ADC parameters

This commit is contained in:
Autobox 2024-07-29 17:54:10 +02:00
parent ad69b0a0be
commit 957cfbaec2
5 changed files with 220 additions and 93 deletions

File diff suppressed because one or more lines are too long

View File

@ -51,7 +51,7 @@
/*#define HAL_CRYP_MODULE_ENABLED */ /*#define HAL_CRYP_MODULE_ENABLED */
/*#define HAL_DAC_MODULE_ENABLED */ /*#define HAL_DAC_MODULE_ENABLED */
/*#define HAL_I2S_MODULE_ENABLED */ /*#define HAL_I2S_MODULE_ENABLED */
#define HAL_IWDG_MODULE_ENABLED /*#define HAL_IWDG_MODULE_ENABLED */
/*#define HAL_LCD_MODULE_ENABLED */ /*#define HAL_LCD_MODULE_ENABLED */
/*#define HAL_LPTIM_MODULE_ENABLED */ /*#define HAL_LPTIM_MODULE_ENABLED */
/*#define HAL_RNG_MODULE_ENABLED */ /*#define HAL_RNG_MODULE_ENABLED */

View File

@ -51,8 +51,6 @@ CAN_HandleTypeDef hcan;
I2C_HandleTypeDef hi2c1; I2C_HandleTypeDef hi2c1;
IWDG_HandleTypeDef hiwdg;
TIM_HandleTypeDef htim2; TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3; TIM_HandleTypeDef htim3;
TIM_HandleTypeDef htim6; TIM_HandleTypeDef htim6;
@ -75,7 +73,6 @@ static void MX_TIM3_Init(void);
static void MX_I2C1_Init(void); static void MX_I2C1_Init(void);
static void MX_USART1_UART_Init(void); static void MX_USART1_UART_Init(void);
static void MX_TIM6_Init(void); static void MX_TIM6_Init(void);
//static void MX_IWDG_Init(void);
/* USER CODE BEGIN PFP */ /* USER CODE BEGIN PFP */
/* USER CODE END PFP */ /* USER CODE END PFP */
@ -133,7 +130,6 @@ int main(void)
MX_I2C1_Init(); MX_I2C1_Init();
MX_USART1_UART_Init(); MX_USART1_UART_Init();
MX_TIM6_Init(); MX_TIM6_Init();
//MX_IWDG_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
// REMINDER: Comment out the IWDG Init above!!! // REMINDER: Comment out the IWDG Init above!!!
@ -193,6 +189,8 @@ int main(void)
inhibit_SDC = 1; inhibit_SDC = 1;
} }
HAL_GPIO_WritePin(STATUS_LED4_GPIO_Port , STATUS_LED4_Pin , inhibit_SDC);
currentMonitor_checklimits(); // ob irgnwo ueberstrom getreten ist currentMonitor_checklimits(); // ob irgnwo ueberstrom getreten ist
} }
/* USER CODE END 3 */ /* USER CODE END 3 */
@ -211,11 +209,10 @@ void SystemClock_Config(void)
/** Initializes the RCC Oscillators according to the specified parameters /** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure. * in the RCC_OscInitTypeDef structure.
*/ */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;
@ -276,15 +273,15 @@ static void MX_ADC1_Init(void)
hadc1.Instance = ADC1; hadc1.Instance = ADC1;
hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1; hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc1.Init.Resolution = ADC_RESOLUTION_12B; hadc1.Init.Resolution = ADC_RESOLUTION_12B;
hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE; hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
hadc1.Init.ContinuousConvMode = DISABLE; hadc1.Init.ContinuousConvMode = DISABLE;
hadc1.Init.DiscontinuousConvMode = DISABLE; hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T6_TRGO;
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.NbrOfConversion = 1; hadc1.Init.NbrOfConversion = 7;
hadc1.Init.DMAContinuousRequests = ENABLE; hadc1.Init.DMAContinuousRequests = ENABLE;
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; hadc1.Init.EOCSelection = ADC_EOC_SEQ_CONV;
hadc1.Init.LowPowerAutoWait = DISABLE; hadc1.Init.LowPowerAutoWait = DISABLE;
hadc1.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN; hadc1.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN;
if (HAL_ADC_Init(&hadc1) != HAL_OK) if (HAL_ADC_Init(&hadc1) != HAL_OK)
@ -312,6 +309,54 @@ static void MX_ADC1_Init(void)
{ {
Error_Handler(); Error_Handler();
} }
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_2;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_3;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_4;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_5;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_6;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_7;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN ADC1_Init 2 */ /* USER CODE BEGIN ADC1_Init 2 */
/* USER CODE END ADC1_Init 2 */ /* USER CODE END ADC1_Init 2 */
@ -341,15 +386,15 @@ static void MX_ADC2_Init(void)
hadc2.Instance = ADC2; hadc2.Instance = ADC2;
hadc2.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1; hadc2.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc2.Init.Resolution = ADC_RESOLUTION_12B; hadc2.Init.Resolution = ADC_RESOLUTION_12B;
hadc2.Init.ScanConvMode = ADC_SCAN_DISABLE; hadc2.Init.ScanConvMode = ADC_SCAN_ENABLE;
hadc2.Init.ContinuousConvMode = DISABLE; hadc2.Init.ContinuousConvMode = DISABLE;
hadc2.Init.DiscontinuousConvMode = DISABLE; hadc2.Init.DiscontinuousConvMode = DISABLE;
hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc2.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T6_TRGO;
hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc2.Init.NbrOfConversion = 1; hadc2.Init.NbrOfConversion = 7;
hadc2.Init.DMAContinuousRequests = ENABLE; hadc2.Init.DMAContinuousRequests = ENABLE;
hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV; hadc2.Init.EOCSelection = ADC_EOC_SEQ_CONV;
hadc2.Init.LowPowerAutoWait = DISABLE; hadc2.Init.LowPowerAutoWait = DISABLE;
hadc2.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN; hadc2.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN;
if (HAL_ADC_Init(&hadc2) != HAL_OK) if (HAL_ADC_Init(&hadc2) != HAL_OK)
@ -369,6 +414,54 @@ static void MX_ADC2_Init(void)
{ {
Error_Handler(); Error_Handler();
} }
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_2;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_3;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_4;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_5;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_6;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Rank = ADC_REGULAR_RANK_7;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN ADC2_Init 2 */ /* USER CODE BEGIN ADC2_Init 2 */
/* USER CODE END ADC2_Init 2 */ /* USER CODE END ADC2_Init 2 */
@ -460,41 +553,6 @@ static void MX_I2C1_Init(void)
} }
/**
* @brief IWDG Initialization Function
* @param None
* @retval None
*/
static void MX_IWDG_Init(void)
{
/* USER CODE BEGIN IWDG_Init 0 */
/* USER CODE END IWDG_Init 0 */
/* USER CODE BEGIN IWDG_Init 1 */
//
// CALC:
//
// 1000 × 1/(32 kHz / 4)
//
/* USER CODE END IWDG_Init 1 */
hiwdg.Instance = IWDG;
hiwdg.Init.Prescaler = IWDG_PRESCALER_4;
hiwdg.Init.Window = 1000;
hiwdg.Init.Reload = 1000;
if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN IWDG_Init 2 */
/* USER CODE END IWDG_Init 2 */
}
/** /**
* @brief TIM2 Initialization Function * @brief TIM2 Initialization Function
* @param None * @param None

View File

@ -1,24 +1,102 @@
#MicroXplorer Configuration settings - do not modify #MicroXplorer Configuration settings - do not modify
ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_1 ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_1
ADC1.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1
ADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_1
ADC1.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_1
ADC1.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_1
ADC1.Channel-5\#ChannelRegularConversion=ADC_CHANNEL_1
ADC1.Channel-6\#ChannelRegularConversion=ADC_CHANNEL_1
ADC1.DMAContinuousRequests=ENABLE ADC1.DMAContinuousRequests=ENABLE
ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,Offset-0\#ChannelRegularConversion,NbrOfConversionFlag,master,DMAContinuousRequests,NbrOfConversion ADC1.EOCSelection=ADC_EOC_SEQ_CONV
ADC1.NbrOfConversion=1 ADC1.ExternalTrigConv=ADC_EXTERNALTRIGCONV_T6_TRGO
ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,Offset-0\#ChannelRegularConversion,NbrOfConversionFlag,master,DMAContinuousRequests,NbrOfConversion,EOCSelection,ExternalTrigConv,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,SamplingTimeOPAMP-1\#ChannelRegularConversion,OffsetNumber-1\#ChannelRegularConversion,Offset-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,SamplingTimeOPAMP-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,Offset-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,SamplingTimeOPAMP-3\#ChannelRegularConversion,OffsetNumber-3\#ChannelRegularConversion,Offset-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,SamplingTimeOPAMP-4\#ChannelRegularConversion,OffsetNumber-4\#ChannelRegularConversion,Offset-4\#ChannelRegularConversion,Rank-5\#ChannelRegularConversion,Channel-5\#ChannelRegularConversion,SamplingTime-5\#ChannelRegularConversion,SamplingTimeOPAMP-5\#ChannelRegularConversion,OffsetNumber-5\#ChannelRegularConversion,Offset-5\#ChannelRegularConversion,Rank-6\#ChannelRegularConversion,Channel-6\#ChannelRegularConversion,SamplingTime-6\#ChannelRegularConversion,SamplingTimeOPAMP-6\#ChannelRegularConversion,OffsetNumber-6\#ChannelRegularConversion,Offset-6\#ChannelRegularConversion
ADC1.NbrOfConversion=7
ADC1.NbrOfConversionFlag=1 ADC1.NbrOfConversionFlag=1
ADC1.Offset-0\#ChannelRegularConversion=0 ADC1.Offset-0\#ChannelRegularConversion=0
ADC1.Offset-1\#ChannelRegularConversion=0
ADC1.Offset-2\#ChannelRegularConversion=0
ADC1.Offset-3\#ChannelRegularConversion=0
ADC1.Offset-4\#ChannelRegularConversion=0
ADC1.Offset-5\#ChannelRegularConversion=0
ADC1.Offset-6\#ChannelRegularConversion=0
ADC1.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE ADC1.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC1.OffsetNumber-1\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC1.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC1.OffsetNumber-3\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC1.OffsetNumber-4\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC1.OffsetNumber-5\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC1.OffsetNumber-6\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC1.Rank-0\#ChannelRegularConversion=1 ADC1.Rank-0\#ChannelRegularConversion=1
ADC1.Rank-1\#ChannelRegularConversion=2
ADC1.Rank-2\#ChannelRegularConversion=3
ADC1.Rank-3\#ChannelRegularConversion=4
ADC1.Rank-4\#ChannelRegularConversion=5
ADC1.Rank-5\#ChannelRegularConversion=6
ADC1.Rank-6\#ChannelRegularConversion=7
ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC1.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC1.SamplingTime-4\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC1.SamplingTime-5\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC1.SamplingTime-6\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC1.SamplingTimeOPAMP-1\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC1.SamplingTimeOPAMP-2\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC1.SamplingTimeOPAMP-3\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC1.SamplingTimeOPAMP-4\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC1.SamplingTimeOPAMP-5\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC1.SamplingTimeOPAMP-6\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC1.master=1 ADC1.master=1
ADC2.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_1 ADC2.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_1
ADC2.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1
ADC2.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_1
ADC2.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_1
ADC2.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_1
ADC2.Channel-5\#ChannelRegularConversion=ADC_CHANNEL_1
ADC2.Channel-6\#ChannelRegularConversion=ADC_CHANNEL_1
ADC2.ClockPrescaler=ADC_CLOCK_ASYNC_DIV1 ADC2.ClockPrescaler=ADC_CLOCK_ASYNC_DIV1
ADC2.DMAContinuousRequests=ENABLE ADC2.DMAContinuousRequests=ENABLE
ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,Offset-0\#ChannelRegularConversion,NbrOfConversionFlag,ClockPrescaler,LowPowerAutoWait,DMAContinuousRequests ADC2.EOCSelection=ADC_EOC_SEQ_CONV
ADC2.EnableInjectedConversion=DISABLE
ADC2.ExternalTrigConv=ADC_EXTERNALTRIGCONV_T6_TRGO
ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,Offset-0\#ChannelRegularConversion,NbrOfConversionFlag,ClockPrescaler,LowPowerAutoWait,DMAContinuousRequests,EOCSelection,NbrOfConversion,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,SamplingTimeOPAMP-1\#ChannelRegularConversion,OffsetNumber-1\#ChannelRegularConversion,Offset-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,SamplingTimeOPAMP-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,Offset-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,SamplingTimeOPAMP-3\#ChannelRegularConversion,OffsetNumber-3\#ChannelRegularConversion,Offset-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,SamplingTimeOPAMP-4\#ChannelRegularConversion,OffsetNumber-4\#ChannelRegularConversion,Offset-4\#ChannelRegularConversion,Rank-5\#ChannelRegularConversion,Channel-5\#ChannelRegularConversion,SamplingTime-5\#ChannelRegularConversion,SamplingTimeOPAMP-5\#ChannelRegularConversion,OffsetNumber-5\#ChannelRegularConversion,Offset-5\#ChannelRegularConversion,Rank-6\#ChannelRegularConversion,Channel-6\#ChannelRegularConversion,SamplingTime-6\#ChannelRegularConversion,SamplingTimeOPAMP-6\#ChannelRegularConversion,OffsetNumber-6\#ChannelRegularConversion,Offset-6\#ChannelRegularConversion,ExternalTrigConv,EnableInjectedConversion
ADC2.LowPowerAutoWait=DISABLE ADC2.LowPowerAutoWait=DISABLE
ADC2.NbrOfConversion=7
ADC2.NbrOfConversionFlag=1 ADC2.NbrOfConversionFlag=1
ADC2.Offset-0\#ChannelRegularConversion=0 ADC2.Offset-0\#ChannelRegularConversion=0
ADC2.Offset-1\#ChannelRegularConversion=0
ADC2.Offset-2\#ChannelRegularConversion=0
ADC2.Offset-3\#ChannelRegularConversion=0
ADC2.Offset-4\#ChannelRegularConversion=0
ADC2.Offset-5\#ChannelRegularConversion=0
ADC2.Offset-6\#ChannelRegularConversion=0
ADC2.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE ADC2.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.OffsetNumber-1\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.OffsetNumber-3\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.OffsetNumber-4\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.OffsetNumber-5\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.OffsetNumber-6\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.Rank-0\#ChannelRegularConversion=1 ADC2.Rank-0\#ChannelRegularConversion=1
ADC2.Rank-1\#ChannelRegularConversion=2
ADC2.Rank-2\#ChannelRegularConversion=3
ADC2.Rank-3\#ChannelRegularConversion=4
ADC2.Rank-4\#ChannelRegularConversion=5
ADC2.Rank-5\#ChannelRegularConversion=6
ADC2.Rank-6\#ChannelRegularConversion=7
ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC2.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC2.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC2.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC2.SamplingTime-4\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC2.SamplingTime-5\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC2.SamplingTime-6\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC2.SamplingTimeOPAMP-1\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC2.SamplingTimeOPAMP-2\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC2.SamplingTimeOPAMP-3\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC2.SamplingTimeOPAMP-4\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC2.SamplingTimeOPAMP-5\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
ADC2.SamplingTimeOPAMP-6\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
CAD.formats= CAD.formats=
CAD.pinconfig= CAD.pinconfig=
CAD.provider= CAD.provider=
@ -56,27 +134,22 @@ File.Version=6
GPIO.groupedBy=Group By Peripherals GPIO.groupedBy=Group By Peripherals
I2C1.IPParameters=Timing I2C1.IPParameters=Timing
I2C1.Timing=0x00303D5B I2C1.Timing=0x00303D5B
IWDG.IPParameters=Prescaler,Window,Reload
IWDG.Prescaler=IWDG_PRESCALER_4
IWDG.Reload=1000
IWDG.Window=1000
KeepUserPlacement=false KeepUserPlacement=false
Mcu.CPN=STM32F302RBT6 Mcu.CPN=STM32F302RBT6
Mcu.Family=STM32F3 Mcu.Family=STM32F3
Mcu.IP0=ADC1 Mcu.IP0=ADC1
Mcu.IP1=ADC2 Mcu.IP1=ADC2
Mcu.IP10=TIM3 Mcu.IP10=TIM6
Mcu.IP11=TIM6 Mcu.IP11=USART1
Mcu.IP12=USART1
Mcu.IP2=CAN Mcu.IP2=CAN
Mcu.IP3=DMA Mcu.IP3=DMA
Mcu.IP4=I2C1 Mcu.IP4=I2C1
Mcu.IP5=IWDG Mcu.IP5=NVIC
Mcu.IP6=NVIC Mcu.IP6=RCC
Mcu.IP7=RCC Mcu.IP7=SYS
Mcu.IP8=SYS Mcu.IP8=TIM2
Mcu.IP9=TIM2 Mcu.IP9=TIM3
Mcu.IPNb=13 Mcu.IPNb=12
Mcu.Name=STM32F302R(B-C)Tx Mcu.Name=STM32F302R(B-C)Tx
Mcu.Package=LQFP64 Mcu.Package=LQFP64
Mcu.Pin0=PF0-OSC_IN Mcu.Pin0=PF0-OSC_IN
@ -110,16 +183,15 @@ Mcu.Pin33=PB3
Mcu.Pin34=PB4 Mcu.Pin34=PB4
Mcu.Pin35=PB7 Mcu.Pin35=PB7
Mcu.Pin36=PB9 Mcu.Pin36=PB9
Mcu.Pin37=VP_IWDG_VS_IWDG Mcu.Pin37=VP_SYS_VS_Systick
Mcu.Pin38=VP_SYS_VS_Systick Mcu.Pin38=VP_TIM6_VS_ClockSourceINT
Mcu.Pin39=VP_TIM6_VS_ClockSourceINT
Mcu.Pin4=PC2 Mcu.Pin4=PC2
Mcu.Pin5=PC3 Mcu.Pin5=PC3
Mcu.Pin6=PA0 Mcu.Pin6=PA0
Mcu.Pin7=PA1 Mcu.Pin7=PA1
Mcu.Pin8=PA2 Mcu.Pin8=PA2
Mcu.Pin9=PA3 Mcu.Pin9=PA3
Mcu.PinsNb=40 Mcu.PinsNb=39
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32F302RBTx Mcu.UserName=STM32F302RBTx
@ -312,7 +384,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath= ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false 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_ADC1_Init-ADC1-false-HAL-true,5-MX_ADC2_Init-ADC2-false-HAL-true,6-MX_CAN_Init-CAN-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-MX_I2C1_Init-I2C1-false-HAL-true,10-MX_USART1_UART_Init-USART1-false-HAL-true,11-MX_TIM6_Init-TIM6-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_ADC1_Init-ADC1-false-HAL-true,5-MX_ADC2_Init-ADC2-false-HAL-true,6-MX_CAN_Init-CAN-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-MX_I2C1_Init-I2C1-false-HAL-true,10-MX_USART1_UART_Init-USART1-false-HAL-true,11-MX_TIM6_Init-TIM6-false-HAL-true,12-MX_IWDG_Init-IWDG-false-HAL-true
RCC.ADC12outputFreq_Value=64000000 RCC.ADC12outputFreq_Value=64000000
RCC.AHBFreq_Value=16000000 RCC.AHBFreq_Value=16000000
RCC.APB1Freq_Value=16000000 RCC.APB1Freq_Value=16000000
@ -384,8 +456,6 @@ TIM6.Prescaler=400
TIM6.TIM_MasterOutputTrigger=TIM_TRGO_UPDATE TIM6.TIM_MasterOutputTrigger=TIM_TRGO_UPDATE
USART1.IPParameters=VirtualMode-Multiprocessor_communication USART1.IPParameters=VirtualMode-Multiprocessor_communication
USART1.VirtualMode-Multiprocessor_communication=VM_ASYNC USART1.VirtualMode-Multiprocessor_communication=VM_ASYNC
VP_IWDG_VS_IWDG.Mode=IWDG_Activate
VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG
VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TIM6_VS_ClockSourceINT.Mode=Enable_Timer VP_TIM6_VS_ClockSourceINT.Mode=Enable_Timer

View File

@ -59,7 +59,6 @@ Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c \
Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c \ Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c \
Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c \ Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c \
Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c \ Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c \
Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_iwdg.c \
Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c \ Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c \
Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.c \ Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.c \
Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c \ Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c \
@ -86,7 +85,7 @@ PREFIX = arm-none-eabi-
POSTFIX = " POSTFIX = "
# The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx) # The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx)
# either it can be added to the PATH environment variable. # either it can be added to the PATH environment variable.
#GCC_PATH="c:/Users/nived/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-none-eabi-gcc/12.3.1-1.2.1/.content/bin GCC_PATH="c:/Users/GETAC/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-none-eabi-gcc/13.2.1-1.1.1/.content/bin
ifdef GCC_PATH ifdef GCC_PATH
CXX = $(GCC_PATH)/$(PREFIX)g++$(POSTFIX) CXX = $(GCC_PATH)/$(PREFIX)g++$(POSTFIX)
CC = $(GCC_PATH)/$(PREFIX)gcc$(POSTFIX) CC = $(GCC_PATH)/$(PREFIX)gcc$(POSTFIX)
@ -120,7 +119,7 @@ MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
# macros for gcc # macros for gcc
# AS defines # AS defines
AS_DEFS = AS_DEFS =
# C defines # C defines
C_DEFS = \ C_DEFS = \
@ -160,9 +159,9 @@ CXXFLAGS += -g -gdwarf -ggdb
endif endif
# Add additional flags # Add additional flags
CFLAGS += -Wall -fdata-sections -ffunction-sections CFLAGS += -Wall -fdata-sections -ffunction-sections
ASFLAGS += -Wall -fdata-sections -ffunction-sections ASFLAGS += -Wall -fdata-sections -ffunction-sections
CXXFLAGS += CXXFLAGS +=
# Generate dependency information # Generate dependency information
CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
@ -175,12 +174,12 @@ CXXFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
LDSCRIPT = STM32F302RBTx_FLASH.ld LDSCRIPT = STM32F302RBTx_FLASH.ld
# libraries # libraries
LIBS = -lc -lm -lnosys LIBS = -lc -lm -lnosys
LIBDIR = \ LIBDIR = \
# Additional LD Flags from config file # Additional LD Flags from config file
ADDITIONALLDFLAGS = -specs=nano.specs ADDITIONALLDFLAGS = -specs=nano.specs
LDFLAGS = $(MCU) $(ADDITIONALLDFLAGS) -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections LDFLAGS = $(MCU) $(ADDITIONALLDFLAGS) -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections
@ -207,13 +206,13 @@ OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(UPPER_CASE_ASM_SOURCES:.S=.o)))
OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(LOWER_CASE_ASM_SOURCES:.s=.o))) OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(LOWER_CASE_ASM_SOURCES:.s=.o)))
vpath %.s $(sort $(dir $(ASM_SOURCES))) vpath %.s $(sort $(dir $(ASM_SOURCES)))
$(BUILD_DIR)/%.o: %.cpp STM32Make.make | $(BUILD_DIR) $(BUILD_DIR)/%.o: %.cpp STM32Make.make | $(BUILD_DIR)
$(CXX) -c $(CXXFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.cpp=.lst)) $< -o $@ $(CXX) -c $(CXXFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.cpp=.lst)) $< -o $@
$(BUILD_DIR)/%.o: %.cxx STM32Make.make | $(BUILD_DIR) $(BUILD_DIR)/%.o: %.cxx STM32Make.make | $(BUILD_DIR)
$(CXX) -c $(CXXFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.cxx=.lst)) $< -o $@ $(CXX) -c $(CXXFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.cxx=.lst)) $< -o $@
$(BUILD_DIR)/%.o: %.c STM32Make.make | $(BUILD_DIR) $(BUILD_DIR)/%.o: %.c STM32Make.make | $(BUILD_DIR)
$(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@ $(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@
$(BUILD_DIR)/%.o: %.s STM32Make.make | $(BUILD_DIR) $(BUILD_DIR)/%.o: %.s STM32Make.make | $(BUILD_DIR)
@ -239,29 +238,29 @@ $(BUILD_DIR):
# flash # flash
####################################### #######################################
flash: $(BUILD_DIR)/$(TARGET).elf flash: $(BUILD_DIR)/$(TARGET).elf
openocd -f ./openocd.cfg -c "program $(BUILD_DIR)/$(TARGET).elf verify reset exit" "C:/USERS/GETAC/APPDATA/ROAMING/CODE/USER/GLOBALSTORAGE/BMD.STM32-FOR-VSCODE/@XPACK-DEV-TOOLS/OPENOCD/0.12.0-3.1/.CONTENT/BIN/OPENOCD.EXE" -f ./openocd.cfg -c "program $(BUILD_DIR)/$(TARGET).elf verify reset exit"
####################################### #######################################
# erase # erase
####################################### #######################################
erase: $(BUILD_DIR)/$(TARGET).elf erase: $(BUILD_DIR)/$(TARGET).elf
openocd -f ./openocd.cfg -c "init; reset halt; stm32f3x mass_erase 0; exit" "C:/USERS/GETAC/APPDATA/ROAMING/CODE/USER/GLOBALSTORAGE/BMD.STM32-FOR-VSCODE/@XPACK-DEV-TOOLS/OPENOCD/0.12.0-3.1/.CONTENT/BIN/OPENOCD.EXE" -f ./openocd.cfg -c "init; reset halt; stm32f3x mass_erase 0; exit"
####################################### #######################################
# clean up # clean up
####################################### #######################################
clean: clean:
rm -r $(BUILD_DIR) cmd /c rd /s /q $(BUILD_DIR)
####################################### #######################################
# custom makefile rules # custom makefile rules
####################################### #######################################
####################################### #######################################
# dependencies # dependencies
####################################### #######################################
-include $(wildcard $(BUILD_DIR)/*.d) -include $(wildcard $(BUILD_DIR)/*.d)
# *** EOF *** # *** EOF ***