lyh2号 发表于 2024-5-21 15:49

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

使用引脚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);



lyh2号 发表于 2024-5-23 08:55

可有偿

probedog 发表于 2024-5-23 11:35

检查引脚配置

laocuo1142 发表于 2024-5-23 13:00

检查QSPI配置是否正确

flycamelaaa 发表于 2024-5-23 15:00

检查固件有没有错误或遗漏

powerantone 发表于 2024-5-23 16:23

参考示例代码

t1ngus4 发表于 2024-6-5 13:27

你可以使用官方的例程代码,进行配置试试

d1ng2x 发表于 2024-6-5 14:32

话说,GD的QSPI是不是和SPI差不多啊?

q1ngt12 发表于 2024-6-5 15:42

你试试ST的呢?听说GD和ST的代码好像也比较兼容

su1yirg 发表于 2024-6-5 16:48

您已经使用了gpio_af_set函数将引脚设置为QSPI的复用功能,但是需要确保这些引脚的复用功能确实是QSPI所需的复用功能。您提到芯片手册中指定了GPIO_AF_3 和GPIO_AF_4,需要确保这些复用功能是正确的

tax2r6c 发表于 2024-6-5 20:14

在初始化QSPI时,需要设置正确的时钟模式、时钟极性、时钟相位等参数,以确保与外部设备的通信时序匹配

kaif2n9j 发表于 2024-6-5 21:17

确保外部QSPI设备的连接正确,包括时钟、数据线、片选线等连接

lamanius 发表于 2024-6-6 08:33

根据您提到的示波器波形很奇怪,建议您仔细分析示波器的波形,查看时钟、数据线等信号的波形,以确定是否存在时序或连接问题

y1n9an 发表于 2024-6-6 09:05

建议您参考芯片手册和QSPI外设的相关文档,仔细检查引脚复用设置、时序参数设置和外部设备连接,以确保QSPI外设的配置和工作是正确的

l1uyn9b 发表于 2024-6-6 11:09

您可以尝试在STM32社区或者相关技术论坛上寻求帮助,以获取更专业的支持和建议

zhizia4f 发表于 2024-6-6 12:20

官方的例程试试吧,也许会有出奇的效果

FranklinUNK 发表于 2024-6-20 19:32

是不是引脚模式配置有问题啊
页: [1]
查看完整版本: GD32w515 qspi 配置错误 新手求帮助!