一、CLOCK模块驱动
使用S32DS官方生成代码进行设置芯片驱动
下图为CLOCK配置界面
【1】点击图示按键,进入到CLOCK模块的配置界面;
【2】矩形方框中的内容为时钟分频配置;(出现“锁”图标,则单击“锁”解锁后再配置)
【3】外设时钟的时钟源选择配置;
注意:
【4】S32K311在烧录固件后,可能会出现周期重启现象。需要将HSE_CLK频率降到60MHz;
点击更新源代码
二、API函数接口
1、CLOCK初始化
Clock_Ip_StatusType Clock_Ip_Init(Clock_Ip_ClockConfigType const * Config)
函数路径:工程名/RTD/src/Clock_Ip.c
参数:Clock_Ip_ClockConfigType const * Config (参数内容随上述CLOCK模块配置而同步更改)
参数路径:工程名/generate/src/Clock_Ip_Cfg.c
const Clock_Ip_ClockConfigType Clock_Ip_aClockConfig[1U] = {
/*! @brief User Configuration structure clock_Cfg_0 */
{
0U, /* clkConfigId */
(NULL_PTR), /* Register data if register value optimization is enabled */
3U, /* ircoscsCount */
1U, /* xoscsCount */
1U, /* pllsCount */
7U, /* selectorsCount */
13U, /* dividersCount */
1U, /* dividerTriggersCount */
0U, /* fracDivsCount */
0U, /* extClksCount */
54U, /* gatesCount */
0U, /* pcfsCount */
4U, /* cmusCount */
6U, /* configureFrequenciesCount */
(&Clock_Ip_IrcoscConfigurations_0), /* Ircosc configurations */
(&Clock_Ip_XoscConfigurations_0), /* Xosc configurations */
(&Clock_Ip_PllConfigurations_0), /* Pll configurations */
(&Clock_Ip_SelectorConfigurations_0), /* Selectors configurations */
(&Clock_Ip_DividerConfigurations_0), /* dividers configurations */
(&Clock_Ip_DividerTriggerConfigurations_0), /* dividerTriggers configurations */
(NULL_PTR), /* fracDivs configurations */
(NULL_PTR), /* extClks configurations */
(&Clock_Ip_GatesConfigurations_0), /* gates configurations */
(NULL_PTR), /* pcfs configurations */
(&Clock_Ip_CmuConfigurations_0), /* cmus configurations */
(&Clock_Ip_ConfiguredFrequencyConfigurations_0), /* configureFrequencies configurations */
},
};
三、函数调用
void System_Init(void)
{
//printf("*** hellow world ^_^ ************************************* 16021037 \n");
/* System clock initialization */
Clock_Ip_Init(&Clock_Ip_aClockConfig[0]);
}