#3 Сделаны улучшенные функции управления ключами, добавлены настройки по таймингам в tester_config.h
По переключениям: -Теперь для двух ключей одного питания должен быть один порт - Добавлена функция реконнекта питания TESTER_Reconnect_Power(), чтобы быстрее переключать с положительного на отрицательный. А не через отдельные функции TESTER_Disconnect_Power(), TESTER_Connect_Power() - Сделан дефайн USE_HAL_GPIO_FUNCTIONS для испольщования HAL GPIO функций. Его можно убрать и пины будуте переключаться напрямую через BSRR. - Также сделан дефайн ALL_SW_USE_SAME_PORT, чтобы переключать все 4 пина в BSRR в одну комманду Это поможет в случае функции реконнекта, где HAL функции сначала отключают питание, а потом подключат другое. Из-за этого появляются задержки в 580 мкс (SW Timings with HAL GPIO write.sal), Если убрать USE_HAL_GPIO_FUNCTIONS, то сократиться время переключения между питаниями до 160мкс (SW Timings without HAL GPIO write and different ports.sal) А если еще выставить ALL_SW_USE_SAME_PORT, то через BSRR будет выставлятся все 4 пина, и задержек нет (SW Timings without HAL GPIO write.sal). Ну почти, иногда проскакивают 2 мкс (SW Timings without HAL GPIO write 2.sal)
This commit is contained in:
parent
7f6932631e
commit
13825e068c
@ -48,10 +48,14 @@ void MX_GPIO_Init(void)
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_10|GPIO_PIN_11, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin : PC13 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_13;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
@ -59,6 +63,13 @@ void MX_GPIO_Init(void)
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
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;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
@ -11,8 +11,50 @@
|
||||
#ifndef _TESTER_CONFIG_H_
|
||||
#define _TESTER_CONFIG_H_
|
||||
|
||||
|
||||
#define TESTER_PULES_EXPETCED_WIDTH 4 ///< Предполагаемая длительность пика в отчетах ацп
|
||||
|
||||
/**
|
||||
* @addtogroup TESTER_SW_TIMINGS_CONFIG Configs for switching timings
|
||||
* @ingroup TESTER_CONFIGS
|
||||
* @brief Конфигурации таймингов для ключей питания
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Задержка (миллисекундная) для положительного напряжения ПО УМОЛЧАНИЮ
|
||||
* @details Пока только миллисекунды, т.к. меньше я пока не реализовал, да и как понимаю не требуется
|
||||
*/
|
||||
#define DEF_MS_TIME_FOR_POSITIVE 1000
|
||||
|
||||
/**
|
||||
* @brief Задержка перед началом тестирования ПО УМОЛЧАНИЮ
|
||||
* @details Задержка миллисекундная или тики for() @ref TIME_BEFORE_TEST_MS_DELAY
|
||||
*/
|
||||
#define DEF_TIME_BEFORE_TEST 500
|
||||
#define DEF_TIME_BEFORE_TEST_MS_DELAY 1 ///< включение миллисекундной задержки для @ref TIME_BEFORE_TEST по умолчанию
|
||||
|
||||
/**
|
||||
* @brief Задержка между включением АЦП и предполагаемым скачком напряжения ПО УМОЛЧАНИЮ
|
||||
* @details Задержка нужна, чтобы точно поймать его в буфере АЦП.
|
||||
*
|
||||
* Задержка миллисекундная или тики for() @ref TIME_BEFORE_TEST_MS_DELAY
|
||||
* @note Но если миллисекундная, то скорее всего скачок не попадет в буфер АЦП.
|
||||
* Поэтому желательно только тики for() (@ref TIME_BEFORE_PEAK_MS_DELAY = 0)
|
||||
*/
|
||||
#define DEF_TIME_BEFORE_PEAK 5
|
||||
#define DEF_TIME_BEFORE_PEAK_MS_DELAY 0 ///< включение миллисекундной задержки для @ref TIME_BEFORE_PEAK(0 - задержка for(), 1 - миллисекундная)
|
||||
|
||||
/**
|
||||
* @brief Задержка перед окончанием тестирования (отключение питания) ПО УМОЛЧАНИЮ
|
||||
* @details Задержка миллисекундная или тики for() @ref TIME_BEFORE_DISCONNECT_MS_DELAY
|
||||
*/
|
||||
#define DEF_TIME_BEFORE_DISCONNECT 50
|
||||
#define DEF_TIME_BEFORE_DISCONNECT_MS_DELAY 1 ///< включение миллисекундной задержки для @ref TIME_BEFORE_DISCONNECT (0 - задержка for(), 1 - миллисекундная)
|
||||
|
||||
/** TESTER_SW_TIMINGS_CONFIG
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup TESTER_POWER_SW_CONFIG Configs for switches for power
|
||||
@ -20,23 +62,23 @@
|
||||
* @brief Конфигурации для ключей питания
|
||||
@{
|
||||
*/
|
||||
//#define USE_HAL_GPIO_FUNCTIONS ///< Использовать для переключения пинов HAL функции
|
||||
//#define ALL_SW_USE_SAME_PORT ///< Дефайн указывающий что все пины будут иметь один порт (для ускорения переключения)
|
||||
|
||||
/* Состояния ключей для подключения и откючения питания */
|
||||
#define POWER_CONNECT 1 ///< Питание подключено в данном состоянии пина
|
||||
#define POWER_DISCONNECT 0 ///< Питание отключено в данном состоянии пина
|
||||
|
||||
/* Ключи для подключения положительного питания к диоду */
|
||||
#define SWITCH_DC_POSITIVE_1_Port GPIOC ///< Порт пина первого ключа для положительного питания
|
||||
#define SWITCH_DC_POSITIVE_1_Pin GPIO_PIN_13 ///< Пин первого ключа для положительного питания
|
||||
#define SWITCH_DC_POSITIVE_2_Port GPIOA ///< Порт пина второго ключа для положительного питания
|
||||
#define SWITCH_DC_POSITIVE_2_Pin GPIO_PIN_11 ///< Пин второго ключа для положительного питания
|
||||
#define SWITCH_DC_POSITIVE_Port GPIOB ///< Порт пина первого ключа для земли положительного источника питания
|
||||
#define SWITCH_DC_POSITIVE_GND_Pin GPIO_PIN_10 ///< Пин первого ключа для земли положительного источника питания
|
||||
#define SWITCH_DC_POSITIVE_VDD_Pin GPIO_PIN_11 ///< Пин второго ключа для напряжения положительного источника ппитания
|
||||
|
||||
|
||||
/* Ключи для подключения отрицательного питания к диоду */
|
||||
#define SWITCH_DC_NEGATIVE_1_Port GPIOC ///< Порт пина первого ключа для отрицательного питания
|
||||
#define SWITCH_DC_NEGATIVE_1_Pin GPIO_PIN_13 ///< Пин первого ключа для отрицательного питания
|
||||
#define SWITCH_DC_NEGATIVE_2_Port GPIOA ///< Порт пина второго ключа для отрицательного питания
|
||||
#define SWITCH_DC_NEGATIVE_2_Pin GPIO_PIN_11 ///< Пин первого ключа для отрицательного питания
|
||||
#define SWITCH_DC_NEGATIVE_Port GPIOB ///< Порт пина первого ключа для земли отрицательного источника ппитания
|
||||
#define SWITCH_DC_NEGATIVE_GND_Pin GPIO_PIN_0 ///< Пин первого ключа для земли отрицательного источника ппитания
|
||||
#define SWITCH_DC_NEGATIVE_VDD_Pin GPIO_PIN_1 ///< Пин первого ключа для напряжения отрицательного источника ппитания
|
||||
|
||||
/** TESTER_POWER_SW_CONFIG
|
||||
* @}
|
||||
|
@ -7,20 +7,35 @@ TESTER_TestHandleTypeDef hTestDiode;
|
||||
*/
|
||||
void TESTER_HandleInit(TESTER_TestHandleTypeDef *htest)
|
||||
{
|
||||
/* Настройка структуры АЦП */
|
||||
htest->adc = &tester_adc;
|
||||
|
||||
TESTER_ADC_StructInit(htest->adc);
|
||||
|
||||
htest->DCNegSw.SW1_Port = SWITCH_DC_NEGATIVE_1_Port;
|
||||
htest->DCNegSw.SW2_Port = SWITCH_DC_NEGATIVE_2_Port;
|
||||
htest->DCNegSw.SW1_Pin = SWITCH_DC_NEGATIVE_1_Pin;
|
||||
htest->DCNegSw.SW2_Pin = SWITCH_DC_NEGATIVE_2_Pin;
|
||||
/* Настройка пинов для подключения отрицательного источника */
|
||||
htest->DCNegSw.SW_Port = SWITCH_DC_NEGATIVE_Port;
|
||||
htest->DCNegSw.SwGND_Pin = SWITCH_DC_NEGATIVE_GND_Pin;
|
||||
htest->DCNegSw.SwVDD_Pin = SWITCH_DC_NEGATIVE_VDD_Pin;
|
||||
|
||||
/* Настройка пинов для подключения положительного источника */
|
||||
htest->DCPosSw.SW_Port = SWITCH_DC_POSITIVE_Port;
|
||||
htest->DCPosSw.SwGND_Pin = SWITCH_DC_POSITIVE_GND_Pin;
|
||||
htest->DCPosSw.SwVDD_Pin = SWITCH_DC_POSITIVE_VDD_Pin;
|
||||
|
||||
|
||||
htest->DCPosSw.SW1_Port = SWITCH_DC_POSITIVE_1_Port;
|
||||
htest->DCPosSw.SW2_Port = SWITCH_DC_POSITIVE_2_Port;
|
||||
htest->DCPosSw.SW1_Pin = SWITCH_DC_POSITIVE_1_Pin;
|
||||
htest->DCPosSw.SW2_Pin = SWITCH_DC_POSITIVE_2_Pin;
|
||||
/* Настройка таймингов по умолчанию для тестирования */
|
||||
htest->SwTimings.msticks_for_positive_dc = DEF_MS_TIME_FOR_POSITIVE;
|
||||
|
||||
htest->SwTimings.ticks_before_disconnect.ticks = DEF_TIME_BEFORE_DISCONNECT;
|
||||
htest->SwTimings.ticks_before_disconnect.msdelay = DEF_TIME_BEFORE_DISCONNECT_MS_DELAY;
|
||||
|
||||
htest->SwTimings.ticks_before_go_to_peak.ticks = DEF_TIME_BEFORE_PEAK;
|
||||
htest->SwTimings.ticks_before_go_to_peak.msdelay = DEF_TIME_BEFORE_PEAK_MS_DELAY;
|
||||
|
||||
htest->SwTimings.ticks_before_test.ticks = DEF_TIME_BEFORE_TEST;
|
||||
htest->SwTimings.ticks_before_test.msdelay = DEF_TIME_BEFORE_TEST_MS_DELAY;
|
||||
|
||||
|
||||
htest->continuous_buff_size = 20;
|
||||
}
|
||||
|
||||
|
||||
@ -109,8 +124,7 @@ void TESTER_TestDiode_PosNegPower(TESTER_TestHandleTypeDef *htest)
|
||||
TESTER_Delay(&htest->SwTimings.ticks_before_go_to_peak);
|
||||
|
||||
/* Отключение питания от диода */
|
||||
TESTER_Disconnect_Power(&htest->DCPosSw);
|
||||
TESTER_Connect_Power(&htest->DCNegSw);
|
||||
TESTER_Reconnect_Power(&htest->DCPosSw, &htest->DCNegSw);
|
||||
|
||||
/* Подключение отрицательного питания на определенное время */
|
||||
TESTER_Delay(&htest->SwTimings.ticks_before_disconnect);
|
||||
@ -128,18 +142,62 @@ void TESTER_TestDiode_PosNegPower(TESTER_TestHandleTypeDef *htest)
|
||||
*/
|
||||
void TESTER_Connect_Power(TESTER_PowerSwitchTypeDef *DCSw)
|
||||
{
|
||||
HAL_GPIO_WritePin(DCSw->SW1_Port, DCSw->SW1_Pin, POWER_CONNECT);
|
||||
HAL_GPIO_WritePin(DCSw->SW2_Port, DCSw->SW2_Pin, POWER_CONNECT);
|
||||
#ifdef USE_HAL_GPIO_FUNCTIONS // in tester_config.h
|
||||
HAL_GPIO_WritePin(DCSw->SW_Port, DCSw->SwGND_Pin | DCSw->SwVDD_Pin, POWER_CONNECT);
|
||||
#else // USE_HAL_GPIO_FUNCTIONS
|
||||
#if (POWER_CONNECT == 1)
|
||||
DCSw->SW_Port->BSRR = DCSw->SwGND_Pin | DCSw->SwVDD_Pin;
|
||||
#else //POWER_CONNECT == 1
|
||||
DCSw->SW_Port->BSRR = (DCSw->SwGND_Pin | DCSw->SwVDD_Pin) << 16;
|
||||
#endif //POWER_CONNECT == 1
|
||||
#endif //USE_HAL_GPIO_FUNCTIONS
|
||||
}
|
||||
/**
|
||||
* @brief Отключить питание с помощью ключей (пинов) в TESTER_PowerSwitchTypeDef
|
||||
*/
|
||||
void TESTER_Disconnect_Power(TESTER_PowerSwitchTypeDef *DCSw)
|
||||
{
|
||||
HAL_GPIO_WritePin(DCSw->SW1_Port, DCSw->SW1_Pin, POWER_DISCONNECT);
|
||||
HAL_GPIO_WritePin(DCSw->SW2_Port, DCSw->SW2_Pin, POWER_DISCONNECT);
|
||||
#ifdef USE_HAL_GPIO_FUNCTIONS
|
||||
HAL_GPIO_WritePin(DCSw->SW_Port, DCSw->SwGND_Pin | DCSw->SwVDD_Pin, POWER_DISCONNECT);
|
||||
#else // USE_HAL_GPIO_FUNCTIONS
|
||||
#if (POWER_DISCONNECT == 0)
|
||||
DCSw->SW_Port->BSRR = (DCSw->SwGND_Pin | DCSw->SwVDD_Pin) << 16;
|
||||
#else //POWER_CONNECT == 1
|
||||
DCSw->SW_Port->BSRR = DCSw->SwGND_Pin | DCSw->SwVDD_Pin;
|
||||
#endif //POWER_CONNECT == 1
|
||||
#endif //USE_HAL_GPIO_FUNCTIONS
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Переключить питание с помощью ключей (пинов) в TESTER_PowerSwitchTypeDef
|
||||
*/
|
||||
void TESTER_Reconnect_Power(TESTER_PowerSwitchTypeDef *DCPosSw, TESTER_PowerSwitchTypeDef *DCNegSw)
|
||||
{
|
||||
#ifdef USE_HAL_GPIO_FUNCTIONS
|
||||
HAL_GPIO_WritePin(DCPosSw->SW_Port, DCPosSw->SwGND_Pin | DCPosSw->SwVDD_Pin, POWER_DISCONNECT);
|
||||
HAL_GPIO_WritePin(DCNegSw->SW_Port, DCNegSw->SwGND_Pin | DCNegSw->SwVDD_Pin, POWER_CONNECT);
|
||||
#else // USE_HAL_GPIO_FUNCTIONS
|
||||
#ifdef ALL_SW_USE_SAME_PORT
|
||||
#if (POWER_CONNECT == 1) && (POWER_DISCONNECT == 0)
|
||||
DCPosSw->SW_Port->BSRR = ((DCNegSw->SwGND_Pin | DCNegSw->SwVDD_Pin) | ((DCPosSw->SwGND_Pin | DCPosSw->SwVDD_Pin) << 16));
|
||||
#elif (POWER_CONNECT == 1) && (POWER_DISCONNECT == 0)
|
||||
DCPosSw->SW_Port->BSRR = (((DCNegSw->SwGND_Pin | DCNegSw->SwVDD_Pin) << 16)| (DCPosSw->SwGND_Pin | DCPosSw->SwVDD_Pin));
|
||||
#endif //POWER_CONNECT && POWER_DISCONNECT
|
||||
#else //ALL_SW_USE_SAME_PORT
|
||||
#if (POWER_DISCONNECT == 0)
|
||||
DCPosSw->SW_Port->BSRR = (DCPosSw->SwGND_Pin | DCPosSw->SwVDD_Pin) << 16;
|
||||
#else //POWER_DISCONNECT == 1
|
||||
DCPosSw->SW_Port->BSRR = DCPosSw->SwGND_Pin | DCPosSw->SwVDD_Pin;
|
||||
#endif //POWER_DISCONNECT
|
||||
|
||||
#if (POWER_CONNECT == 1)
|
||||
DCNegSw->SW_Port->BSRR = DCNegSw->SwGND_Pin | DCNegSw->SwVDD_Pin;
|
||||
#else //POWER_CONNECT == 0
|
||||
DCNegSw->SW_Port->BSRR = (DCNegSw->SwGND_Pin | DCNegSw->SwVDD_Pin) << 16;
|
||||
#endif //POWER_CONNECT
|
||||
#endif //ALL_SW_USE_SAME_PORT
|
||||
#endif //USE_HAL_GPIO_FUNCTIONS
|
||||
}
|
||||
/**
|
||||
* @brief Формирование задержки (в тиках или миллисекундная)
|
||||
*/
|
||||
|
@ -19,11 +19,9 @@
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
GPIO_TypeDef *SW1_Port; ///< Порт пина первого ключа для питания
|
||||
uint32_t SW1_Pin; ///< Пин первого ключа для питания
|
||||
|
||||
GPIO_TypeDef *SW2_Port; ///< Порт пина второго ключа для питания
|
||||
uint32_t SW2_Pin; ///< Пин второго ключа для питания
|
||||
GPIO_TypeDef *SW_Port; ///< Порт первого ключа для питания
|
||||
uint32_t SwGND_Pin; ///< Пин первого ключа для питания
|
||||
uint32_t SwVDD_Pin; ///< Пин второго ключа для питания
|
||||
}TESTER_PowerSwitchTypeDef;
|
||||
|
||||
|
||||
@ -43,8 +41,8 @@ typedef struct
|
||||
{
|
||||
uint32_t msticks_for_positive_dc; ///< миллисекундная задержка для положительного напряжения @ref TESTER_TestDiode_PositivePower
|
||||
TESTER_TicksDelayTypeDef ticks_before_test; ///< задержка перед началом тестирования (мс или тики for())
|
||||
TESTER_TicksDelayTypeDef ticks_before_disconnect; ///< задержка перед выключением питания (мс или тики for())
|
||||
TESTER_TicksDelayTypeDef ticks_before_go_to_peak; ///< задержка между включением АЦП и предполагаемым скачком напряжения, чтобы точно поймать его в буфере АЦП (мс или тики for())
|
||||
TESTER_TicksDelayTypeDef ticks_before_disconnect; ///< задержка перед выключением питания (мс или тики for())
|
||||
}TESTER_SwitchTimingsTypeDef;
|
||||
|
||||
/**
|
||||
@ -81,6 +79,8 @@ void TESTER_TestDiode_PosNegPower(TESTER_TestHandleTypeDef *htest);
|
||||
void TESTER_Connect_Power(TESTER_PowerSwitchTypeDef *DCSw);
|
||||
/* Отключить питание с помощью ключей (пинов) в TESTER_PowerSwitchTypeDef */
|
||||
void TESTER_Disconnect_Power(TESTER_PowerSwitchTypeDef *DCSw);
|
||||
/* Переключить питание с помощью ключей (пинов) в TESTER_PowerSwitchTypeDef */
|
||||
void TESTER_Reconnect_Power(TESTER_PowerSwitchTypeDef *DCPosSw, TESTER_PowerSwitchTypeDef *DCNegSw);
|
||||
/* Формирование задержки перед подключением питания (в тиках или миллисекундная) */
|
||||
void TESTER_Delay(TESTER_TicksDelayTypeDef *tickdelay);
|
||||
#endif //_TESTER_FUNC_H_
|
||||
|
@ -10,9 +10,9 @@ TESTER_ProjectTypeDef TESTER;
|
||||
void TESTER_Init(TESTER_ProjectTypeDef *tester)
|
||||
{
|
||||
tester->delay = 250;
|
||||
tester->delay_en = 1;
|
||||
tester->delay_en = 0;
|
||||
|
||||
tester->func.disable_reset_call = 1;
|
||||
tester->func.disable_reset_call = 0;
|
||||
tester->htest = &hTestDiode;
|
||||
TESTER_HandleInit(tester->htest);
|
||||
}
|
||||
|
@ -39,16 +39,20 @@ Mcu.Name=STM32F103C(4-6)Tx
|
||||
Mcu.Package=LQFP48
|
||||
Mcu.Pin0=PC13-TAMPER-RTC
|
||||
Mcu.Pin1=PD0-OSC_IN
|
||||
Mcu.Pin10=VP_TIM3_VS_ClockSourceINT
|
||||
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=PA9
|
||||
Mcu.Pin5=PA10
|
||||
Mcu.Pin6=PA13
|
||||
Mcu.Pin7=PA14
|
||||
Mcu.Pin8=VP_SYS_VS_Systick
|
||||
Mcu.Pin9=VP_TIM2_VS_ClockSourceINT
|
||||
Mcu.PinsNb=11
|
||||
Mcu.Pin4=PB0
|
||||
Mcu.Pin5=PB1
|
||||
Mcu.Pin6=PB10
|
||||
Mcu.Pin7=PB11
|
||||
Mcu.Pin8=PA9
|
||||
Mcu.Pin9=PA10
|
||||
Mcu.PinsNb=15
|
||||
Mcu.ThirdPartyNb=0
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32F103C6Tx
|
||||
@ -78,6 +82,14 @@ PA14.Mode=Serial_Wire
|
||||
PA14.Signal=SYS_JTCK-SWCLK
|
||||
PA9.Mode=Asynchronous
|
||||
PA9.Signal=USART1_TX
|
||||
PB0.Locked=true
|
||||
PB0.Signal=GPIO_Output
|
||||
PB1.Locked=true
|
||||
PB1.Signal=GPIO_Output
|
||||
PB10.Locked=true
|
||||
PB10.Signal=GPIO_Output
|
||||
PB11.Locked=true
|
||||
PB11.Signal=GPIO_Output
|
||||
PC13-TAMPER-RTC.Locked=true
|
||||
PC13-TAMPER-RTC.Signal=GPIO_Output
|
||||
PD0-OSC_IN.Mode=HSE-External-Oscillator
|
||||
|
BIN
docs/SW Timings with HAL GPIO write.sal
Normal file
BIN
docs/SW Timings with HAL GPIO write.sal
Normal file
Binary file not shown.
BIN
docs/SW Timings without HAL GPIO write 2.sal
Normal file
BIN
docs/SW Timings without HAL GPIO write 2.sal
Normal file
Binary file not shown.
BIN
docs/SW Timings without HAL GPIO write and different ports.sal
Normal file
BIN
docs/SW Timings without HAL GPIO write and different ports.sal
Normal file
Binary file not shown.
BIN
docs/SW Timings without HAL GPIO write.sal
Normal file
BIN
docs/SW Timings without HAL GPIO write.sal
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user