问答

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

ccook11

TA的家园币:2651  

  • GD32F407ZGT6硬件引脚可以完全替代STM32F407ZGT6吗?

    以前项目的板子用的STM32F407ZGT6,现在要求主控芯片必须国产化,想直接替换成GD32F407ZGT6,不改变原先的外围电路,请问大佬们有尝试过的嘛,可以的话那就太省事了,我先给大家鞠个躬吧!!!

  • 关于串口DMA等待传输完成卡死的问题

    型号AT32F407,在USART2DMA发送数据时,接包已经接到了要发送的数据,但是程序还是处于等待传输完成的标识判断中,卡死了。请教一下是什么造成的?

  • GD32F470 SPI DMA接收

    spi2配置没问题,可以正常使用,但是加上dma,发现dma没有开启,有没有大佬告诉我一下,我下面的代码配置哪里有问题,找了好久找不出来,谢谢谢谢!!!uint8_tspi2_tx_buf[6]={0};uint8_tspi2_rx_buf[6]={0};voidDMA0_CH0_Config()//spi——RX{dma_single_data_parameter_structdma_init_spi2_rx;rcu_periph_clock_enable(RCU_DMA0);dma_deinit(DMA0,DMA_CH0);dma_init_spi2_rx.direction=DMA_PERIPH_TO_MEMORY;dma_init_spi2_rx.memory0_addr=(uint32_t)(spi2_rx_buf);//存储器地址dma_init_spi2_rx.memory_inc=DMA_MEMORY_INCREASE_ENABLE;dma_init_spi2_rx.periph_addr=(uint32_t)&SPI_DATA(SPI2);dma_init_spi2_rx.periph_inc=DMA_PERIPH_INCREASE_DISABLE;dma_init_spi2_rx.periph_memory_width=DMA_PERIPH_WIDTH_8BIT;dma_init_spi2_rx.number=sizeof(spi2_rx_buf);dma_init_spi2_rx.priority=DMA_PRIORITY_ULTRA_HIGH;dma_init_spi2_rx.circular_mode=DMA_CIRCULAR_MODE_DISABLE;dma_single_data_mode_init(DMA0,DMA_CH0,&dma_init_spi2_rx);dma_channel_subperipheral_select(DMA0,DMA_CH0,DMA_SUBPERI4);dma_memory_address_config(DMA0,DMA_CH0,DMA_MEMORY_0,(uint32_t)(spi2_rx_buf));//存储器地址dma_transfer_number_config(DMA0,DMA_CH0,sizeof(spi2_rx_buf));dma_channel_enable(DMA0,DMA_CH0);spi_dma_enable(SPI2,SPI_DMA_RECEIVE);}

    2023-11-01 58
  • GD32F470串口波特率实际最大速度

    目前测试了软件发->dma收,最大波特率3.5M(主频240Mhz)求教各位大佬还可以有更快的速度吗

  • AT32F435VMT7基于FAL+QSPI驱动W25Q128。连续读取超过512K字节报错

    用QSPI驱动W25Q128.驱动应该没问题。但是读取的时候,数据超过512K就会失败。512K以内就正常,1M就失败。我把FLASH分区,一个512K分区,一个1M分区,同时跑falbench。结果如下:```msh/>falbench4096yesErasing524288bytesdata,waiting...Erasebenchmarksuccess,totaltime:1.896S.Writing524288bytesdata,waiting...Writebenchmarksuccess,totaltime:2.048S.Reading524288bytesdata,waiting...Readbenchmarksuccess,totaltime:0.144S.msh/>falprobeupdate2Probedaflashpartition|update2|flash_dev:norflash0|offset:1048576|len:1048576|.msh/>falbench4096yesErasing1048576bytesdata,waiting...Erasebenchmarksuccess,totaltime:3.844S.Writing1048576bytesdata,waiting...Writebenchmarksuccess,totaltime:4.096S.Reading1048576bytesdata,waiting...5857283057f1ff.5857283058f2ff.5857283059f3ff.......5857284090faff.5857284091fbff.5857284092fcff.5857284093fdff.5857284094feff.DatacheckERROR!Pleasecheckyouflashbyothercommand.Readbenchmarkhasanerror.Errorcode:-1.Thisoperatehasanerror.Errorcode:-1.msh/>```不知道什么原因。而且分区擦除和写入都成功了,读取失败了!```msh/>sfprobeqspi20FindaWinbondflashchip.Sizeis16777216bytes.sf_cmdflashdeviceisinitializesuccess.ProbeSPIflashsf_cmdbySPIdeviceqspi20success.16MBsf_cmdiscurrentselecteddevice.msh/>sfbenchyesErasingthesf_cmd16777216bytesdata,waiting...Erasebenchmarksuccess,totaltime:41.318S.Writingthesf_cmd16777216bytesdata,waiting...Writebenchmarksuccess,totaltime:65.537S.Readingthesf_cmd16777216bytesdata,waiting...DatacheckERROR!Pleasecheckyouflashbyothercommand.Readsf_cmdfailed,alreadyrdfor788480bytes,read256eachtimeReadbenchmarkhasanerror.Errorcode:3.Thisflashoperatehasanerror.Errorcode:3.```

    SFUD FAL QSPI bench AT32

    2023-05-22 22
  • 用SYSTICK延时实现stm32f103ZET6的呼吸灯效果

    今天学习了pwm的原理后,尝试用SYSTICK模拟pwm的占空比变化来实现LED的呼吸效果,但没有成功.是因为不使用GPIO的pwm模式就无法输出模拟电压吗?代码如下:intmain(void){u32i;LED_Init();delay_init();while(1){for(i=0xFFFFF;i>0;i--){LED_Output_Low();delay_ms(1);LED_Output_High();delay_ms(9);}for(i=0xFFFFF;i>0;i--){LED_Output_Low();delay_ms(9);LED_Output_High();delay_ms(1);}}}在两个时间段内赋予不同的占空比,跟pwm的原理应该是一样的,但不知道为什么不能实现呼吸灯效果

  • at32f413rct7 flash 重复只擦不写,影响寿命吗

    at32f413rct7flash只进行重复的擦除扇区(FLASH_ErasePage)的操作,但不写数据,这样会影响flash的寿命吗。我用at32f413rct7来测试,重复擦除扇区一个扇区。大概重复操作了15万次。还是能正常擦写其他数据,但是发现,擦除一次的时间会从32ms慢慢变得60多ms。之后这个测试的扇区的擦除时间保持在60多ms了。在stm32f103rcflash上,我也用过相同的测试,擦除一次的时间一直保持在20ms左右。不知道这个擦除时间的问题是说明了flash的寿命是有影响的。

    flash rc se

    2021-08-06 17