问答

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

hearstnorman323

TA的家园币:2554  

  • AC781x系列jlink烧录导致Keil卡死的问题有办法解决吗?

    我现在在使用AC7811QBEF的MCU,使用Keil下载的有时能够下载成功,有时候又下载失败。以前下载失败之后我就会使用Jflash,但这次情况很严重,Jflash也会出现卡死的,最后抛出来的错误如下图所示,我想问就没有办法彻底解决这种问题吗?我实在是不想能不能下载成功全看运气了

  • GD32E230, VREFINT居然每次复位都会变?

    以前用ADC很少用内部基准,都是尽量加一个431什么的,多用一个ADC通道读431再换算这次偷懒用了VREFINT,结果发现每次复位之后ADC采样结果相差挺大,于是单独把VREFINT的值输出到串口再换算成电压试试.一看吓一跳,标称1.2V,最低只有1.138V左右,最高1.207V左右,每次复位都不一样,复位之后倒是挺稳定的.是我哪里设置得不对吗?还是这东西就这样...

    2023-11-16 81
  • 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
  • keil怎么测量时间

    测试

    2023-09-14 47
  • 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
  • AT32F403A DMA传输数据翻转IO速度异常

    测试一下使用定时器2通道1触发DMA传输数据到GPIO实现IO口的快速翻转,目前程序中只配置了定时器触发DMA,没有其他程序,DMA配置的是循环模式,没有开中断。但是以目前的测试来看,当触发频率超过20M时,DMA的速度停留在了20M(通过观察IO翻转频率观察的),无法进一步提高,这会是什么原因呢,测试IO口翻转频率是可以达到120M的,所以可能是达到了DMA传输的最快频率导致的吗,还是说可能是我哪配置错了

    AT32F403A

    2022-12-12 25
  • MA82G5B32 烧录程序不进去

    ICE烧录器,6线连接,目标板已供电,出现如下问题,求大神帮

    MA82G5B32

    2022-11-17 46
  • 请问哪里可以购买CW32的量产工具CW-Writer,价钱是多少?

    请问哪里可以购买CW32的量产工具CW-Writer,价钱是多少?

    2022-06-06 29
  • 已解决!HK32F0主频设置72M程序跑飞的问题怎么解决?

    本帖最后由qq444023542于2022-4-2420:20编辑问题已解决,解决方法往下看!HK32F030C8T6主频支持72M主频,但是用STM32CUBE生成外部晶振12M主频72M时,调试时发现,刚开始还能运行,越往后就开始出现错乱,然后跑飞了,已经检查电路和晶振没有问题,将主频降到64M正常工作,不知道是哪里问题,有遇到此类问题的你们是怎么解决的?voidSystemClock_Config(void){LL_FLASH_SetLatency(LL_FLASH_LATENCY_1);while(LL_FLASH_GetLatency()!=LL_FLASH_LATENCY_1){}LL_RCC_HSE_Enable();/*WaittillHSEisready*/while(LL_RCC_HSE_IsReady()!=1){}LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSE_DIV_1,LL_RCC_PLL_MUL_6);LL_RCC_PLL_Enable();/*WaittillPLLisready*/while(LL_RCC_PLL_IsReady()!=1){}LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1);LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1);LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL);/*WaittillSystemclockisready*/while(LL_RCC_GetSysClkSource()!=LL_RCC_SYS_CLKSOURCE_STATUS_PLL){}LL_Init1msTick(72000000);LL_SetSystemCoreClock(72000000);}已经解决了,官方答复是FLASH等待周期需要设置一下,延迟加1既然知道问题那就好办了,打开系统时钟配置,右键LL_FLASH_LATENCY_1跳转右键延时周期跳转延迟这里把红框改了,默认是0,我把它给成2就正常了我遇到的问题也分享给大家,避免大家走弯路!