1 S32K144时钟源
S32K1xx具有以下时钟源:
• 快速内部参考时钟(FIRC):48MHz。
• 慢速内部参考时钟(SIRC):8MHz。
• PLL:外部振荡器作为输入源。
• 外部方波输入时钟:高达50MHz。
• 外部振荡器时钟(OSC):4-40MHz。
FIRC,SIRC是内部的,不必从硬件设计的角度来考虑。外部振荡器的工作范围为4-40MHz。它提供了一个输出时钟,可以提 供给PLL或用作某些外设的时钟源。当使用外部振荡器作为PLL的输入源时,外部振荡器的频率范围应为8-40MHz。
2 S32K144时钟树
S32K144时钟树状图如图所示。其中只有SOSC时钟源可以经过PLL进行倍频,PLL最大增频为40倍,SOSC频率为8M,经过PLL时,时钟频率需要除以2,故时钟SYS_CLOCK最大为160MHZ。BUS_CLOCK(总线时钟)和Flash_clock可以在sys_clock的基础上再进行分频。其余时钟按照时钟树进行配置即可。
3 S32DS下进行时钟配置
S32k144无自带延时函数,故通过systick定时器编写延时函数。systick定时器,用于us级定时资源-CSDN文库
使用该函数前,需要对系统时钟进行配置,配置为80Mhz.
创建S32K144SDK项目并点击
打开后进入界面
左上角的变量名在初始化的时候用到。 下拉找到
SOSC默认为8MHZ,故只需要将PLL设置为40,此时SPLL_CLOCK为160M,向上滚动
把时钟源配置为如图所示的时钟即可。
将TCLK配置为80Mhz。 便完成了时钟的配置。
4 串口打印
在while循环中每隔五秒打印一个hello
可以看到程序会有1ms左右的误差,这是由于串口发送的时间和程序执行产生的误差。