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