From a52817ac33ed40cbbfdcbfacd1a49fa40e928341 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 17 四月 2025 16:19:13 +0800 Subject: [PATCH] 兼容4g手环跟4g工卡两种硬件升级 --- dualboots_Gai_youhua/src/customboot/pin_config.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 99 insertions(+), 2 deletions(-) diff --git a/dualboots_Gai_youhua/src/customboot/pin_config.c b/dualboots_Gai_youhua/src/customboot/pin_config.c index cd9ccac..154273d 100644 --- a/dualboots_Gai_youhua/src/customboot/pin_config.c +++ b/dualboots_Gai_youhua/src/customboot/pin_config.c @@ -41,13 +41,110 @@ #include "mk_io.h" #include "board.h" +void uart1_change_shouhuan(void) +{ + io_pin_mux_set(IO_PIN_1, IO_FUNC0); + io_pin_mux_set(IO_PIN_14, IO_FUNC0); + + io_pin_mux_set(IO_PIN_10, IO_FUNC0); + io_pin_mux_set(IO_PIN_9, IO_FUNC0);/*先都变成普通io*/ + + io_pin_mux_set(IO_PIN_10, IO_FUNC4); + io_pin_mux_set(IO_PIN_9, IO_FUNC4);/*改为串口*/ +} + +void uart1_change_gongka(void) +{ + io_pin_mux_set(IO_PIN_1, IO_FUNC0); + io_pin_mux_set(IO_PIN_14, IO_FUNC0); + + io_pin_mux_set(IO_PIN_10, IO_FUNC0); + io_pin_mux_set(IO_PIN_9, IO_FUNC0);/*先都变成普通io*/ + + io_pin_mux_set(IO_PIN_1, IO_FUNC4); + io_pin_mux_set(IO_PIN_14, IO_FUNC4);/*改为串口*/ +} +struct UART_CFG_T test_uart_cfg = +{ +.parity = UART_PARITY_NONE, +.stop = UART_STOP_BITS_1, +.data = UART_DATA_BITS_8, +.flow = UART_FLOW_CONTROL_NONE, +.rx_level = UART_RXFIFO_CHAR_1, +.tx_level = UART_TXFIFO_EMPTY, +.baud = BAUD_115200, + +.dma_en = true, +.int_rx = false, +.int_tx = false, +}; +extern uint8_t flagmode;/*0是工卡,1是手环*/ +void uart1_xuanze( uint8_t uartpin )/*0是工卡,1是手环*/ +{ + uart_close(UART_ID1); + if(uartpin) + { + io_pin_mux_set(IO_PIN_1, IO_FUNC0); + io_pin_mux_set(IO_PIN_14, IO_FUNC0); + + io_pin_mux_set(IO_PIN_10, IO_FUNC0); + io_pin_mux_set(IO_PIN_9, IO_FUNC0);/*先都变成普通io*/ + + io_pin_mux_set(IO_PIN_10, IO_FUNC4); + io_pin_mux_set(IO_PIN_9, IO_FUNC4);/*改为串口*/ + flagmode=uartpin; + } + else + { + io_pin_mux_set(IO_PIN_1, IO_FUNC0); + io_pin_mux_set(IO_PIN_14, IO_FUNC0); + + io_pin_mux_set(IO_PIN_10, IO_FUNC0); + io_pin_mux_set(IO_PIN_9, IO_FUNC0);/*先都变成普通io*/ + + io_pin_mux_set(IO_PIN_1, IO_FUNC4); + io_pin_mux_set(IO_PIN_14, IO_FUNC4);/*改为串口*/ + flagmode=uartpin; + } + uart_open(UART_ID1, &test_uart_cfg); +} +uint8_t test11,test2,test3,test4; void board_pins_config(void) { // UART0 TX/RX io_pin_mux_set(IO_PIN_5, IO_FUNC4); io_pin_mux_set(IO_PIN_6, IO_FUNC4); +// // UART1 RX/TX + io_pin_mux_set(IO_PIN_10, IO_FUNC0); + io_pull_set(IO_PIN_10 , IO_PULL_DOWN, IO_PULL_UP_NONE); + gpio_pin_set_dir(IO_PIN_10 , GPIO_DIR_IN, 0); + + io_pin_mux_set(IO_PIN_9, IO_FUNC0); + io_pull_set(IO_PIN_9 , IO_PULL_DOWN, IO_PULL_UP_NONE); + gpio_pin_set_dir(IO_PIN_9 , GPIO_DIR_IN, 0); // UART1 RX/TX - io_pin_mux_set(IO_PIN_10, IO_FUNC4); - io_pin_mux_set(IO_PIN_9, IO_FUNC4); + io_pin_mux_set(IO_PIN_1, IO_FUNC0); + io_pull_set(IO_PIN_1 , IO_PULL_DOWN, IO_PULL_UP_NONE); + gpio_pin_set_dir(IO_PIN_1 , GPIO_DIR_IN, 0); + + io_pin_mux_set(IO_PIN_14, IO_FUNC0); + io_pull_set(IO_PIN_14 , IO_PULL_DOWN, IO_PULL_UP_NONE); + gpio_pin_set_dir(IO_PIN_14 , GPIO_DIR_IN, 0); + + test11=gpio_pin_get_val(IO_PIN_10); + test2=gpio_pin_get_val(IO_PIN_9); + test3=gpio_pin_get_val(IO_PIN_1); + test4=gpio_pin_get_val(IO_PIN_14); + if(gpio_pin_get_val(IO_PIN_10)&&gpio_pin_get_val(IO_PIN_9)) + { + uart1_xuanze(1); + } + if(gpio_pin_get_val(IO_PIN_1)&&gpio_pin_get_val(IO_PIN_14)) + { + uart1_xuanze(0); + } +// while(1); + } + -- Gitblit v1.9.3