打印

GD32L233 SPI问题求教

[复制链接]
642|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

粉丝