zsy3830 发表于 2022-6-13 14:46

GD32F303 SPI2发送数据异常

本帖最后由 zsy3830 于 2022-6-13 16:17 编辑

            spi_i2s_deinit(RCU_SPI2);
            
            rcu_periph_clock_enable(RCU_GPIOC);
            rcu_periph_clock_enable(RCU_SPI2);
            rcu_periph_clock_enable(RCU_AF);

            gpio_pin_remap_config(GPIO_SPI2_REMAP, ENABLE);
   
            /* SPI2 GPIO config:SCK/PC10, MISO/PC11, MOSI/PC12 */
            gpio_init(GPIOC, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
            gpio_init(GPIOC, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_11);
            gpio_init(GPIOC, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_12);
//            /* PB12 as NSS */
//            gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_12);
                  
            /* SPI2 parameter config */
            spi_init_struct.trans_mode         = SPI_TRANSMODE_FULLDUPLEX;
            spi_init_struct.device_mode          = SPI_MASTER;
            spi_init_struct.frame_size         = SPI_FRAMESIZE_8BIT;
            spi_init_struct.clock_polarity_phase = SPI_CK_PL_LOW_PH_1EDGE;
            spi_init_struct.nss                  = SPI_NSS_SOFT;
            spi_init_struct.prescale             = SPI_PSC_256;
            spi_init_struct.endian               = SPI_ENDIAN_MSB;
            spi_init(SPI2, &spi_init_struct);
            
            /* SPI enable */
            spi_enable(SPI2);   

上面是GD32F303RCT6的SPI2初始化,可是一直没有数据出来,对比了官网的demo,也没有发现这一路SPI有特殊的地方,配置的主频是120Mhz,开发环境是IAR

zhanxiao 发表于 2022-7-13 09:08

你的问题解决了吗?我是SPI0 PA5,PA6,PA7,也没有数据,。哈哈哈哈

lzbf 发表于 2022-12-14 17:32

这个配置的端口性能怎么样            

gygp 发表于 2022-12-14 17:41

这个spi需要分频才能处理的。            

burgessmaggie 发表于 2022-12-15 21:33

是不是spi的频率太快了?            

MessageRing 发表于 2022-12-20 17:03

有可能是spi太快了
页: [1]
查看完整版本: GD32F303 SPI2发送数据异常