-
GD32F450ZIT6 串口使用问题
本帖最后由tylercppt于2025-10-2409:15编辑我用GD32F450ZIT6做了一个项目:用了5个串口外设,分别如下:1、USART0(136/137脚)2、USART1(36/37脚)3、USART2(69/70脚)4、USART5(96/97脚)5、UART4(111/112脚)调试过程中,USART0/USART1/USART2/USART5均可以正常接收发送,没有什么问题;但是UART4发送数据没有问题,但是接收数据有问题,RT中断状态没有检测到,进入不了中断程序,会一直接收数据。这个是啥意思,使用USART和UART,数据接收编程有啥区别?
2025-10-23 19 -
GD32F30X timer8 timer 11初始化问题
有哪位大佬知道,GD32F30X的系统库函数timer_init()里没有对TIMER8/TIMER11的处理,是什么原因?voidtimer_init(uint32_ttimer_periph,timer_parameter_struct*initpara){/*configurethecounterprescalervalue*/TIMER_PSC(timer_periph)=(uint16_t)initpara->prescaler;/*configurethecounterdirectionandalignedmode*/if((TIMER0==timer_periph)||(TIMER1==timer_periph)||(TIMER2==timer_periph)||(TIMER3==timer_periph)||(TIMER4==timer_periph)||(TIMER7==timer_periph)){TIMER_CTL0(timer_periph)&=~(uint32_t)(TIMER_CTL0_DIR|TIMER_CTL0_CAM);TIMER_CTL0(timer_periph)|=(uint32_t)initpara->alignedmode;TIMER_CTL0(timer_periph)|=(uint32_t)initpara->counterdirection;}/*configuretheautoreloadvalue*/TIMER_CAR(timer_periph)=(uint32_t)initpara->period;if((TIMER5!=timer_periph)&&(TIMER6!=timer_periph)){/*resettheCKDIVbit*/TIMER_CTL0(timer_periph)&=~(uint32_t)TIMER_CTL0_CKDIV;TIMER_CTL0(timer_periph)|=(uint32_t)initpara->clockdivision;}if((TIMER0==timer_periph)||(TIMER7==timer_periph)){/*configuretherepetitioncountervalue*/TIMER_CREP(timer_periph)=(uint32_t)initpara->repetitioncounter;}/*generateanupdateevent*/TIMER_SWEVG(timer_periph)|=(uint32_t)TIMER_SWEVG_UPG;}
2025-07-30 9 -
GD32F470程序不进入SysTick_Handler中断服务函数?
GD32F470ZIT6,程序不进入SysTick_Handler中断服务函数,请问为什么?
2025-07-09 14 -
GD32E230用捕获及485通讯,开启捕获就通讯卡死且初始化失败
GD32E230C8T6用TIMER2_CH3进行频率捕获,同时用USART0进行485通讯,一开启捕获就通讯不了,且一点仿真DEBUG按钮就直接全速运行,然后就卡死在LDRR0,=SystemInit位置,无法初始化。具体代码如下:intmain(void){systick_config();//滴答定时器初始化Led_Gpio_Init();//数码管引脚初始化Key_Init();//按键引脚初始化Relay_GPIO_Init();//继电器引脚初始化Capture_Gpio_config();//捕获引脚初始化usart_config(9600);//串口配置Para_Read();//读取参数LedPower=1;//电源灯亮Adc_gpio_config();//ADC采样引脚初始化Adc_Config();//ADC参数配置初始化Nvic_config();//捕获中断Timer2_config();//Timer2配置Timer5_Init(3600,40);//定时10ms=3600/72M*200Timer14_Init(36,625);//定时312.5uswhile(1){Adc_Cal();//ADC采样计算fre_capture_cal();KeyMake();//按键动作Protect();Display();//显示UartDriver();}}voidCapture_Gpio_config(void){/*使能GPIOB时钟*/rcu_periph_clock_enable(RCU_GPIOB);/*配置PB1(TIMER2_CH3)为复用功能*/gpio_mode_set(GPIOB,GPIO_MODE_AF,GPIO_PUPD_NONE,GPIO_PIN_1);gpio_output_options_set(GPIOB,GPIO_OTYPE_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_1);gpio_af_set(GPIOB,GPIO_AF_1,GPIO_PIN_1);//根据数据手册选择正确的AF}/***********************************************************************************************************函数名:nvic_config*功能说明:配置中断优先级*形参:无*返回值:无**********************************************************************************************************/voidNvic_config(void){nvic_irq_enable(TIMER2_IRQn,0);}/***********************************************************************************************************函数名:timer2_config*功能说明:定时器配置--捕获*形参:无*返回值:无**********************************
2025-07-05 9 -
GD32F407 DBG功能不灵敏问题
使用Keil5进行GD32F407调试时,是能TRACE_IOEN位后,依旧无法在keil5logicanalyzer中正常显示数据波形。
2025-04-18 12 -
GD32F407无法在Keil5的logic analyzer中显示数据波形
使用keil5logicanalyzer进行GD32调试时,在analyzer中没有数据波形显示?仿真器版本为JLINKV9,求解????
2025-04-16 16 -
安装HC32L19X_IDE_Rev1.2.0 PACK后,报错是什么原因?
安装HC32L19X_IDE_Rev1.2.0后,在烧录程序时,报下面的错误,hc32l19x_ide_Rev1.0.0就没有问题。
2025-04-01 26 -
使用单总线控制的电机驱动,它可能用ST的单片机吗?
一个可以驱动电机,使用单总线控制的,它可能是arm单片机吗?一端是单总线通讯,另一端直接接电机了,电路板上有个三极管还有一个芯片,芯片还没有晶振等MCU标识的东西,但感觉像一个MCU,这种可能是MCU吗?或者说,STM32是否可以实现呢?SOP8封装的
2025-03-20 14 -
关于HC32F4A0 串口DMA 接收指定数据长度后无法自动重载的问题(已解决)
本帖最后由eyesmall于2025-7-1513:16编辑开始发错板块了,这里重新发一下根据官方例程,串口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);stcIrqSignConfig.enIntSrc=DF_USART1_RX_DMA_TC_INT_SRC;stcIrqSignConfig.enIRQn=DF_USART1_RX_DMA_TC_IRQn;stcIrq
2025-03-16 18 -
GD32f305使用官网USB Host例程出现问题
GD32f305使用官网USBHost例程,插入U盘后,一直进入中断,并且中断标志由断开连接中断
2025-01-23 20 -
keil下载识别不了芯片
有大哥知道解决方法嘛,在网上找了好久,还是没有相关的解决方法,用了PWLINK2LITEkeil版本最开始5.39也不行,现在是5.18还是不行
2024-12-02 16 -
使用 DMA写flash后,读取数据出现错位现象
使用DMA写flash后,读取数据出现错位现象,读到的buffer的第一节总为0,从第二字节开始才是正常数据。只能在24bit地址发送完后,再发一个DUMMY_BYTE(无效字节),才能bufferr接收数据。一但调“dma_channel_enable(DMA1,DMA_CH3)这个使能”后就出现上述现象。每次读取数据时都要先发一个DUMMY_BYTE才能正确接收。若上电不调“dma_channel_enable(DMA1,DMA_CH3)“接收都是正常的。使用的MCU是GD32F470VIT6,SPIFLAH是GD25Q40C.请各位大佬帮忙分析下。以下为SPI代码DMA配置voiddma_init(uint8_t*data_buffer,uint32_tdata_length){dma_single_data_parameter_structdma_init_struct;rcu_periph_clock_enable(RCU_DMA1);//DMA发送dma_deinit(DMA1,DMA_CH3);//DMA初始化参数设置dma_init_struct.direction=DMA_MEMORY_TO_PERIPH;dma_init_struct.memory0_addr=(uint32_t)data_buffer;dma_init_struct.memory_inc=DMA_MEMORY_INCREASE_ENABLE;dma_init_struct.periph_addr=(uint32_t)&SPI_DATA(SPI0);dma_init_struct.periph_inc=DMA_PERIPH_INCREASE_DISABLE;dma_init_struct.periph_memory_width=DMA_MEMORY_WIDTH_8BIT;dma_init_struct.number=data_length;dma_init_struct.circular_mode=DMA_CIRCULAR_MODE_DISABLE;dma_init_struct.priority=DMA_PRIORITY_MEDIUM;dma_single_data_mode_init(DMA1,DMA_CH3,&dma_init_struct);dma_channel_subperipheral_select(DMA1,DMA_CH3,DMA_SUBPERI3);//使能DMA中断通道nvic_irq_enable(DMA1_Channel3_IRQn,0,0);//配置DMA中断使能位//dma_circulation_disable(DMA1,DMA_CH3);dma_interrupt_enable(DMA1,DMA_CH3,DMA_CHXCTL_FTFIE);}DMA发送int8_tspi_dma_data_send(uint8_t*pbuffer,uint32_twrite_addr,uint16_tnum_byte_to_write){/*enablethewriteaccesstotheflash*/spi_flash_write_enable();/*selecttheflash:chipselectlow*/SPI_FLASH_CS_LOW();/*send"writetomemory"instructi
2024-11-07 18 -
gd32f303cct6有源晶振无法稳定问题
gd32f303cct6使用16M有源晶振输入到OSCIN引脚后在启动时候HXTALSTB始终无法值1,然后卡死在system_gd32f30x.c文件中iffail的这个死循环里,是这款单片机不支持有源晶振吗,使用示波器测量过芯片OSCIN引脚有峰峰值为1V的16MHZ波形,并且稳定,圆角的方波
2024-10-30 15 -
请教 使用LL库进行SPI通讯提示数据溢出 接收到的数据也不对
问题描述:STM32F405单片机,使用CubeMX5.2.0版本,与adc121s101芯片通讯,使用LL库编写SPI单接收程序;总是提示SPI溢出,并且收到的数据也不对;目前排除了硬件问题,用HAL库可以实现。目前调试了2周,尝试了各种办法,修改SPI参数,修改速度,查询、中断、DAM方式都试了,还是不行。程序截图:
2024-10-24 13 -
CW32L083 IAP跳转后中断无响应
最近做一个项目,需要IAP。按照官方的教程一切顺利,软件APP跳转一切正常,但是跳转后中断没有响应。搜索了一堆资料,APP在mian中找开了中断,在不同地方设置VROT,都没能解决,查了数据手册,也只说支持向量偏移,没有其它介绍。请问哪位大神做过IAP中断处理的,指点一下,是不是还需要设置哪里。我用仿真器测试,只要是带中断的,跳转后,中断全部无响应。
2024-06-08 10

问答