From df6197826d80f75645daecac2a8b0386cda2d583 Mon Sep 17 00:00:00 2001 From: XIVN1987 Date: Mon, 3 Jul 2023 23:38:50 +0800 Subject: [PATCH] correct pin pull config --- AT32F425/src/DAP_config.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/AT32F425/src/DAP_config.h b/AT32F425/src/DAP_config.h index 55dfdaa..f750c67 100644 --- a/AT32F425/src/DAP_config.h +++ b/AT32F425/src/DAP_config.h @@ -120,6 +120,7 @@ static void PORT_JTAG_SETUP(void) gpio_init_struct.gpio_pins = JTAG_TDO_PIN; gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; + gpio_init_struct.gpio_pull = GPIO_PULL_UP; gpio_init(JTAG_TDO_PORT, &gpio_init_struct); } @@ -139,6 +140,7 @@ static void PORT_SWD_SETUP(void) gpio_init(SWCLK_PORT, &gpio_init_struct); gpio_init_struct.gpio_pins = SWDIO_PIN; + gpio_init_struct.gpio_pull = GPIO_PULL_UP; gpio_init(SWDIO_PORT, &gpio_init_struct); } @@ -155,23 +157,18 @@ static void PORT_OFF(void) gpio_init_struct.gpio_pins = SWCLK_PIN; gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_DOWN; gpio_init(SWCLK_PORT, &gpio_init_struct); gpio_init_struct.gpio_pins = SWDIO_PIN; - gpio_init_struct.gpio_pull = GPIO_PULL_UP; gpio_init(SWDIO_PORT, &gpio_init_struct); gpio_init_struct.gpio_pins = JTAG_TCK_PIN; - gpio_init_struct.gpio_pull = GPIO_PULL_DOWN; gpio_init(JTAG_TCK_PORT, &gpio_init_struct); gpio_init_struct.gpio_pins = JTAG_TMS_PIN; - gpio_init_struct.gpio_pull = GPIO_PULL_UP; gpio_init(JTAG_TMS_PORT, &gpio_init_struct); gpio_init_struct.gpio_pins = JTAG_TDI_PIN; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; gpio_init(JTAG_TDI_PORT, &gpio_init_struct); gpio_init_struct.gpio_pins = JTAG_TDO_PIN; @@ -232,6 +229,8 @@ static __inline void PIN_SWDIO_OUT(uint32_t bit) static __inline void PIN_SWDIO_OUT_ENABLE(void) { + SWDIO_PORT->clr = SWDIO_PIN; + SWDIO_PORT->cfgr |= (GPIO_MODE_OUTPUT << (SWDIO_PIN_INDEX * 2)); } @@ -323,10 +322,13 @@ static void DAP_SETUP(void) gpio_init_type gpio_init_struct; gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_pins = LED_CONNECTED_PIN | LED_RUNNING_PIN; + gpio_init_struct.gpio_pins = LED_CONNECTED_PIN; gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; gpio_init(LED_CONNECTED_PORT, &gpio_init_struct); + gpio_init_struct.gpio_pins = LED_RUNNING_PIN; + gpio_init(LED_RUNNING_PORT, &gpio_init_struct); + gpio_bits_set(nRESET_PORT, nRESET_PIN); gpio_init_struct.gpio_pins = nRESET_PIN;