问答

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

194490490

TA的家园币:52  

  • gd32f303rct6,烧录后,只有在debug模式下,程序才能正常运行

    1,芯片:gd32f303rct62,boot0和boot1都接地。3,同样的程序stm32f103rct6没有问题。4,实验内容:通过dma+pwm,控制pb3,输出波形,从而控制rgb灯的点亮,熄灭和颜色。但是程序烧录后,只有在debug模式下程序才能正常运行(点击魔术棒,然后点debug,再点setting不做任何设置,直接退出,程序能自动正确运行)。如果拔除jlink与开发板连线,直接重启电源或按复位都不能正确运行程序。请哪位大佬能不能帮忙看看,我写的配置程序有没有问题,帮忙分析一下原因。5,voidvLED_init(void),为驱动配置程序。6,voidvSetLED(uint8_t(*color)[3],uint16_tlen),为通过dma+pwm向rgb灯芯片发送数据问题已经解决了,配置gpioremap时不仔细一个参数配置错了,正确的是(GPIO_SWJ_SWDPENABLE_REMAP)。\argGPIO_SWJ_NONJTRST_REMAP:fullSWJ(JTAG-DP+SW-DP),butwithoutNJTRST\argGPIO_SWJ_SWDPENABLE_REMAP:JTAG-DPdisabledandSW-DPenabled\argGPIO_SWJ_DISABLE_REMAP:JTAG-DPdisabledandSW-DPdisabled复制/**************************************/**************************************功能描述:LED初始化,gpio,pwm,dma入口参数:无返回值:无***************************************/voidvLED_init(void){timer_oc_parameter_structtimer_ocintpara;timer_parameter_structtimer_initpara;/*PWM_DMA_channelconfiguration*/dma_parameter_structdma_data_parameter;rcu_periph_clock_enable(RCU_TIMER1);//使能定时器1时钟rcu_periph_clock_enable(RCU_GPIOB);//使能GPIOB时钟gpio_pin_remap_config(GPIO_TIMER1_FULL_REMAP,ENABLE);//TIMER1fullremappinggpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);//下载口NJTRST引脚当做普通I/O口/*ConfigurePB3(TIMER1CH1)asremapfunction*/gpio_init(GPIOB,GPIO_MODE_AF_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_3);//PB3配置成复用推挽输