WXK
2025-05-23 8415b6bc61925a1a234fe393d8375d3828756931
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);
}