开发板测评系列三 | S32K312基于Emios模块实现呼吸灯

本文将通过在S32DS中导入官方Emios例程并进行适配,实现开发板LED的控制,通过这个工程我们将了解开发板的Emios模块的使用。

软件环境

  1. S32DS For S32 Workplace;
  2. S32K3 RTD AUTOSAR 4.4 SDK

硬件环境

  1. Knight S32K312 评估版
  2. J-Link Debug 烧录器

打开S32DS,点击“File” “New” “S32DS Project from Example”,选择出现的对话框中的“S32K3 RTD AUTOSAR 4.4 2.0.1 D2207 Example Projects”,在下面找到“PWM S32K3xx Examples”,选择 “Emios_Pwm_Ip_Example _S32K312”,点击“Finish”完成项目导入。

双击打开项目文件夹下了“Emios_Pwm_Ip_Example _DS.mex”,进入项目配置页面。

按照之前博文的步骤,将芯片封装改为S32K312 100pin以适配Knight 评估板,此步骤略。此时配置页面会报错。首先为引脚页面会报PTA29错误,可能是因为100pin封装无此引脚,亦或是功能不对。我们可以将其删掉。

然后剩下PTB12,PTB16,分别为原封装的两个eMIOS引脚,一个为基准MasterBus,可以理解为reference source;另一个则为原开发板的LED灯引脚。我们可以删除PTB16,改为Knight评估板蓝灯PTB8,选择最后一个复用功能 eMios_1:ch_h,15.

此时尚未解决全部错误,转到外设页面,可以看到Emios相关有两个模块:Emios_Mcl_Ip_1和Emios_Pwm_1.前一个模块即为PTB12作为MaserBus的配置模块,后一个是我们主要关注的,可以进行配置修改的PWM输出的模块。

 打开第二个模块Emios_Pwm_1。在Emios Instance部分,也需要我们删除第一个配置Emios_0,因为原项目设置了两个输出,我们只需要一个输出PTB8(Emios_1,ch15).

删除前

删除后

删除后我们只需要修改Emios的Channel Id为CH_15就可以了。此时更新源代码,就没有错误了。

 回到项目代码页面,main.c文件。这个例程我们将原本的CH4,CH12改为了CH15,且CH12和CH15都属于一个模块Emios_1,所以我们可以注释所有含有CH4的代码,并修改CH12为CH15.

 Define增加CH15:

注释CH4相关代码,替换CH12为CH15:

此时,我们项目的while循环里还不是我们想要的呼吸灯函数,但是可以看出我们可以通过更改PWM的dutyCycle来改变LED灯的亮度,这里我们可以用我们自己的呼吸灯函数替换掉原有的while循环。

编译程序并烧录到评估板,可以看到蓝灯进入呼吸状态,大功告成!

当然,呼吸的快慢,以及更加平滑的呼吸效果,都可以通过修改参数实现,这里就不多赘述了。

文章来自“S32K312 开发板评测活动”测评者:阚準

欢迎在博文下方留言评论,我们会及时回复您的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值