作者最近在学习正点原子的STM32H743的网络通信例程,按照自己的理解,更改完UDP发送和接收函数之后,发现能够建立UDP通信连接,正在窃喜之中,突然发现一个问题---
就是每次开发板下电之后,再重新上电,UDP居然不通了,网口也不再闪烁,在网上查找对应的攻略,说是上电之后没有复位的关系,参考这片博文
stm32上电不复位,需手动复位问题。_stm32上电后需要复位一次-CSDN博客
于是在初始化的部分,增加了一个10s的延时
Write_Through();
MPU_Memory_Protection();
Cache_Enable();
HAL_Init();
Stm32_Clock_Init(160,5,2,4);
delay_init(400);
delay_ms(10000); //增加10s的延时
uart_init(115200);
usmart_dev.init(200);
LED_Init();
KEY_Init();
SDRAM_Init();
LCD_Init();
PCF8574_Init();
my_mem_init(SRAMIN);
my_mem_init(SRAMEX);
my_mem_init(SRAMDTCM);
MY_ADC1_Init();
MY_ADC3_Init();
RTC_Init();
TIM3_Init(1000-1,2000-1);
while(lwip_comm_init()) //lwip初始化
{
delay_ms(500);
}
最终问题得以解决,每次上电之后不需要再进行手动复位