-
GD32f305使用官网USB Host例程出现问题
GD32f305使用官网USBHost例程,插入U盘后,一直进入中断,并且中断标志由断开连接中断
2025-01-23 20 -
GD32F303RCT6 USART0的空闲中断进不去,仿真打断点也进不去中断
intmain(void){//¿ÉÒÔ×öµ½´«ÊäÊý¾Ý³öÀ´£¬¶¨µã´«ÊäÊý¾Ý³öÀ´uint32_tStatus2=0;uint32_tStatus3;uint16_tx;dma_parameter_structdma_init_struct2;gpio_pin_remap_config(GPIO_SWJ_NONJTRST_REMAP,ENABLE);//ÏÂÔØ¿ÚNJTRSTÒý½Åµ±×öÆÕͨI/O¿Úrcu_ahb_clock_config(RCU_AHB_CKSYS_DIV1);systick_config();//1mssystickgpio_config();//PA1,PA2,PA3¹Ü½ÅÅäÖÃ/************************************************///UART0_initrcu_periph_clock_enable(RCU_AF);//Need!!!!//usart_halfduplex_enable(USART0);rcu_periph_clock_enable(RCU_USART0);//ʹÄÜUSART0ʱÖÓgpio_pin_remap_config(GPIO_USART0_REMAP,ENABLE);usart_deinit(USART0);//³õʼ»¯//¸´Î»Ê±ÖÓusart_baudrate_set(USART0,19200U);//¶¨Ò岨ÌØÂÊusart_receive_config(USART0,USART_RECEIVE_ENABLE);//½ÓÊÕʹÄÜusart_transmit_config(USART0,USART_TRANSMIT_ENABLE);//·¢ËÍʹÄÜusart_interrupt_enable(USART0,USART_INT_TC);//·¢ËÍÍê³ÉÖжÏusart_interrupt_enable(USART0,USART_INT_IDLE);//¿ÕÏÐÖжÏusart_enable(USART0);//Ä£¿éʹÄÜUSART_INT_TCnvic_irq_enable(USART0_IRQn,0,1);RX0_DMAquest_StartOrInit();TX0_DMAquest_StartOrInit();usart_dma_receive_config(USART0,USART_DENR_ENABLE);usart_dma_transmit_config(USART0,USART_DENT_ENABLE);//NVICEXTI_config();//timer_interrupt_flag_clear(TIMER0,TIMER_INT_FLAG_CH0);//timer_interrupt_enable(TIMER0,TIMER_INT_CH0);//usart_dma_transmit_config(USART0,USART_DENT_ENABLE);//usart_dma_receive_config(USART0,USART_DENR_ENABLE);/******************************************************//*configureDMAmode*///dma_circulation_disable(DMA1,DMA_
2024-11-06 10 -
MM32G0001 PA0引脚复用USART1_RX失灵,各位有没有遇到过
如题
2024-01-13 11 -
HC32L110 采集ADC有可能一直没有值吗
先说现象:1.试产了1000个大约有20个,ADC采样一直通不过。复位以后程序又正常工作,采样正常。2.对不能正常工作的产品测量对应引脚:(1)引脚上模拟信号量在变化,0~3V。(2)ADC连续转换中断有产生,因为我的程序在转换完成中断会关闭ADC使能,把检测口关闭。还把光敏电阻的电源关闭。通过测量光敏电阻电源,和引脚上的变化。确定ADC程序在运行,正常结束。程序结构:1.上电后初始化ADC功能。关闭ADC。因为是低功耗项目,所以不用的时候都关闭了外设。2.在需要的时候,开启转换。转换完成中断后,把ADC值保存在数组中,关闭ADC。3.程序任务判断ADC的值,做出对应动作。出错在这里,外部模拟量变化,这里没有反应。我怀疑是我的ADC设置不对,但是又没有找到哪不对。其中,我实际使用中因为不停的开关BGR,发现BGR的使能时间对结果影响非常大。我实际测试当BGR使能时间大于1ms,结果比较稳定。我程序中是使能了1.5ms才开启的转换。实际电路中因为输入阻抗大,所以程序开启了电压跟随器功能。看具体的操作:需要转换时:开启光敏电源使能对应扫描通道使能ADC时钟使能ADC使能BGR延时1.5ms清除ADC连续转换完成中断标志中断使能复位ADC连续转换状态启动ADC转换ADC中断程序:清除连续转换完成中断获取对应通道ADC值保存在数组中。禁止BGR禁止ADC禁止ADC时钟禁止ADC中断关闭光敏电源使用时:取ADC数据赋给局部变量局部变量参与运算,判断数据在哪个区间段根据区间段做出对应动作。最后,希望有大佬能提供思路。我在考虑是不是要周期性重新初始化ADC,但是这个是治标不治本的办法,我没有找到为什么会出现这个。
2023-12-20 14 -
GD32F450RGT6串口5不工作是什么情况?
GD32F450RGT6串口0,串口1,串口2都正常工作,用同样的方式设置串口5就不工作,是什么情况?
2023-01-10 27 -
GD32MCU的存储温度范围是多少呢?
手册上暂时只看到了工作温度,存储温度是什么范围呢
2023-01-01 19 -
GD32F105RB 使用官方USB例程,运行至枚举状态机时进入死循环
将外部晶振修改为8M之后,打印主频96M,一切正常,但是USB的时钟源是未进行修改,应为我主频没变,时钟配置如下voidusb_rcu_config(void){uint32_tsystem_clock=rcu_clock_freq_get(CK_SYS);printf("系统时钟为:%d\n",system_clock);if(48000000U==system_clock){usbfs_prescaler=RCU_CKUSB_CKPLL_DIV1;timer_prescaler=3U;}elseif(72000000U==system_clock){usbfs_prescaler=RCU_CKUSB_CKPLL_DIV1_5;timer_prescaler=5U;printf("系统时钟为:%d\n",system_clock);}elseif(96000000U==system_clock){usbfs_prescaler=RCU_CKUSB_CKPLL_DIV2;timer_prescaler=7U;}else{/*reserved*/}rcu_usb_clock_config(usbfs_prescaler);rcu_periph_clock_enable(RCU_USBFS);}但是运行至枚举状态机时就卡死在死循环不出来,这是为什么呢进入caseHOST_DEV_ENUM:之后:调用usbh_devdesc_get(uhost,8U))-----》》》usbh_ctl_handler(uhost);------》》》if(URB_DONE==usbh_urb_wait(uhost,uhost->control.pipe_in_num,DATA_STAGE_TIMEOUT)){uhost->control.ctl_state=CTL_STATUS_OUT;}就卡死在这个等待
2022-10-09 12 -
APM32调试断点问题
使用APM32F103VET6芯片,在进入调试后,打了3个断点就报问题随后自动退出调试模式,请问这种情况是什么导致的?
2022-08-31 11 -
GD32 定时器hall接口的配置方式
各位大神,GD32定时器hall接口的配置方式谁能提供下啊,非常感谢
2022-08-11 10 -
请问哪里可以购买CW32的量产工具CW-Writer,价钱是多少?
请问哪里可以购买CW32的量产工具CW-Writer,价钱是多少?
2022-06-06 29 -
CH375做游戏手柄问题
想要用CH375做一款蓝牙低功耗游戏手柄,连接手机实现游戏角色控制,现在在hidtouch参考例程上改了连上手机后没有起作用,有没有做过的交流一下,感觉是hid报告描述符的问题
2022-05-11 2 -
极海车规级MCU407系列已经量产了吗
极海车规级MCU407系列已经量产了吗
2022-04-27 16 -
如何购买杰发科技开发板
请问如何购买杰发科技电机开发板
2022-03-03 10 -
使能串口发送中断, 出现前导乱码, 问题求解
使用芯片华大HC32F460PETB,每次使能Uart发送中断,串口就会发送"11111100"(HEX)3-4BYTE的乱码,这个时候还未进行中断处理,前导乱码已经发出!向给位请教一下,怎么处理,消除前导乱码/******************************************************************************brief:发送中断param:Noneretval:None*****************************************************************************/staticvoidUsartTxIrqCallback(void){uint8_tu8Data=0u;if(Ok==RingBufRead(&m_stcRingBuf_Out,&u8Data)){USART_SendData(USART_CH,(uint16_t)u8Data);}//如果数据已经发送完毕,关闭发送中断,打开发送完毕中断if(IS_RING_BUFFER_EMPTY(&m_stcRingBuf_Out)){//发送数据完毕,关发送中断USART_FuncCmd(USART_CH,UsartTxEmptyInt,Disable);//打开发送完毕中断USART_FuncCmd(USART_CH,UsartTxCmpltInt,Enable);}}/******************************************************************************brief:发送完毕中断param:Noneretval:None*****************************************************************************/staticvoidUsartTxCmpltIrqCallback(void){//关闭发送中断,关闭完毕中断USART_FuncCmd(USART_CH,UsartTx,Disable);USART_FuncCmd(USART_CH,UsartTxCmpltInt,Disable);//发送闲0m_u8Status=0u;;}/******************************************************************************brief:启动发送中断param:voidretval:void注:如果忙或者为空,就没有必要启动发送*****************************************************************************/voidUartA_Start_Send(void){registerrt_base_tlevel;uint8_tu8Data=0u;//必须原子,因为要支持边发边加level=rt_hw_interrupt_disable();if((!IS_RING_BUFFER_EMPTY(&m_stcRingBuf_Out))&&(0u==m_u8Status)){//装入首字符/*if(Ok==RingBufRead(&m_stcRingBuf_Out,&u8Data))
2021-12-22 3