请问能不能做到100ns的延时呢?我是这么配置的,但是用示波器检测不到输出,而当我把延时调高一点(比如100us)就可以检测到,我试过了,最低只能到10us
SysCtlClockSet(
SYSCTL_OSC_INT | //??????
SYSCTL_USE_PLL | //??PLL
SYSCTL_SYSDIV_4 | //4???50MHz
SYSCTL_MAIN_OSC_DIS); //?????Main_OSC
SysCtlDelay((SysCtlClockGet()/30)/200000); // 100ns
Michael Sun:
楼主你的SysCtlClockSet函数最后一个参数使用SYSCTL_OSC_MAIN试一下。
现在的参数是禁用了主振荡器。
针对SysCtlDelay的最小延迟,SysCtlDelay(1)大约是3个时钟周期。
先改改SysCtlClockSet函数,然后用SysCtlClockGet看看MCU主频跑到多少,最后计算一下100ns是几个周期就好了。