请问STM32初始化告诉晶振判断稳定后完,I/O,TIM,USART初始化后,
进入应用前时候要不要加入delay?
我测得的现象是这样的,
上电!
_BSP_IntInit();
_RCC_DeInit();
。。。。。。。。。
。。。。。。。
_RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
_while (RCC_GetSYSCLKSource() != 0x08) {}
(1)
_I/O,SPI,USART,初始化函数
{}
_调用SPI读FRAM程序。
{}
【注】如果(1)处不加延时则,读取FRAM不稳定,有时候对有时候错,如果加入则没问题我这里实验的是加入100MS软件延时就不会出现读写错误。
请问:我原来的板子没加延时没返现这个问题,现在的板子跟原来的电路没什么区别,但是却出现了这个问题,不知道为什么,对于STM32这里是否加上好些,还是根本就不要加延迟,我的程序哪里有问题? |
|
回复:关于STM32初始化延时问题
在线等回复!
RE:关于STM32初始化延时问题
回复:关于STM32初始化延时问题
是FRAM的上电后要delay一段时间等待其内部初始化,手册上写大约是10ms
我实际测试需要20ms就OK了
RE:关于STM32初始化延时问题
RE:关于STM32初始化延时问题
还有个情况也说下,也能说明是电压刚上电不稳的情况
就是我用JLINK仿真器仿真,无需加延时也OK。拿下仿真器重新上电不加延时就不行。
基于以上我分析是由于加入仿真器,程序是由仿真器控制的程序运行及复位过程,在这之前板子早已上电所以
FRAM有足够时间来稳定。
为了验证我的分析,我又将板子单独供电运行(脱离仿真器)
发现不加延时不行,但是在经过我手动复位后发现可以正常运行。
OK,得出结论,还是因为刚上电瞬间FRAM的tUP时间不够导致的 FRAM读写操作失败!!!
因为我的示波器只有一个探头,所以无法捕捉上电瞬间VDD与 FRAM之间的关系。
不过我相信以上的两个实验足以证明了我的推断!
回复:关于STM32初始化延时问题
目前小弟也想試試看用FSMC 接 RAMTRON 的 FM21L16
不知有沒有哪位先進有這樣用過
可以提供小弟一些經驗
t24101@hotmail.com
感激不盡
回复:关于STM32初始化延时问题