-
GD32F407使用freeRTOS死机
在GD32F407跑了freeRTOS,串口接收使用了DMA+IDLE中断来实现不定长接收,串口的IDLE中断中接收完数据后,通过事件通知线程执行解析,但是中断中调用xEventGroupSetBitsFromISR函数后就会死机
2024-05-31 56 -
HC32F460时钟模式错误出现串口乱码
使用了HC32F460PETB单片机,在批量生产中个别产品出现串口乱码情况,经排查是硬件电路设计为外部8M有源晶振,代码中en_clk_xtal_mode配置的是CLKXtalModeOsc=1u,后将代码配置修改为CLKXtalModeExtclk=1u后串口打印正常,有大神能帮忙解释下原理吗?为什么这个地方配置错误,产品会出现问题,之前小批量生产的时候没有出现乱码现象。
2024-04-28 21 -
我**把AT32F437的PA15作为普通IO使用,要如何设置?
我看AT32F435_437已经没有CRM_IOMUX_PERIPH_CLOCK这个时钟和gpio_pin_remap_config相关函数了,都采用了GPIO_MUX_X。我如果**把PA15,PB3,PB4作为普通IO使用,要如何设置呢?另外,如果作为外设使用,是不是也需要先关闭JTAG,还是直接用gpio_pin_mux_config设置复用就可以了。如果要关闭JTAG,如何关闭?我看没有像GPIO_REMAP_SWJ_JTAGDISABLE类似的宏定义了!
2023-09-04 23 -
GD32A503RDT3 ADC+DMA顺序转换问题,没有数据
voidrcu_config(void){/*enableGPIOclock*/rcu_periph_clock_enable(RCU_GPIOB);rcu_periph_clock_enable(RCU_GPIOE);/*enableADC0clock*/rcu_periph_clock_enable(RCU_ADC0);/*enableDMA0clock*/rcu_periph_clock_enable(RCU_DMA0);}/*!\briefconfiguretheGPIOperipheral\paramnone\param[out]none\retvalnone*/voidgpio_config(void){/*configtheGPIOasanalogmode*/gpio_mode_set(GPIOB,GPIO_MODE_ANALOG,GPIO_PUPD_NONE,GPIO_PIN_1);//GPIOB1,gpio_mode_set(GPIOE,GPIO_MODE_ANALOG,GPIO_PUPD_NONE,GPIO_PIN_13);}/*!\briefconfiguretheDMAperipheral\paramnone\param[out]none\retvalnone*/voiddma_config(void){/*ADC_DMA_channelconfiguration*/dma_parameter_structdma_data_parameter;/*ADCDMA_channelconfiguration*/dma_deinit(DMA0,DMA_CH0);/*initializeDMAsingledatamode*/dma_data_parameter.periph_addr=(uint32_t)(&ADC_RDATA(ADC0));//外设基地址dma_data_parameter.periph_inc=DMA_PERIPH_INCREASE_DISABLE;//内存地址增量模式dma_data_parameter.memory_addr=(uint32_t)adc_value;//数据存放地址dma_data_parameter.memory_inc=DMA_MEMORY_INCREASE_ENABLE;//内存地址增量模式dma_data_parameter.periph_width=DMA_PERIPHERAL_WIDTH_16BIT;//dma外设宽度16位,半字dma_data_parameter.memory_width=DMA_MEMORY_WIDTH_16BIT;dma_data_parameter.direction=DMA_PERIPHERAL_TO_MEMORY;//传输模式,外设到存储(接收)dma_data_parameter.number=2;//长度dma_data_parameter.priority=DMA_PRIORITY_HIGH;//优先级高dma_init(DMA0,DMA_CH0,&dma_data_parameter);dma_circulation_enable(DMA0,DMA_CH0);/*enableDMAchannel*/dma_channel_enable(DMA0,DMA_CH0);}/*!\briefconfiguretheADCperipheral\paramnone\param[out]none\retvalnone*/voidadc_config(void){/*configADCclock*/rcu_adc_clock_config(RCU_
2023-08-28 25 -
GD32E30x uart0 波特率1200时,出现乱码。
udiv=(uclk+baudval/2U)/baudval;intdiv=udiv&0x0000fff0U;fradiv=udiv&0x0000000fU;}USART_BAUD(usart_periph)=((USART_BAUD_FRADIV|USART_BAUD_INTDIV)&(intdiv|fradiv));跟中代码发现走的上面的过程uclk=180000000,intdiv=?fradiv=?1.intdiv=456,fradiv=82.intdiv=65440,fradiv=8
2023-08-19 52 -
CW32F030F8 只能下载一次程序
在使用CW32F030F8做设计的时候,下载了一次程序后就一直不能下载了,报错devicecouldnotbepoweredup。但是芯片能识别到。主程序开启了外部时钟和flash等待
2023-05-28 29 -
AT32F407F8T7 SWD不识别
这是我做的一个AT32F407F8T7的一块板子,外围电路如下,但是焊接后SWD识别不到内核,请问有大佬知道什么原因吗?
2023-04-21 28 -
MM32F0144用MM32-Link为什么一直无法识别
RTMM32-Link是正常连接的SWDevice一直提示:NOCortex-MSWDeviceFound
2022-12-16 30