问答

汇集网友智慧,解决技术难题

21ic问答首页 - GD32w515 qspi 配置错误 新手求帮助!

gp 错误 GD32W515 spi QSPI GD32

GD32w515 qspi 配置错误 新手求帮助!

lyh2号2024-05-21
使用引脚  PA9,PA10,PA11,PA12,PB3,PB4
我在读取 芯片id 时 读取的是88,  
我查看 芯片手册 应该是引脚复用 为GPIO_AF_3 和GPIO_AF_4 ,但是还是不对,示波器打出来的波形很奇怪,
新手求帮助!
配置代码如下:
        rcu_periph_clock_enable(RCU_GPIOA);
           rcu_periph_clock_enable(RCU_GPIOB);
        rcu_periph_clock_enable(RCU_GPIOC);
       
    gpio_af_set(GPIOA, GPIO_AF_3, GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12);
    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12);
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_166MHZ, GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12);

    gpio_af_set(GPIOB, GPIO_AF_4, GPIO_PIN_3 | GPIO_PIN_4);
    gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_3 | GPIO_PIN_4);
    gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_166MHZ, GPIO_PIN_3 | GPIO_PIN_4);


qspi_init_struct Init;

    // rcu_periph_clock_enable(RCU_GTZC);
    // tzgpc_tzspc_peripheral_attributes_config(TZGPC_PERIPH_QSPI_FLASHREG, TZGPC_TZSPC_PERIPH_SEC);

    qspi_flash_gpio_config();

    // qspi_deinit();
    rcu_periph_clock_enable(RCU_QSPI);

    Init.prescaler              = 1;  /* QSPI clock = AHBCLK/(ClockPrescaler+1) */
    Init.fifo_threshold         = 10;
    Init.sample_shift           = QSPI_SAMPLE_SHIFTING_NONE;  // QSPI_SAMPLE_SHIFTING_NONE;
    Init.flash_size             = 22;  /* 2^(FlashSize+1) ***** number of address bits = FlashSize + 1*/
    Init.cs_high_time           = QSPI_CS_HIGH_TIME_1_CYCLE;
    Init.clock_mode             = QSPI_CLOCK_MODE_0;
    qspi_init(&Init);



回答 +关注 0
6661人浏览 15人回答问题 分享 举报
15 个回答
12下一页

您需要登录后才可以回复 登录 | 注册