SPI硬件实现-GD32 #include "w25qxx_spi.h" void w25qxx_init(void){ // 使能外设时钟 w25qxx_rcu_init(); // IO口进行配置,使之复用为SPI0, PA4\PA5\PA6\PA7,NSS\SCK\MISO\MOSI w25qxx_io_init(); // SPI0初始化 w25qxx_spi_init(); spi_enable(SPI0); } // 使能外设时钟 void w25qxx_rcu_init(void){ rcu_periph_clock_enable(RCU_GPIOA); //使能GPIOA时钟 rcu_periph_clock_enable(RCU_AF); //使能AF时钟 rcu_periph_clock_enable(RCU_SPI0); //使能SPI0时钟 } // IO口进行配置,使之复用为SPI0, PA4\PA5\PA6\PA7,NSS\SCK\MISO\MOSI void w25qxx_io_init(void){ gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_6); // MISO gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5 | GPIO_PIN_7); // SCK\MOSI gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4);// NSS片选口 } // SPI0初始化 void w25qxx_spi_init(void){ spi_param