This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于TM4C123GH6PZ的SysCtlDelay函数能实现的最小延时



请问能不能做到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

  • 楼主你的SysCtlClockSet函数最后一个参数使用SYSCTL_OSC_MAIN试一下。

    现在的参数是禁用了主振荡器。

    针对SysCtlDelay的最小延迟,SysCtlDelay(1)大约是3个时钟周期。


    先改改SysCtlClockSet函数,然后用SysCtlClockGet看看MCU主频跑到多少,最后计算一下100ns是几个周期就好了。