(1)熟悉GPT的配置参数,实际操作找出阅读文档没有注意的问题
(2)实现定时器中断,改变LED电平
Window10
服务器:windows
和服务器交互软件 winscp574 putty
Autosar Version: 4.2.2
Tresos studio 23.0
MCAL Version: S32K14X_MCAL4_2_RTM_HF8_1_0_1
Compiling environment:greenhill 201714
调试环境:ic5000
DIO 在实验一已经配置过了,这里不再涉及。
1.通过EB修改MCAL中GPT的配置
2.在EB中验证配置,生成output输出文件
3.拷贝MCAL工程文件替代模板工程中的MCAL工程文件
4.执行模板工程文件中的copy批处理文件,拷贝到指定位置
5.通过winscp 上传工程到服务器
6.通过putty执行编译命令
7.将编译过得工程下载到local
8.通过ic5000下载调试,观察现象
第一步配置硬件
第二步配置参考时钟
参考时钟由 MCU>>McuClockSetting>>McuClockSettingConfig_0>>McuClockReferencePoint该标签页配置得到。
配置说明:通过LPIT关键字检索该芯片的芯片手册,可以得到下图,从中我们可以看到输入源有哪些时钟,选择一个合适的。这里选择LPIT_CLK
第三步配置GPT通道还有通知函数
第四步还要配置工程中的中断向量表
涉及到的文件分别为:Vector_core.s loHwAB.c s32k146.h
Vector_core.s 中为函数入口
s32k146.h 定义了中断号
loHwAB.c 文件中根据中断号和中断处理函数名 注册 中断
具体实现如下(参照上下代码也能看懂):
初始化部分
Gpt_Init(&GptChannelConfigSet);
Gpt_EnableNotification(GptConf_GptChannelConfiguration_GptChannelConfiguration_0);
Gpt_StartTimer(GptConf_GptChannelConfiguration_GptChannelConfiguration_0, 4000000);//40000为1ms
关于定时时间:根据时钟源而定,这里时钟源的频率为4.0E7,故定时1ms需要计数到40000, 周期、频率、和tick的关系要弄明白。
实现部分
void Gpt_LPIT0_Notification(void)
{
static int RGB_LED_status = 0;
if(RGB_LED_status==0)
RGB_LED_status =1;
else
RGB_LED_status =0;
Dio_WriteChannel(DioConf_DioChannel_RGB_LED,RGB_LED_status);
}