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