GD32L233 SPI问题求教

[复制链接]
843|2
 楼主| qyx1129313899 发表于 2022-2-23 21:00 | 显示全部楼层 |阅读模式
请教各位大佬们,我配置好SPI0,定时发送数据,用示波器看MOSI引脚没有看到任何输出,不知道哪里配置不对。配置代码如下:
    spi_parameter_struct spi_struct;

    rcu_periph_clock_enable(RCU_SPI0);
    rcu_periph_clock_enable(RCU_GPIOA);
   
    spi_i2s_deinit(SPI0);
   
    spi_struct_para_init(&spi_struct);
   
    gpio_af_set(GPIOA, GPIO_AF_5, GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7);
   
    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLDOWN, GPIO_PIN_5);
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5);
   
    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_6 | GPIO_PIN_7);
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6 | GPIO_PIN_7);
   
    gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_PIN_4);   
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4);
    gpio_bit_set(GPIOA, GPIO_PIN_4);
   
    spi_struct.device_mode = SPI_MASTER;
    spi_struct.trans_mode  = SPI_TRANSMODE_FULLDUPLEX;
    spi_struct.frame_size  = SPI_FRAMESIZE_8BIT;
    spi_struct.nss         = SPI_NSS_SOFT;
    spi_struct.endian      = SPI_ENDIAN_MSB;
    spi_struct.prescale    = SPI_PSC_16;
    spi_struct.clock_polarity_phase = SPI_CK_PL_LOW_PH_1EDGE;
   
    spi_init(SPI0, &spi_struct);

    //spi_nss_output_enable(SPI0);
    spi_fifo_access_size_config(SPI0, SPI_BYTE_ACCESS);
    //spi_nss_internal_high(SPI0);
    //qspi_io23_output_disable(SPI0);
    spi_nss_internal_high(SPI0);
    spi_crc_polynomial_set(SPI0, 7);
   
    spi_enable(SPI0);
skay5288 发表于 2022-4-6 14:20 | 显示全部楼层
问题解决了吗?
mutable 发表于 2022-4-7 17:38 | 显示全部楼层
你这个代码都不全吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部