-
GD32F303移植Freertos程序会卡死在vtaskdelay里面
如题,芯片型号是GD32F303RGT6,使用官方的GD32EmbeddedBuilder创建的工程,移植Freertos后调用启动线程调用vtaskdelay函数,程序会在freertos内核源码的timers.c文件中的portTASK_FUNCTION(prvTimerTask,pvParameters)中一直循环,调试时发现调用vtaskdelay后sysTick中断被停止了
2025-03-24 8 -
GD32F470的JTAG引脚PA15 PB3 以及串口问题
想法:GD32F470,想用PA15和PB3,他们复用后可以作为USART0,想用做RS232串口的RXTX现有:然后之前已经有程序了,用的PF6PF7复用的是UART6,也可以成功通讯操作与问题:我把程序里所有关于俩引脚和串口的全都换了,但就是不行,通讯不了,能接受发不回来,时不时乱码我去搜了网上的说法,有的说是这俩引脚是JTAG引脚,确实!但是最新的gd32f470里面在俩引脚default中,把jtag和gpio这俩功能并列了,也没有啥remap函数,也没有啥禁用jtag的函数了,全没了!直接PA15PB3跳线到PF6PF7直接用老程序又好了!所以PA15和PB3就是天生无法使用吗?还是哪里漏了禁用JTAG?
2025-03-20 6 -
GD32F303CC下载了修改后的BIN文件,为什么不执行主FLASH程序?
本帖最后由elynzz于2025-2-616:13编辑板子用的是GD32F303cct6,修改的BIN文件是用j-flash提取了另一台同样的设备的主内存文件因为需要,修改了里面的设备编号和网络接口IP和端口号,但是烧到新设备里,却会执行引导板载程序。在启动程序后,网络接口IP会自动修改成引导程序中的地址,设备编号没有问题请问有没有大神可以帮忙提供解决办法?另,芯片boot0是直接接10k电阻后接GND的
2025-02-06 11 -
新人求助-GD32单片机程序貌似消失了
本帖最后由gogyyy于2025-2-618:19编辑首先声明,个人接触单片机不久。现在情况是这样,使用的GD32F103c8t6,现象是:在现场程序不运行,简单来说就是重启电源也不运行,返回来后,检查电源什么的都正常,就是单片机不运行。我使用的SW下载到单片机的程序,我这个时候把原来的程序重新下载到单片机后,竟然正常了,总共做了十来个,现在有两个这个情况的,不知道怎么回事。
2025-02-06 17 -
求助】gd32f470什么情况下会进入ResetHandler?
有前面板和底板俩板子,底板通电(部分器件不启动),给前面板供电,总开关开后,软开关脚位为高,按前面板软开关,为低后,程序里gpio_bit_set再给power_on脚位打高(主板给底板没启动的硬件通电),结果现在一打高,c语言程序直接跑飞到startup里面的reset_handler了。我直接用470i例程去控这俩脚,一样的,按了软开关,后面power_on继电器是响了,但后续就是跑到reset_handler了,请问啥情况下会进入reset_handler啊?除了芯片通电第一次,cpu的复位脚说是也没接出来按理来说也不会影响它的
2025-01-21 12 -
GD-LINK无法在KEIL上调试的问题
芯片:GD32F303RCT6调试器:GD-LINK调试软件:KEILV5(5.29)问题:开始调试后,程序从SystemInit直接进入HardFault中断,程序无法运行。启动文件:startup_stm32f10x_hd.s。驱动:st的标准库驱动,如stm32f10x_gpio.c。KEIL配置:芯片型号GD32F303RCT6。Debug通讯CMSIS-DAPDebugger。现象:能正常擦除、烧写程序到芯片。但是进入调试后,为进入main函数直接跳转到了HardFault中断。
2025-01-15 16 -
国民技术N32G452的keil例程下载下来后,编译会报错?
使用的keil版本5.41,芯片是N32G453CCL7。首先我推测是路径没包含好,我重新给工程文件包含了文件,但是还是编译报错;然后我修改芯片型号,N32G457QEL7这个是例程默认的芯片型号,改为我现在用的N32G453CCL7依然还是报这个错;有大佬遇到类似情况,例程下载下来不能用的么?
2024-12-31 12 -
GD32 Embedded Builder可以设置中文工程名和中文路径吗?
GD32EmbeddedBuilder可以设置中文工程名和中文路径吗?为什么build时Invalidargument不通过?
2024-12-10 18 -
单周期乘法器和17周期分频器我要怎么去使用它?
GD32E230系列的,里面描述的单周期乘法器和17周期分频器我要怎么去使用它?在哪里有详细的描述?
2024-12-10 13 -
keil下载识别不了芯片
有大哥知道解决方法嘛,在网上找了好久,还是没有相关的解决方法,用了PWLINK2LITEkeil版本最开始5.39也不行,现在是5.18还是不行
2024-12-02 16 -
RST引脚如何复用成普通IO
LKS07RST手册上可以复用成P0.2,配置了复用寄存器,实际控制IO翻转没效果;还需要配置其他寄存器么SYS_IO_CFG|=BIT5;//RSTconfigP0.2
2024-11-30 11 -
vscode+Jlink单步调试出错,cortex-debug不受支持,怎么回事?
launch文件有没有问题呢?是自动生成的我点击了1、2,报出了这个错误,见3
2024-11-22 10 -
GD32H757VMT6 在线调试,下载时提示错误:
我再GD32H757VMT6工程里使用了地址:0x30000000,”__attribute__((section(".ARM.__at_0x30000000")))enet_descriptors_structrxdesc_tab[ENET_RXBUF_NUM];/*!<ENETRxDMA“而且GD32H757VMT6的内部RAM包含0x30000000,请问为什么下载时提示:NoAlgorithmfoundfor:30000000H-3000004FH
2024-11-14 6 -
GD32E230 串口1 PA2 PA3无法使用
GD32E230的datasheet中可以看到PA2和PA3是可以复用到USART1的,然后使用官方的例程,将官方例程默认引进从串口0中的PA9、PA10可以打印。请教一下有没有人知道PA2、PA3怎么当串口1使用?以下是官方例程,我将引脚宏定义改成PA2和PA3,串口0也改为了串口1:usart.h文件#definePrint_GPIO_RCURCU_GPIOA//串口对应GPIO端口的时钟#definePrint_USART_RCURCU_USART1//对应串口号的时钟#definePrint_GPIOGPIOA//串口对应GPIO端口#definePrint_GPIO_AFGPIO_AF_1//串口是GPIO引脚的复用功能1(查询芯片数据手册)#definePrint_TX_PINGPIO_PIN_2//串口对应的GPIO引脚#definePrint_RX_PINGPIO_PIN_3//串口对应的GPIO引脚#definePrint_USARTUSART1//print所使用的串口1usart.c文件//串口打印初始化voidusart_print_init(void){usart_print_gpio_init();usart_print_config();}/*!\briefinitilizethecomGPIO\paramnone\param[out]none\retvalnone*/voidusart_print_gpio_init(void){/*enablePrintGPIOclock*/rcu_periph_clock_enable(Print_GPIO_RCU);/*connectporttoUSARTx_Tx*/gpio_af_set(Print_GPIO,Print_GPIO_AF,Print_TX_PIN);/*connectporttoUSARTx_Rx*/gpio_af_set(Print_GPIO,Print_GPIO_AF,Print_RX_PIN);/*configureUSARTTxasalternatefunctionpush-pull*/gpio_mode_set(Print_GPIO,GPIO_MODE_AF,GPIO_PUPD_PULLUP,Print_TX_PIN);gpio_mode_set(Print_GPIO,GPIO_MODE_AF,GPIO_PUPD_PULLUP,Print_RX_PIN);/*configureUSARTRxasalternatefunctionpush-pull*/gpio_output_options_set(Print_GPIO,GPIO_OTYPE_PP,GPIO_OSPEED_10MHZ,Print_TX_PIN);gpio_output_options_set(Print_GPIO,GPIO_OTYPE_PP,GPIO_OSPEED_10MHZ,Print_RX_PIN);}/*!\briefinitilizetheUSARTconfigurationofthecom\paramnone\param[out]none\retvalnone*/voidusart_print_config(void){/*enableUSARTclock*/rcu_periph_clock_enable(Print_USART_RCU);/*US
2024-11-14 10 -
使用 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