首先,STM32复位后,内部的高速RC振荡器开始提供CPU的时钟,根据数据手册LSE的启动时间是1~2us;而使用HSE的话,根据数据手册HSE需要2ms(典型值)才能稳定,可能还要加上PLL的200us锁定时间。因此使用HSI,先对GPIO操作,待时间允许再启动HSE,即可解决问题。(以上数据均可在STM32的数据手册中得到,还有复位时间、上电速率等参数,数据很全的,哈哈~~~~)
其次,如果只是要求上电后,某个I/O脚需要有特定的电平状态,还可以通过外加上拉或下拉的方式解决,因为I/O脚在程序没有配置之前的默认模式是浮空输入,管脚的电平受外加的上拉或下拉电阻控制。
|