-
关于HC32F4A0 串口DMA 接收指定数据长度后无法自动重载的问题
开始发错板块了,这里重新发一下根据官方例程,串口1配置完成后收发正常,如法庖制串口2时,串口2正常,串口1接收异常,接收完预设大小的数据后计数为0,无法重置。目前根据自己理解配置DMA如下/*DMAdefinition*/#defineUSART1_RX_DMA_UNIT(CM_DMA1)#defineUSART1_RX_DMA_CH(DMA_CH0)#defineUSART1_RX_DMA_FCG_ENABLE()(FCG_Fcg0PeriphClockCmd(FCG0_PERIPH_DMA1,ENABLE))#defineUSART1_RX_DMA_TRIG_SEL(AOS_DMA1_0)#defineUSART1_RX_DMA_TRIG_EVT_SRC(EVT_SRC_USART1_RI)voidAPP_DMA_Config(void){int32_ti32Ret;stc_dma_init_tstcDmaInit;stc_dma_llp_init_tstcDmaLlpInit;stc_irq_signin_config_tstcIrqSignConfig;staticstc_dma_llp_descriptor_tstcLlpDesc;stc_dma_repeat_init_tstcdmarepeatinit_t;/*DMA&AOSFCGenable*/USART1_RX_DMA_FCG_ENABLE();USART1_TX_DMA_FCG_ENABLE();FCG_Fcg0PeriphClockCmd(FCG0_PERIPH_AOS,ENABLE);/*USART_RX_DMA*/(void)DMA_StructInit(&stcDmaInit);stcDmaInit.u32IntEn=DMA_INT_DISABLE;stcDmaInit.u32BlockSize=1UL;stcDmaInit.u32TransCount=512;stcDmaInit.u32DataWidth=DMA_DATAWIDTH_8BIT;stcDmaInit.u32DestAddr=(uint32_t)DMARecBuf_USART1;stcDmaInit.u32SrcAddr=(uint32_t)(&CM_USART1->RDR);stcDmaInit.u32SrcAddrInc=DMA_SRC_ADDR_FIX;stcDmaInit.u32DestAddrInc=DMA_DEST_ADDR_INC;DMA_Init(USART1_RX_DMA_UNIT,USART1_RX_DMA_CH,&stcDmaInit);///*RepeatConfig*/(void)DMA_RepeatStructInit(&stcdmarepeatinit_t);stcdmarepeatinit_t.u32Mode=DMA_RPT_DEST;stcdmarepeatinit_t.u32DestCount=512;stcdmarepeatinit_t.u32SrcCount=1;DMA_RepeatInit(USART1_RX_DMA_UNIT,USART1_RX_DMA_CH,&stcdmarepeatinit_t);//设置触发源AOS_SetTriggerEventSrc(USART1_RX_DMA_TRIG_SEL,USART1_RX_DMA_TRIG_EVT_SRC);//DMA_Cmd(USART1_RX_DMA_UNIT,ENABLE);(void)DMA_ChCmd(USART1_R
2025-03-16 8 -
GD32F407使用freeRTOS死机
在GD32F407跑了freeRTOS,串口接收使用了DMA+IDLE中断来实现不定长接收,串口的IDLE中断中接收完数据后,通过事件通知线程执行解析,但是中断中调用xEventGroupSetBitsFromISR函数后就会死机
2024-05-31 56 -
请问GD32F20x怎么修改晶振频率
请问GD32F20x怎么修改晶振频率,system_gd32f20x.c中好像是按25MHz的晶振来配置的,怎么修改成别的频率,谢谢。
2024-05-28 8 -
GD32F150G8 晶振相关问题
GD32F150在12MHz时钟下能工作么?如果能工作,需要做什么设置?
2024-05-25 2 -
GD32F407如何关闭JTAG-DP功能,使用IO口
看了很多GD芯片资料都是1系列和3系列有资料,407找不到资料如何关闭PB3PB4的JTAG-DG,请教大家帮助一下
2024-05-22 2 -
关于GD32F103RCT6 GPIO输出最大速度设置不同出现BUG的问题
测试的输出IO口有PA4PA5PA6PA7PC4PC5PB0PB1PB2PB10PB11PB12PB13PB14输出IO口全部设置初始低电平推挽输出下拉模式输出最大速度作为观测变量测试的输入IO口有PA12PA11PA10PA9PA8PC9PC8PC7PC6PB15输入IO口全部设置下拉模式低速模式输出口输出经过一个1k电阻到另一个输入口全部正常通过输入高电平能接收到高电平中速模式PC4PC5输出高电平PA10没获取到高电平高速模式PB2PB10输出高电平PA9PB11PB12输出高电平PA8使用的是STM32CubeMx工具直接生成代码求答没有家园币。。
2024-05-21 20 -
HC18P235L AD参考电压
HC18P235L电源为3.3V,用内置AD参考电压,这个电压选择有什么规则吗?用内置3VAD参考电压可以吗?
2023-05-14 8 -
HC18P23XL 端口置1或清零
HC18P23XL单片机CLEAR_BIT(PORTB,1),这个命令里的端口号1可以用变量吗?
2023-05-08 13 -
STM32F103C8T6用哪款GD的芯片合适?
STM32F103C8T6用哪款GD的芯片合适?
2021-01-20 27