2025.5.22

input引脚,要给个初始状态,要不然read的时候,不能确定是浮空的状态,还是外部设备给输入的状态 LAN8720复位,要先USB_EN = 1,SPI_EN = 0

2025.5.26

用static修饰函数时,只能在本文件内调用。即使在别的c文件中include头文件,编译也会报错undefined

2025.5.26

直插led,长的+短的- 直插电容,长的+短的-

2025.6.3

内联函数可以看成是更严谨的宏定义函数,他会检查参数的合法性

2025.6.4

不能ping太快,如果ping太快,会导致把接收区buff撑爆,就无法接受新的ping包,导致ping一段时间后,就ping不通了 目前wifi模块断网重连后,再ping就不通了

https://blog.csdn.net/liu__qian123/article/details/121018523 # STM32H7LWIP,过滤,配置opt,调整rxbuffer大小等 https://blog.csdn.net/xuzhexing/article/details/115401554 # STM32H7+CUBE+ETH+LWIP配置及设置 https://blog.csdn.net/monei3525/article/details/109166516 # STM32H7的Cache与Buffer https://blog.csdn.net/Motseturtle/article/details/126165780 # STM32H723+Lwip+ETH+CUBE 完整配置(排了巨多坑!) https://blog.csdn.net/weixin_42434684/article/details/142214365 # STM32H743ZIT6+LWIP+MPU+CUBEMX,通过stm32cubemx完成初始化,ping包亲测没问题,带解释!!

https://blog.csdn.net/qq_35216918/article/details/125987446 LWIP 稳定性

2025.6.9

DCDC开关电源:大功率电源,转换效率高 LDO:小功率,对纹波要求较高的

阻抗和走线长度没有关系,和走线宽度、板厚等等有关

电容两端的相对电压不能突变 电容两端的电压可以同时突变

小电容,滤除高频;大电容,滤除低频。为什么是这样,因为电容等效为一个电容、一个电感和一个电阻的串联形式,比较复杂,所以不能电容越大越好

https://blog.csdn.net/qq_62361151/article/details/137891277 寄生电容/电感

电容顺序 外部流入的电容,先过大电容,再过小电容,再给IC供电 IC出去的电容,先过大电容,再过小电容,再给别人供电

https://blog.csdn.net/weixin_44907956/article/details/97667825 电源类防雷器件顺序:压敏电阻、保险丝、抑制二极管、EMI滤波器、电感/共模电感 一般对接口保护器件顺序:ESD(TVS二极管)、隔离变压器、共模电感、电容、电阻

2025.7.4

FreeRTOS里面,debug,stop后如果代码不跳转,可能是停在任务的空for循环中

/* Clear the Eth DMA Rx IT pending bits */
    __HAL_ETH_DMA_CLEAR_IT(heth, ETH_DMACSR_RI | ETH_DMACSR_NIS);
 /* Receive complete callback */
    HAL_ETH_RxCpltCallback(heth);
     /* Clear the Eth DMA Tx IT pending bits */
    __HAL_ETH_DMA_CLEAR_IT(heth, ETH_DMACSR_TI | ETH_DMACSR_NIS);
     /* Transfer complete callback */
    HAL_ETH_TxCpltCallback(heth);
       /* Set HAL state to ERROR */
      heth->gState = HAL_ETH_STATE_ERROR;
       /* Clear the interrupt summary flag */
      __HAL_ETH_DMA_CLEAR_IT(heth, (ETH_DMACSR_CDE | ETH_DMACSR_ETI | ETH_DMACSR_RWT |
                                    ETH_DMACSR_RBU | ETH_DMACSR_AIS));
   HAL_ETH_ErrorCallback(heth);
 

2025.7.8

开MPU的ETH和lwip两段,不启用4G的那个默认背景,关闭Dcache和Icache,可以ping通 但是过一会就硬件错误 发现是这个函数进入了硬件错误,原因应该是我之前CUBEMX生成的开启DIcache的代码,需要使用这个函数。但是我disable后,这个就无法使用了,但我没有删除对应的函数,导致硬件错误。 后面发现,改了这个之后也会ping一段时间后ping不通,但是不会进硬件错误,说明应该还是要clearDcache的。于是我把这个函数换成了SCB_CleanInvalidateDCache(),500msping了30分钟,只丢了5包,目前还比较稳定。1sping了3h,丢了30包,丢包率0.24%

不启用4G的默认背景时,如果开启的DIcache,SD卡初始化会不通过

2025.7.27

  • FTP服务器开发?
  • 以太网诊断,请求ID和响应ID
    • 请求ID:服务器发送时已确定。接收时还一样吗?
    • 响应ID:服务器发送时是否确定?接收端相同的请求ID,是否会回应不同的响应ID?
    • 请求ID和响应ID,就是CAN报文的帧ID吗?和普通的CAN报文的帧ID有区别吗?
    • CAN_Read_FIFO(&CAN_Data_msg1); 怎么判断该报文是不是 回复之前请求ID的CAN报文的?只要请求ID一样就可以吗?
  • WIFI模块直插式停产,只有SMT