AUTOSAR实验三 GPT控制LED周期闪烁

本文介绍了一个使用GPT进行定时器中断并控制LED电平变化的实验。实验在Windows10环境下进行,利用Autosar和Tresosstudio配置GPT参数,通过定时中断实现LED状态切换。文章详细记录了实验步骤、GPT配置过程及代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验目的 

(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下载调试,观察现象

四、GPT配置

第一步配置硬件

第二步配置参考时钟

参考时钟由 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);//400001ms

关于定时时间:根据时钟源而定,这里时钟源的频率为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);

}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值