AUTOSAR实验七 PWM和呼吸灯
目录
一、实验目的
二、实验环境
三、实验步骤
四、Port配置
五、MCU配置
六、PWM配置
七、主程序
八、函数参数解析
====================================================================
一、实验目的
(1)熟悉pwm和port的配置参数,实际操作找出阅读文档没有注意的问题
(2)采用pwm调节灯亮度
二、实验环境
Window10
服务器:windows
和服务器交互软件 winscp 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
三、实验步骤
1.通过EB修改MCAL的配置,配置pwm和板载RGB灯
2.在EB中验证配置生成output输出文件
3.拷贝MCAL工程文件替代模板工程中的MCAL工程文件
4.执行模板工程文件中的copy批处理文件
5.通过winscp 上传工程
6.通过putty执行编译命令
7.将编译过得工程下载到local
8.通过ic5000下载调试
9.涉及到的模块:port模块,mcu模块(FTM时钟)、pwm模块
10.涉及到的中断 用到了FTM中断,中断在PwmHwConfiguration中配置。无需在loHwAB.c中设置。
四、Port配置
port端口之前已经配置完成,但是这里要说明一下配置命名的问题。配置命名可以按功能来划分,可以按照引脚顺序来划分,命名也分别是以功能和引脚号命名。哪一种命名方式更好呢?
根据功能命名看起来更直观,查找更便捷,但是PortPin Id是按顺序分配的,不利于后期的修改;
根据引脚顺序命名,把用到和没用到的引脚都分配,这样后期修改的工作量就减少了,但需要根据引脚去查找对应的功能,当然也可以在名字后面加上功能,那样就太长了。
总的来说,像pwm这样配置完成后不怎么使用它的名字的,用引脚名会更加方便,如果是GPIO样对每一个引脚操作需要使用它的名字的,用功能会更加方便。
五、MCU配置
六、PWM配置
PWM配置分为PwmChannel、PwmFtmModule、PwmHwConfiguration三部分。
PwmChannel配置
1.路径是PwmFtmModule配置的路径
2.是否允许在pwm周期变化,在主程序中变化周期的话,这个要设置为相应的模式,否则会出错
3.设置pwm的极性---开始一段占空比的极性
4.设置pwm的占空比,分辨率是固定了,为0x8000(32768),设定值需要在0-0x8000这个范围内。这里设定的是初始值。
5.设置pwm的参考时钟
1.选择硬件单元
2.预分频 对输入的ftm时钟进行分频,分频后得到一个tick,根据pwm周期的tick个数*tick大小可以得到周期
PwmFtmchannels配置
PwmHwConfiguration配置
在这里打开中断
注意此处的name在哪里使用?
此处的名字仅仅是标识作用,并未在代码中使用,主程序中使用的是PwmChannel中的name
七、主程序
Pwm_Init(&PwmChannelConfigSet);
int step_led_red = 0;
void Gpt_LPIT0_Notification(void)
{
step_led_red +=10;
if(step_led_red > 0x8000)
{
step_led_red = 0;
}
Pwm_SetPeriodAndDuty(PWM_FTM0_CH0_RGB_LED,800,step_led_red);
}
八、函数参数解析
void Pwm_SetPeriodAndDuty(
Pwm_ChannelType ChannelNumber,
Pwm_PeriodType Period,
uint16 DutyCycle)
参数二是周期,参数三是占空比。
占空比:Pwm模块应符合下列占空比缩放方案
0x0000 意味着占空比为 0%
0x8000 意味着占空比为 100%
AUTOSAR实验七 PWM和呼吸灯相关推荐
- 【STM32】HAL库 STM32CubeMX教程七---PWM输出(呼吸灯)
前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1.芯片: STM32F407ZET6/ STM32F103ZET6 ...
- SoC 外设-自定义 ip 实验 PWM实现呼吸灯
SoC 外设-自定义 ip 实验 PWM实现呼吸灯 DS-5 中eclipse更新第二种代码为: /** main.c** Created on: 2021年12月9日* Author: awclou ...
- 嵌入式系统开发13——STM32输出PWM实现呼吸灯
本文主要介绍在STM32F103C8T6上,利用定时器输出PWM波形,进而驱动LED实现呼吸灯. 目录 一.任务要求 二.PWM简介 1.什么是PWM 2.相关概念 3.PWM的产生 4.PWM的通道 ...
- 【mcuclub】PWM(呼吸灯、调节灯亮度)
一.简介 PWM,脉冲宽度调制,是英文"Pulse Width Modulation"的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应 ...
- 【STM32F4教程】第六节:通用定时器之PWM实现呼吸灯
Conceit is the quicksand of success. 自负是成功的流沙. PWM实现呼吸灯 PWM概述 相关概念 PWM设置流程 呼吸灯实现例程 pwm.c main.c PWM概 ...
- STM32学习日记3---定时器TIM3重映射PWM波呼吸灯实验
文章目录 1. 代码 关于PWM波的输出,我们需要用到定时器的4个通道(通用定时器和高级定时器有,基本定时器没有这4个通道)里面的PWM生成.然后查看数据手册,了解定时器的重映射引脚情况.所以配置时, ...
- 【RED-V】驱动 PWM 实现呼吸灯
打开 FreedomStudio 软件,依次在菜单栏中选择[File]->[New]->[Freedom E SDK Software Project]新建工程. 在 Select Tar ...
- 单片机(STC12C5A60S2)内部PWM实现呼吸灯
上个文章写了用单片机的两个定时器给大家实现了呼吸灯,其实上个文章是在为大家解析PWM的原理,今天我们将使用单片机内部自带的PWM来进行呼吸灯设计,自己可以查看该单片机型号的中文资料.所看章节如下: 直 ...
- 【CC2530授课笔记】⑧ PWM实现呼吸灯,RGB三色灯,蜂鸣器播放音乐
摘要 这篇文章通过定时器产生PWM波,控制LED实现呼吸灯的效果,并且通过三路PWM分别控制RGB三色灯,实现了颜色渐变.最后通过调制PWM频率,使用蜂鸣器实现了音乐播放. PWM简介 Pulse W ...
最新文章
- python中的正则表达式
- linux shell 算术运算{expr、bc、dc、(( ))和[ ]}
- php怎么刷新缓存,ZZ PHP立即刷新缓存(输出)的方法
- Software-OO 面向对象思维
- CentOS 7安装教程(图文详解)如下
- Java内存模型–快速概述和注意事项
- memcache 缓存命中率 状态查询
- php 返回object,深入分析使用mysql_fetch_object()以对象的形式返回查询结果
- H5 js 处理localstorage方法封装
- 53. 最大子数组和(JavaScript)
- 基于Ubuntu虚拟机的Linux驱动开发入门
- 软考试题合格率如何?
- [16-8-1]每日总结
- php+仿微信公众号样式,仿微信公众号富文本编辑器
- python 天天基金数据接口
- 深入理解计算机系统 练习题3.8 理解计算机二元操作
- Stern-Brocot树 (生成0-1之间的所有真分数)
- Android SearchView
- 内存映射I/O与端口映射I/O的区别
- Sobel算法优化 AVX2与GPU