问答

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

骑着蜗牛狂奔O

TA的家园币:731  

  • Work_BenchMark创建工程遇到的问题

    本帖最后由zhjb1于2025-4-2016:08编辑采用Work_BenchMark1.1.0.8————最新版遇到的问题仅仅以ADC为例,本工程需要4路ADC加上测温一共5路,简化操作仅用ADC1.也从工程SysClock开始:采用外部晶振8MHz,sysClock=240MHz见图。ADC的设置见下图:设置了6个,实际只用5个,因为想用DAC1,2,所以ADC4实际指向IN6:IN1,IN2,IN3,IN6,这4个GPIO口作为ADC的4路输入。DMA设置如下图:为了防止出错,本设置除了XMC之外仅仅设置了ADC1的DMA,默认为DMA1_CHANNEL5通道。主要代码如下(为了省事与ADC无关的都顺序集中到一行)://mainfunction.intmain(void){//systemclockconfig.wk_system_clock_config();wk_periph_clock_config();wk_debug_config();wk_nvic_config();wk_timebase_init();//initdma1channel5wk_dma1_channel5_init();//configdmachanneltransferparameter//userneedtomodifydefinevaluesDMAx_CHANNELy_XXX_BASE_ADDRandDMAx_CHANNELy_BUFFER_SIZEinat32xxx_wk_config.h//wk_dma_channel_config(DMA1_CHANNEL5,(uint32_t)&ADC1->odt,DMA1_CHANNEL5_MEMORY_BASE_ADDR,DMA1_CHANNEL5_BUFFER_SIZE);wk_dma_channel_config(DMA1_CHANNEL5,(uint32_t)&ADC1->odt,(uint32_t)adcx,6);dma_channel_enable(DMA1_CHANNEL5,TRUE);//initdma1channel7wk_dma1_channel7_init();//configdmachanneltransferparameter//userneedtomodifydefinevaluesDMAx_CHANNELy_XXX_BASE_ADDRandDMAx_CHANNELy_BUFFER_SIZEinat32xxx_wk_config.hwk_dma_channel_config(DMA1_CHANNEL7,DMA1_CHANNEL7_PERIPHERAL_BASE_ADDR,DMA1_CHANNEL7_MEMORY_BASE_ADDR,DMA1_CHANNEL7_BUFFER_SIZE);dma_channel_enable(DMA1_CHANNEL7,TRUE);//initwk_xmc_gpiofunction.wk_xmc_gpio_init();wk_xmc_bank1_nor_sram1_init();wk_usart1_init();wk_spi2_init();wk_i2c1_init();wk_adc1_init();wk_rtc_init();wk_exint_config();wk_tmr1_init();wk_tmr2_init();

    or Benchmark 遇到 AD AN dc

    2025-04-20 4
  • AT32f423电池供电数据寄存器ERTC_BPRx半字操作不成功

    本帖最后由gaolf_2000于2023-11-211:29编辑参照库里面的voidertc_bpr_data_write(ertc_dt_typedt,uint32_tdata){__IOuint32_treg=0;reg=ERTC_BASE+0x50+(dt*4);*(__IOuint32_t*)reg=data;}uint32_tertc_bpr_data_read(ertc_dt_typedt){__IOuint32_treg=0;reg=ERTC_BASE+0x50+(dt*4);return(*(__IOuint32_t*)reg);}写的:voidertc_bpr_16bitdata_write(uint16_tdt,uint16_tdata){__IOuint16_treg=0;reg=ERTC_BASE+0x50+(dt*2);*(__IOuint16_t*)reg=data;}uint16_tertc_bpr_16bitdata_read(uint16_tdt){__IOuint16_treg=0;reg=ERTC_BASE+0x50+(dt*2);return(*(__IOuint16_t*)reg);}时钟使能了,访问也使能了,但还是写不进去,读出来都是0xffff,不明白原因crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK,TRUE);pwc_battery_powered_domain_access(TRUE);

    2023-11-02 16
  • AT32F421系列芯片原理图库有吗

    AT32F421系列芯片原理图库有吗