关于SysCtlDelay()延时函数:<br /><br />在周公的所有关于LM3S的例程中均采用了hh_SystemInit.c,其默认的设置为采用主晶振6M<br /><br />而在程序中则如此写:<br />1. SysCtlDelay(20); // 延时60个系统周期<br />2. SysCtlDelay(150 * (SysCtlClockGet( ) / 3000)); // 延时150ms <br /><br />这里关于系统周期的说法:<br />2中,SysCtlClockGet( )=6000000 Hz,换算为1ms,则为6000Hz<br /><br />总延时为 150*6000/3000*3=900时钟周期,对应于150ms。<br />即当振荡源为6MHz时,6时钟周期耗时1ms<br />如果为40M,则40时钟周期耗时1ms<br /><br />我的理解对么?<br /><br />如果上述理解正确的话,那么:<br />在40M下需要延时150ms,函数同样可以写为<br />SysCtlDelay(150 * (SysCtlClockGet( ) / 3000)); // 延时150ms |
|