问答

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

laocuo1142

TA的家园币:3742  

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

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

  • GD32F103C8T6,使用ST标准库,CAN初始化失败

    本帖最后由fw19876311于2025-1-1417:01编辑STM32F103C8T6正常运行的代码,直接平替GD32F103C8,CAN部分初始化异常,一直返回失败uint8_tCAN_Init(CAN_TypeDef*CANx,CAN_InitTypeDef*CAN_InitStruct){uint8_tInitStatus=CAN_InitStatus_Failed;uint32_twait_ack=0x00000000;/*Checktheparameters*/assert_param(IS_CAN_ALL_PERIPH(CANx));assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_TTCM));assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_ABOM));assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_AWUM));assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_NART));assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_RFLM));assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_TXFP));assert_param(IS_CAN_MODE(CAN_InitStruct->CAN_Mode));assert_param(IS_CAN_SJW(CAN_InitStruct->CAN_SJW));assert_param(IS_CAN_BS1(CAN_InitStruct->CAN_BS1));assert_param(IS_CAN_BS2(CAN_InitStruct->CAN_BS2));assert_param(IS_CAN_PRESCALER(CAN_InitStruct->CAN_Prescaler));/*Exitfromsleepmode*/CANx->MCR&=(~(uint32_t)CAN_MCR_SLEEP);/*Requestinitialisation*/CANx->MCR|=CAN_MCR_INRQ;/*Waittheacknowledge*/while(((CANx->MSR&CAN_MSR_INAK)!=CAN_MSR_INAK)&&(wait_ack!=INAK_TIMEOUT)){wait_ack++;}/*Checkacknowledge*/if((CANx->MSR&CAN_MSR_INAK)!=CAN_MSR_INAK){InitStatus=CAN_InitStatus_Failed;=====================卡在这个位置}请教各位,有遇到过吗?麻烦指导下,谢谢大家!

  • 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依然还是报这个错;有大佬遇到类似情况,例程下载下来不能用的么?

  • RS485 从机收不到数据

    本帖最后由kate2005于2024-12-2615:02编辑问题描述:RS485主机和从机用电源LN,测试环境是可以控制高低温的实验室,正常情况下,主从机通讯正常,从机用来控制一个电流为10几安的电机运转。连接方式见附图,附图1是指示图。低温零下十几度正常运转2天后,发生了通讯故障,现象是从机表现为收不到主机数据,这时从机会主动定时发送一组数据,这是从机的软件策略。附图2无法通信时的从机端AB线波形,测试波形时并没有运转电机。如果断开主机和从机的AB两线,5V和地仍然按原来的连接(主机板供电给从机的485电路),AB线用笔记本和USB转RS485模块,发现从机通信正常。当时无示波器无图。各位大佬帮忙分析一下,为何从机无法收到主机的数据?

    RS485 从机 AB 通信 通讯

    2024-12-26 15
  • GD32 Embedded Builder可以设置中文工程名和中文路径吗?

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

  • 单周期乘法器和17周期分频器我要怎么去使用它?

    GD32E230系列的,里面描述的单周期乘法器和17周期分频器我要怎么去使用它?在哪里有详细的描述?

    嵌入式 单片机 GD32

    2024-12-10 13
  • 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 17
  • 在用win10+vscode环境中用Jlink烧录gd32程序失败,求思路,谢谢

    出错信息如下:请大家看看有没有思路,谢谢。或者用vscode环境+Jlink烧录GD32的程序,是怎么个步骤烧录的?

    vscode GD32烧录 GD32 link win10

    2024-11-06 16
12345下一页