问答

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

everyrobin

TA的家园币:2969  

  • APM32F107串口中断接收丢包

    APM32F107在串口同时发送和接收的情况下串口接收丢字节,具体表现为偶发进入串口接收中断了,但是USART_FLAG_RXBNE标志位没有触发,导致读不到这个字节进而丢字节,通过计数发现进入中断的次数与实际应该收到的字节数一致。1、发送是阻塞式发送的,没有用发送中断,排除进入的是发送中断的可能。2、出现这种情况时打断点看了,其他的溢出及错误标志位并没有置位,也打印检查了,没有置位。3、排查代码了没有在其他地方主动调用USART_RxDatad读取。4、串口中断优先级已调至最高。5、只接收不发送不会丢字节,挂一晚上都不丢,只要一发送接收就会丢。发送代码:voidUart1_Send(charbuf){uint16_tdata_9th=buf;dog_feed_count_clean();//循环清除喂狗变量,超过DOG_PROTECT_TIME_100MS不清除则认为主循环异常,并停止喂狗。if(g_rParameters.sPort[0].ucParity==UART_CHK_MARK){data_9th|=(1

  • STM32中如何实现数据加密

    如题,都可以使用哪些方法对数据进行加密呢?

  • GD32F407ZGT6硬件引脚可以完全替代STM32F407ZGT6吗?

    以前项目的板子用的STM32F407ZGT6,现在要求主控芯片必须国产化,想直接替换成GD32F407ZGT6,不改变原先的外围电路,请问大佬们有尝试过的嘛,可以的话那就太省事了,我先给大家鞠个躬吧!!!

  • GD32F303 使用KEIL仿真,JLINK连不上什么原因?

    GD32F303使用KEIL仿真,JLINK连不上什么原因?需要怎么设置?

    2024-01-24 65
  • GD32E230, VREFINT居然每次复位都会变?

    以前用ADC很少用内部基准,都是尽量加一个431什么的,多用一个ADC通道读431再换算这次偷懒用了VREFINT,结果发现每次复位之后ADC采样结果相差挺大,于是单独把VREFINT的值输出到串口再换算成电压试试.一看吓一跳,标称1.2V,最低只有1.138V左右,最高1.207V左右,每次复位都不一样,复位之后倒是挺稳定的.是我哪里设置得不对吗?还是这东西就这样...

    2023-11-16 81
  • MA82G5B32 烧录程序不进去

    ICE烧录器,6线连接,目标板已供电,出现如下问题,求大神帮

    MA82G5B32

    2022-11-17 46
  • NuEclipse与keil生成HEX文件区别?

    我在测试是用NuEclipse工具生成的HEX文件发现他和keil生成的HEX文件不同,问问大家他们有什么区别啊,还是我NuEclipse工具生成错了,我想他们应该是相同的。

  • 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;}就卡死在这个等待

    gd32f105 ST ck 使用 状态机 USB

    2022-10-09 40