From a5704ae4be7b54228fcd03e6d512b26011ebe6ed Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Thu, 19 Dec 2024 15:26:22 +0300 Subject: [PATCH] =?UTF-8?q?#3=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BF=D1=80=D0=BE=D1=81=D1=82=D0=B5=D0=B9=D1=88=D0=B8?= =?UTF-8?q?=D0=B9=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81?= =?UTF-8?q?:=20=D0=BE=D0=B4=D0=BD=D0=B0=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B8=20=D0=BE=D0=B4=D0=B8=D0=BD=20=D0=B4=D0=B8=D0=BE?= =?UTF-8?q?=D0=B4.=20=D0=9F=D0=BE=D0=BA=D0=B0=20=D0=B8=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D1=80=D1=84=D0=B5=D0=B9=D1=81=20=D1=83=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D1=8F=D0=B5=D1=82=D1=81=D1=8F=20=D1=87=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=20=D0=BF=D1=80=D0=B5=D1=80=D1=8B=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B2=20SysTick?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit При нажатии на кнопку включается тест с переходом от положительного напряжения к отрицатльному. Индикация светодиода: - постоянно горит - ожидание команды - моргание (250 мс) - прямое подключение диода - моргание (25 мс) - обратое подключение диода --- diode_tester/Core/Src/gpio.c | 6 ++ diode_tester/Core/Src/stm32f1xx_it.c | 6 +- diode_tester/Core/Tester_main/tester_config.h | 40 ++++++++ diode_tester/Core/Tester_main/tester_func.c | 10 +- diode_tester/Core/Tester_main/tester_func.h | 5 +- .../Core/Tester_main/tester_interface_func.c | 95 ++++++++++++++++++ .../Core/Tester_main/tester_interface_func.h | 65 ++++++++++++ diode_tester/Core/Tester_main/tester_main.c | 44 +++++++-- diode_tester/Core/Tester_main/tester_main.h | 26 ++++- diode_tester/MDK-ARM/diode_tester.uvoptx | 98 ++++++++++++------- diode_tester/MDK-ARM/diode_tester.uvprojx | 10 ++ diode_tester/diode_tester.ioc | 37 ++++--- 12 files changed, 371 insertions(+), 71 deletions(-) create mode 100644 diode_tester/Core/Tester_main/tester_interface_func.c create mode 100644 diode_tester/Core/Tester_main/tester_interface_func.h diff --git a/diode_tester/Core/Src/gpio.c b/diode_tester/Core/Src/gpio.c index c32177f..ee5f6ad 100644 --- a/diode_tester/Core/Src/gpio.c +++ b/diode_tester/Core/Src/gpio.c @@ -63,6 +63,12 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + /*Configure GPIO pin : PC14 */ + GPIO_InitStruct.Pin = GPIO_PIN_14; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + /*Configure GPIO pins : PB0 PB1 PB10 PB11 */ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_10|GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; diff --git a/diode_tester/Core/Src/stm32f1xx_it.c b/diode_tester/Core/Src/stm32f1xx_it.c index 2d8fd52..23bd3bc 100644 --- a/diode_tester/Core/Src/stm32f1xx_it.c +++ b/diode_tester/Core/Src/stm32f1xx_it.c @@ -22,7 +22,7 @@ #include "stm32f1xx_it.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ -#include "tester_adc_func.h" +#include "tester_main.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -188,7 +188,7 @@ void PendSV_Handler(void) void SysTick_Handler(void) { /* USER CODE BEGIN SysTick_IRQn 0 */ - + TESTER_InterfaceHandle(&TESTER); /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); /* USER CODE BEGIN SysTick_IRQn 1 */ @@ -237,7 +237,7 @@ void TIM2_IRQHandler(void) void TIM3_IRQHandler(void) { /* USER CODE BEGIN TIM3_IRQn 0 */ - HAL_NVIC_ClearPendingIRQ(TIM3_IRQn); + /* USER CODE END TIM3_IRQn 0 */ HAL_TIM_IRQHandler(&htim3); /* USER CODE BEGIN TIM3_IRQn 1 */ diff --git a/diode_tester/Core/Tester_main/tester_config.h b/diode_tester/Core/Tester_main/tester_config.h index e97c5e0..bd4af9e 100644 --- a/diode_tester/Core/Tester_main/tester_config.h +++ b/diode_tester/Core/Tester_main/tester_config.h @@ -14,6 +14,44 @@ #define TESTER_PULES_EXPETCED_WIDTH 4 ///< Предполагаемая длительность пика в отчетах ацп +/** + * @addtogroup TESTER_INTERFACE_CONFIG Configs for interface of tester + * @ingroup TESTER_CONFIGS + * @brief Конфигурации для интерфейса тестера + @{ + */ + +/* Дефайны для светодиодов */ +/* Состояния включенного и выключенного светодиода */ +#define LED_ON 0 ///< Состояние включенного светодиода +#define LED_OFF 1 ///< Состояние выключенного светодиода + +#define LED1_Port GPIOC ///< Порт светодиода (при перенастройке надо также перенастроить через cube) +#define LED1_Pin GPIO_PIN_13 ///< Пин светодиода (при перенастройке надо также перенастроить через cube) + +/* Периоды моргания светодиода */ +#define LED_POSITIVE_DIODE_PERIOD 250 ///< Моргание для индикации подключенного положительного напряжения +#define LED_NEGATIVE_DIODE_PERIOD 25 ///< Моргание для индикации подключенного отрицательного напряжения +#define LED_BLINK_AS_ON 5 ///< Моргание незаметное для глаза (светодиод просто включен) + + +/* Дефайны для кнопки */ +/* Состояния нажатой и отжатой кнопки */ +#define SW_ON 1 ///< Состояние нажатой кнопки +#define SW_OFF 0 ///< Состояние отжатой кнопки + +/* Пин кнопки при перенастройке надо также перенастроить через cube) */ +#define SWITCH_START_Port GPIOC ///< Порт кнокпи старта (при перенастройке надо также перенастроить через cube) +#define SWITCH_START_Pin GPIO_PIN_14 ///< Пин кнокпи старта (при перенастройке надо также перенастроить через cube) + +/* Задержка для компенсации дребезга (в миллисекундах) */ +#define SWITCH_ANTI_DREBEZG_DELAY 50 ///< Время которое выжидается для окончания дребезга + + + +/** TESTER_INTERFACE_CONFIG + * @} + */ /** * @addtogroup TESTER_SW_TIMINGS_CONFIG Configs for switching timings * @ingroup TESTER_CONFIGS @@ -70,12 +108,14 @@ #define POWER_DISCONNECT 0 ///< Питание отключено в данном состоянии пина /* Ключи для подключения положительного питания к диоду */ +/* (при перенастройке надо также перенастроить через cube) */ #define SWITCH_DC_POSITIVE_Port GPIOB ///< Порт пина первого ключа для земли положительного источника питания #define SWITCH_DC_POSITIVE_GND_Pin GPIO_PIN_10 ///< Пин первого ключа для земли положительного источника питания #define SWITCH_DC_POSITIVE_VDD_Pin GPIO_PIN_11 ///< Пин второго ключа для напряжения положительного источника ппитания /* Ключи для подключения отрицательного питания к диоду */ +/* (при перенастройке надо также перенастроить через cube) */ #define SWITCH_DC_NEGATIVE_Port GPIOB ///< Порт пина первого ключа для земли отрицательного источника ппитания #define SWITCH_DC_NEGATIVE_GND_Pin GPIO_PIN_0 ///< Пин первого ключа для земли отрицательного источника ппитания #define SWITCH_DC_NEGATIVE_VDD_Pin GPIO_PIN_1 ///< Пин первого ключа для напряжения отрицательного источника ппитания diff --git a/diode_tester/Core/Tester_main/tester_func.c b/diode_tester/Core/Tester_main/tester_func.c index ec25a09..4592731 100644 --- a/diode_tester/Core/Tester_main/tester_func.c +++ b/diode_tester/Core/Tester_main/tester_func.c @@ -5,10 +5,11 @@ TESTER_TestHandleTypeDef hTestDiode; /**s * @brief Инициализация хендла тестера диодов */ -void TESTER_HandleInit(TESTER_TestHandleTypeDef *htest) +void TESTER_HandleInit(TESTER_TestHandleTypeDef *htest, TESTER_LEDsTypeDef *leds) { /* Настройка структуры АЦП */ htest->adc = &tester_adc; + htest->leds = leds; TESTER_ADC_StructInit(htest->adc); /* Настройка пинов для подключения отрицательного источника */ @@ -46,6 +47,7 @@ void TESTER_TestDiode_PositivePower(TESTER_TestHandleTypeDef *htest) { /* Задержка, перед началом работы */ TESTER_Delay(&htest->SwTimings.ticks_before_test); + TESTER_LED_TestingDiode_Positive(&htest->leds->LED1); /* Включение континиус АЦП */ HAL_ADC_Start(htest->adc->hadc); @@ -72,6 +74,7 @@ void TESTER_TestDiode_PositivePower(TESTER_TestHandleTypeDef *htest) /* Выключение континиус АЦП */ HAL_ADC_Stop(htest->adc->hadc); + TESTER_LED_TestingDiode_End(&htest->leds->LED1); } /** @@ -81,6 +84,7 @@ void TESTER_TestDiode_NegativePower(TESTER_TestHandleTypeDef *htest) { /* Задержка, перед началом работы */ TESTER_Delay(&htest->SwTimings.ticks_before_test); + TESTER_LED_TestingDiode_Negative(&htest->leds->LED1); /* Включение АЦП */ ADC_DMA_StartRead(htest->adc); @@ -100,6 +104,7 @@ void TESTER_TestDiode_NegativePower(TESTER_TestHandleTypeDef *htest) /* Обработка DMA */ ADC_DMA_ReadForPeak(htest->adc, ADC_READ_TIMEOUT_MS); + TESTER_LED_TestingDiode_End(&htest->leds->LED1); } @@ -110,12 +115,14 @@ void TESTER_TestDiode_PosNegPower(TESTER_TestHandleTypeDef *htest) { /* Задержка, перед началом работы */ TESTER_Delay(&htest->SwTimings.ticks_before_test); + TESTER_LED_TestingDiode_Positive(&htest->leds->LED1); /* Подкючение питания к диоду */ TESTER_Connect_Power(&htest->DCPosSw); /* Подкючение положительного питания к диоду */ msDelay(htest->SwTimings.msticks_for_positive_dc); + TESTER_LED_TestingDiode_Negative(&htest->leds->LED1); /* Включение АЦП */ ADC_DMA_StartRead(htest->adc); @@ -135,6 +142,7 @@ void TESTER_TestDiode_PosNegPower(TESTER_TestHandleTypeDef *htest) /* Обработка DMA */ ADC_DMA_ReadForPeak(htest->adc, ADC_READ_TIMEOUT_MS); + TESTER_LED_TestingDiode_End(&htest->leds->LED1); } /** diff --git a/diode_tester/Core/Tester_main/tester_func.h b/diode_tester/Core/Tester_main/tester_func.h index 6d7e14b..3683bb3 100644 --- a/diode_tester/Core/Tester_main/tester_func.h +++ b/diode_tester/Core/Tester_main/tester_func.h @@ -12,6 +12,7 @@ #define _TESTER_FUNC_H_ #include "tester_adc_func.h" +#include "tester_interface_func.h" /** @@ -60,13 +61,15 @@ typedef struct uint32_t continuous_buff_size; float DiodeVolt; + + TESTER_LEDsTypeDef *leds; }TESTER_TestHandleTypeDef; extern TESTER_TestHandleTypeDef hTestDiode; /* Инициализация хендла тестера диодов */ -void TESTER_HandleInit(TESTER_TestHandleTypeDef *htest); +void TESTER_HandleInit(TESTER_TestHandleTypeDef *htest, TESTER_LEDsTypeDef *leds); /* Тест диодов: подключение прямого напряжения */ void TESTER_TestDiode_PositivePower(TESTER_TestHandleTypeDef *htest); diff --git a/diode_tester/Core/Tester_main/tester_interface_func.c b/diode_tester/Core/Tester_main/tester_interface_func.c new file mode 100644 index 0000000..d111d80 --- /dev/null +++ b/diode_tester/Core/Tester_main/tester_interface_func.c @@ -0,0 +1,95 @@ +#include "tester_interface_func.h" + + +/** + * @brief Инициализация структур интерфейса + */ +void TESTER_InterfaceInit(TESTER_SwitchStartTypeDef *swstart, TESTER_LEDsTypeDef *leds) +{ + swstart->Sw_Port = SWITCH_START_Port; + swstart->Sw_Pin = SWITCH_START_Pin; + swstart->Sw_FilterDelay = SWITCH_ANTI_DREBEZG_DELAY; + + + leds->LED1.LED_Port = LED1_Port; + leds->LED1.LED_Pin = LED1_Pin; + leds->LED1.period = LED_BLINK_AS_ON; +} + + +/** + * @brief Включить индикацию прямого подключения диода + */ +void TESTER_LED_TestingDiode_Positive(TESTER_LEDTypeDef *led) +{ + led->period = LED_POSITIVE_DIODE_PERIOD; +} +/** + * @brief Включить индикацию обратного подключения диода + */ +void TESTER_LED_TestingDiode_Negative(TESTER_LEDTypeDef *led) +{ + led->period = LED_NEGATIVE_DIODE_PERIOD; +} +/** + * @brief Выключить индикацию активного теста диодов + */ +void TESTER_LED_TestingDiode_End(TESTER_LEDTypeDef *led) +{ + led->period = LED_BLINK_AS_ON; +} + + +/** + * @brief Считать состоянии кнопки запуска + */ +uint8_t TESTER_ReadSwichStart(TESTER_SwitchStartTypeDef *swstart) +{ + + if(HAL_GPIO_ReadPin(swstart->Sw_Port, swstart->Sw_Pin) == SW_ON) + { + if(swstart->tickprev == 0) + swstart->tickprev = HAL_GetTick(); + + if((HAL_GetTick() - swstart->tickprev) > swstart->Sw_FilterDelay) + { + if(HAL_GPIO_ReadPin(swstart->Sw_Port, swstart->Sw_Pin) == SW_ON) + { + return 1; + } + else + { + swstart->tickprev = 0; + return 0; + } + } + } + return 0; +} +/** + * @brief Включить светодиод + */ +void TESTER_LED_On(TESTER_LEDTypeDef *led) +{ + HAL_GPIO_WritePin(led->LED_Port, led->LED_Pin, LED_ON); +} +/** + * @brief Выключить светодиод + */ +void TESTER_LED_Off(TESTER_LEDTypeDef *led) +{ + HAL_GPIO_WritePin(led->LED_Port, led->LED_Pin, LED_OFF); +} + +/** + * @brief Моргание светодиодом + */ +void TESTER_LED_Blink(TESTER_LEDTypeDef *led) +{ + uint32_t tickcurrent = HAL_GetTick(); + if((tickcurrent - led->tickprev) > led->period) + { + HAL_GPIO_TogglePin(led->LED_Port, led->LED_Pin); + led->tickprev = tickcurrent; + } +} diff --git a/diode_tester/Core/Tester_main/tester_interface_func.h b/diode_tester/Core/Tester_main/tester_interface_func.h new file mode 100644 index 0000000..76f35ff --- /dev/null +++ b/diode_tester/Core/Tester_main/tester_interface_func.h @@ -0,0 +1,65 @@ +/** +************************************************************************** +* @file tester_func.h +* @brief Заголовочный файл для функций МЗКТ. +************************************************************************** +@details + +*************************************************************************/ + + +#ifndef _TESTER_INTERFACE_FUNC_H_ +#define _TESTER_INTERFACE_FUNC_H_ + +#include "mylibs_include.h" + + +typedef struct +{ + GPIO_TypeDef *LED_Port; + uint32_t LED_Pin; + + uint32_t tickprev; + uint32_t period; +}TESTER_LEDTypeDef; + + +typedef struct +{ + TESTER_LEDTypeDef LED1; +}TESTER_LEDsTypeDef; + + +typedef struct +{ + GPIO_TypeDef *Sw_Port; + uint32_t Sw_Pin; + + uint32_t Sw_PrevState; + uint32_t Sw_FilterDelay; + uint32_t tickprev; +}TESTER_SwitchStartTypeDef; + + +/* Инициализация структур интерфейса */ +void TESTER_InterfaceInit(TESTER_SwitchStartTypeDef *swstart, TESTER_LEDsTypeDef *leds); + + + +/* Включить индикацию прямого подключения диода */ +void TESTER_LED_TestingDiode_Positive(TESTER_LEDTypeDef *led); +/* Включить индикацию обратного подключения диода */ +void TESTER_LED_TestingDiode_Negative(TESTER_LEDTypeDef *led); +/* Выключить индикацию активного теста диодов */ +void TESTER_LED_TestingDiode_End(TESTER_LEDTypeDef *led); + +/* Считать состоянии кнопки запуска */ +uint8_t TESTER_ReadSwichStart(TESTER_SwitchStartTypeDef *swstart); +/* Включить светодиод */ +void TESTER_LED_On(TESTER_LEDTypeDef *led); +/* Выключить светодиод */ +void TESTER_LED_Off(TESTER_LEDTypeDef *led); +/* Моргание светодиодом */ +void TESTER_LED_Blink(TESTER_LEDTypeDef *led); +#endif //_TESTER_INTERFACE_FUNC_H_ + diff --git a/diode_tester/Core/Tester_main/tester_main.c b/diode_tester/Core/Tester_main/tester_main.c index ee35793..045e42b 100644 --- a/diode_tester/Core/Tester_main/tester_main.c +++ b/diode_tester/Core/Tester_main/tester_main.c @@ -1,7 +1,7 @@ #include "tester_main.h" -TESTER_ProjectTypeDef TESTER; +TESTER_ProjectTypeDef TESTER = {0}; /**s @@ -9,12 +9,17 @@ TESTER_ProjectTypeDef TESTER; */ void TESTER_Init(TESTER_ProjectTypeDef *tester) { + TESTER_InterfaceInit(&tester->SwStart, &tester->leds); + tester->leds.LED1.period = 100; + tester->delay = 250; tester->delay_en = 0; tester->func.disable_reset_call = 0; tester->htest = &hTestDiode; - TESTER_HandleInit(tester->htest); + TESTER_HandleInit(tester->htest, &tester->leds); + tester->f.flag_init_done = 1; + } @@ -23,6 +28,7 @@ void TESTER_Init(TESTER_ProjectTypeDef *tester) */ void TESTER_pre_while(TESTER_ProjectTypeDef *tester) { + tester->leds.LED1.period = LED_BLINK_AS_ON; } @@ -38,30 +44,52 @@ void TESTER_main_while(TESTER_ProjectTypeDef *tester) /* ТЕСТ В ОБРАТНОМ ВКЛЮЧЕНИИ */ if(tester->func.test_diode_neg) { + TESTER_TestDiode_NegativePower(tester->htest); + if(tester->func.disable_reset_call == 0) tester->func.test_diode_neg = 0; - - TESTER_TestDiode_NegativePower(tester->htest); } /* ТЕСТ В ПРЯМОМ ВКЛЮЧЕНИИ */ if(tester->func.test_diode_pos) { + TESTER_TestDiode_PositivePower(tester->htest); + if(tester->func.disable_reset_call == 0) tester->func.test_diode_pos = 0; - - TESTER_TestDiode_PositivePower(tester->htest); } /* ТЕСТ ПЕРЕХОДА ИЗ ПРЯМОГО В ОБРАТНОЕ ВКЛЮЧЕНИЯ*/ if(tester->func.test_diode_posneg) { + TESTER_TestDiode_PosNegPower(tester->htest); + if(tester->func.disable_reset_call == 0) tester->func.test_diode_posneg = 0; - - TESTER_TestDiode_PosNegPower(tester->htest); } } + + +/** + * @brief Функция работы интерфейса + */ +void TESTER_InterfaceHandle(TESTER_ProjectTypeDef *tester) +{ + if(tester->f.flag_init_done == 0) + return; + + + + if(TESTER_ReadSwichStart(&tester->SwStart)) + { + tester->func.test_diode_posneg = 1; + } + + TESTER_LED_Blink(&tester->leds.LED1); + +} + + /** * @brief Задеркжка главного цикла */ diff --git a/diode_tester/Core/Tester_main/tester_main.h b/diode_tester/Core/Tester_main/tester_main.h index eb6a5db..789f23f 100644 --- a/diode_tester/Core/Tester_main/tester_main.h +++ b/diode_tester/Core/Tester_main/tester_main.h @@ -26,14 +26,28 @@ typedef struct unsigned disable_reset_call:1; }function_calls; +/** + * @brief Структура для вызова различных функций + */ +typedef struct +{ + unsigned flag_init_done:1; +}TESTER_FlagsTypeDef; + /** * @brief Структура проекта тестер */ typedef struct { - function_calls func; ///< вызов разных функций + function_calls func; ///< вызов разных функций - TESTER_TestHandleTypeDef *htest; ///< дескриптор тестера + TESTER_TestHandleTypeDef *htest; ///< дескриптор тестера + + TESTER_SwitchStartTypeDef SwStart; ///< структура кнопки старта + TESTER_LEDsTypeDef leds; ///< структура светодиодов + + + TESTER_FlagsTypeDef f; uint32_t delay; ///< задержка главного цикла uint32_t delay_en:1; ///< включить задержку в главном цикле @@ -42,12 +56,14 @@ extern TESTER_ProjectTypeDef TESTER; -/* Протестировать диод */ +/* Инициализация всех модулей для работы тестера */ void TESTER_Init(TESTER_ProjectTypeDef *tester); -/* Подключить питание с помощью ключей (пинов) в TESTER_PowerSwitchTypeDef */ +/* Функция подготовки тестера к while(1) */ void TESTER_pre_while(TESTER_ProjectTypeDef *tester); -/* Отключить питание с помощью ключей (пинов) в TESTER_PowerSwitchTypeDef */ +/* Главная функция работы тестера */ void TESTER_main_while(TESTER_ProjectTypeDef *tester); +/* Функция работы интерфейса */ +void TESTER_InterfaceHandle(TESTER_ProjectTypeDef *tester); /*Задеркжка главного цикла */ void TESTER_main_delay(TESTER_ProjectTypeDef *tester); #endif //_TESTER_MAIN_H_ diff --git a/diode_tester/MDK-ARM/diode_tester.uvoptx b/diode_tester/MDK-ARM/diode_tester.uvoptx index 085e7b8..3ee88ac 100644 --- a/diode_tester/MDK-ARM/diode_tester.uvoptx +++ b/diode_tester/MDK-ARM/diode_tester.uvoptx @@ -387,6 +387,30 @@ 0 0 + + 2 + 11 + 1 + 0 + 0 + 0 + ..\Core\Tester_main\tester_interface_func.c + tester_interface_func.c + 0 + 0 + + + 2 + 12 + 5 + 0 + 0 + 0 + ..\Core\Tester_main\tester_interface_func.h + tester_interface_func.h + 0 + 0 + @@ -397,7 +421,7 @@ 0 3 - 11 + 13 1 0 0 @@ -409,7 +433,7 @@ 3 - 12 + 14 5 0 0 @@ -421,7 +445,7 @@ 3 - 13 + 15 1 0 0 @@ -433,7 +457,7 @@ 3 - 14 + 16 5 0 0 @@ -445,7 +469,7 @@ 3 - 15 + 17 5 0 0 @@ -457,7 +481,7 @@ 3 - 16 + 18 1 0 0 @@ -469,7 +493,7 @@ 3 - 17 + 19 5 0 0 @@ -489,7 +513,7 @@ 0 4 - 18 + 20 5 0 0 @@ -501,7 +525,7 @@ 4 - 19 + 21 5 0 0 @@ -513,7 +537,7 @@ 4 - 20 + 22 5 0 0 @@ -525,7 +549,7 @@ 4 - 21 + 23 5 0 0 @@ -545,7 +569,7 @@ 0 5 - 22 + 24 2 0 0 @@ -565,7 +589,7 @@ 0 6 - 23 + 25 1 0 0 @@ -577,7 +601,7 @@ 6 - 24 + 26 1 0 0 @@ -589,7 +613,7 @@ 6 - 25 + 27 1 0 0 @@ -601,7 +625,7 @@ 6 - 26 + 28 1 0 0 @@ -613,7 +637,7 @@ 6 - 27 + 29 1 0 0 @@ -625,7 +649,7 @@ 6 - 28 + 30 1 0 0 @@ -637,7 +661,7 @@ 6 - 29 + 31 1 0 0 @@ -649,7 +673,7 @@ 6 - 30 + 32 1 0 0 @@ -669,7 +693,7 @@ 0 7 - 31 + 33 1 0 0 @@ -681,7 +705,7 @@ 7 - 32 + 34 1 0 0 @@ -693,7 +717,7 @@ 7 - 33 + 35 1 0 0 @@ -705,7 +729,7 @@ 7 - 34 + 36 1 0 0 @@ -717,7 +741,7 @@ 7 - 35 + 37 1 0 0 @@ -729,7 +753,7 @@ 7 - 36 + 38 1 0 0 @@ -741,7 +765,7 @@ 7 - 37 + 39 1 0 0 @@ -753,7 +777,7 @@ 7 - 38 + 40 1 0 0 @@ -765,7 +789,7 @@ 7 - 39 + 41 1 0 0 @@ -777,7 +801,7 @@ 7 - 40 + 42 1 0 0 @@ -789,7 +813,7 @@ 7 - 41 + 43 1 0 0 @@ -801,7 +825,7 @@ 7 - 42 + 44 1 0 0 @@ -813,7 +837,7 @@ 7 - 43 + 45 1 0 0 @@ -825,7 +849,7 @@ 7 - 44 + 46 1 0 0 @@ -837,7 +861,7 @@ 7 - 45 + 47 1 0 0 @@ -849,7 +873,7 @@ 7 - 46 + 48 1 0 0 @@ -869,7 +893,7 @@ 0 8 - 47 + 49 1 0 0 diff --git a/diode_tester/MDK-ARM/diode_tester.uvprojx b/diode_tester/MDK-ARM/diode_tester.uvprojx index 189d5f3..0d49905 100644 --- a/diode_tester/MDK-ARM/diode_tester.uvprojx +++ b/diode_tester/MDK-ARM/diode_tester.uvprojx @@ -440,6 +440,16 @@ 5 ..\Core\Tester_main\tester_adc_func.h + + tester_interface_func.c + 1 + ..\Core\Tester_main\tester_interface_func.c + + + tester_interface_func.h + 5 + ..\Core\Tester_main\tester_interface_func.h + diff --git a/diode_tester/diode_tester.ioc b/diode_tester/diode_tester.ioc index cb8431c..4edb684 100644 --- a/diode_tester/diode_tester.ioc +++ b/diode_tester/diode_tester.ioc @@ -22,7 +22,7 @@ Dma.ADC1.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlign Dma.Request0=ADC1 Dma.RequestsNb=1 File.Version=6 -GPIO.groupedBy= +GPIO.groupedBy=Group By Peripherals KeepUserPlacement=false Mcu.CPN=STM32F103C6T6A Mcu.Family=STM32F1 @@ -38,21 +38,22 @@ Mcu.IPNb=8 Mcu.Name=STM32F103C(4-6)Tx Mcu.Package=LQFP48 Mcu.Pin0=PC13-TAMPER-RTC -Mcu.Pin1=PD0-OSC_IN -Mcu.Pin10=PA13 -Mcu.Pin11=PA14 -Mcu.Pin12=VP_SYS_VS_Systick -Mcu.Pin13=VP_TIM2_VS_ClockSourceINT -Mcu.Pin14=VP_TIM3_VS_ClockSourceINT -Mcu.Pin2=PD1-OSC_OUT -Mcu.Pin3=PA0-WKUP -Mcu.Pin4=PB0 -Mcu.Pin5=PB1 -Mcu.Pin6=PB10 -Mcu.Pin7=PB11 -Mcu.Pin8=PA9 -Mcu.Pin9=PA10 -Mcu.PinsNb=15 +Mcu.Pin1=PC14-OSC32_IN +Mcu.Pin10=PA10 +Mcu.Pin11=PA13 +Mcu.Pin12=PA14 +Mcu.Pin13=VP_SYS_VS_Systick +Mcu.Pin14=VP_TIM2_VS_ClockSourceINT +Mcu.Pin15=VP_TIM3_VS_ClockSourceINT +Mcu.Pin2=PD0-OSC_IN +Mcu.Pin3=PD1-OSC_OUT +Mcu.Pin4=PA0-WKUP +Mcu.Pin5=PB0 +Mcu.Pin6=PB1 +Mcu.Pin7=PB10 +Mcu.Pin8=PB11 +Mcu.Pin9=PA9 +Mcu.PinsNb=16 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F103C6Tx @@ -92,6 +93,10 @@ PB11.Locked=true PB11.Signal=GPIO_Output PC13-TAMPER-RTC.Locked=true PC13-TAMPER-RTC.Signal=GPIO_Output +PC14-OSC32_IN.GPIOParameters=GPIO_PuPd +PC14-OSC32_IN.GPIO_PuPd=GPIO_PULLDOWN +PC14-OSC32_IN.Locked=true +PC14-OSC32_IN.Signal=GPIO_Input PD0-OSC_IN.Mode=HSE-External-Oscillator PD0-OSC_IN.Signal=RCC_OSC_IN PD1-OSC_OUT.Mode=HSE-External-Oscillator