问答

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

probedog

TA的家园币:7036  

  • ST开发的时候,初始化是有顺序的吗?

    在ST开发的时候,初始化是有顺序的吗?我最近发现ADC和定时器,如果定时器先初始化没问题,ADC先初始化,定时器后初始化,就程序失效,这是为什么?

    ST 开发 顺序 定时 定时器 AD

    2025-03-29 14
  • N32G430能不能适应ST-Link进行debug呀?

    公司有项目从STM32转N32,准备使用GCC工具链,之前用keil是可以用ST-Link调试的,现在用N32了,怎么获取ST-Link的下载算法呢,我看keil下载算法后缀是FLM,ST-LinkProgrammer下载算法是stldr。N32官方只提供了keil的下载算法,怎么转成ST-Link可用的GCC环境下的下载算法呢?

  • 求助】gd32f470什么情况下会进入ResetHandler?

    有前面板和底板俩板子,底板通电(部分器件不启动),给前面板供电,总开关开后,软开关脚位为高,按前面板软开关,为低后,程序里gpio_bit_set再给power_on脚位打高(主板给底板没启动的硬件通电),结果现在一打高,c语言程序直接跑飞到startup里面的reset_handler了。我直接用470i例程去控这俩脚,一样的,按了软开关,后面power_on继电器是响了,但后续就是跑到reset_handler了,请问啥情况下会进入reset_handler啊?除了芯片通电第一次,cpu的复位脚说是也没接出来按理来说也不会影响它的

  • 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中断。

  • GD32E230K8的OSCIN 怎么配置为IIC

    请问怎么把管教OSCINOSCOUT配置为I2C0_SDAI2C0_SCL?谢谢!

    os iic GD32E230 AI I2c SC

    2025-01-09 2
  • GD32F105RCT6 flash容量问题

    本帖最后由fenghengx于2025-1-309:35编辑程序超过128K,下载出现这个错误,时哪里设置不对?Contentsmismatchat:08020000H(Flash=FFHRequired=93H)!

    flash gd32f105 rc Content 8K 错误

    2025-01-03 9
  • 国民技术N32G452的keil例程下载下来后,编译会报错?

    使用的keil版本5.41,芯片是N32G453CCL7。首先我推测是路径没包含好,我重新给工程文件包含了文件,但是还是编译报错;然后我修改芯片型号,N32G457QEL7这个是例程默认的芯片型号,改为我现在用的N32G453CCL7依然还是报这个错;有大佬遇到类似情况,例程下载下来不能用的么?

  • GD32 Embedded Builder可以设置中文工程名和中文路径吗?

    GD32EmbeddedBuilder可以设置中文工程名和中文路径吗?为什么build时Invalidargument不通过?

  • keil下载识别不了芯片

    有大哥知道解决方法嘛,在网上找了好久,还是没有相关的解决方法,用了PWLINK2LITEkeil版本最开始5.39也不行,现在是5.18还是不行

  • RST引脚如何复用成普通IO

    LKS07RST手册上可以复用成P0.2,配置了复用寄存器,实际控制IO翻转没效果;还需要配置其他寄存器么SYS_IO_CFG|=BIT5;//RSTconfigP0.2

  • vscode+Jlink单步调试出错,cortex-debug不受支持,怎么回事?

    launch文件有没有问题呢?是自动生成的我点击了1、2,报出了这个错误,见3

  • GD32H757VMT6 在线调试,下载时提示错误:

    我再GD32H757VMT6工程里使用了地址:0x30000000,”__attribute__((section(".ARM.__at_0x30000000")))enet_descriptors_structrxdesc_tab[ENET_RXBUF_NUM];/*!<ENETRxDMA“而且GD32H757VMT6的内部RAM包含0x30000000,请问为什么下载时提示:NoAlgorithmfoundfor:30000000H-3000004FH

  • 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

    GD32E230 串口 PA 使用 pi

    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

    DMA 读取SPI flash 异常 读取

    2024-11-07 18
  • vscode+GCC+Jlink烧录GD32程序时发生Writing target memory failed

    首次用vscode来烧录(国产化的需要),仿真器是ArmV9,芯片是GD32F103ZET6,烧录配置想用JlnkSWD,但是用USB连接pc和仿真器--GD开发板后,点击vscode中的烧录,出现如下错误:网上找了很多帖子还没有解决,有思路的请指点下,谢谢

123下一页