e2studio开发RA2E1(7)----定时器GPT输出PWM

devtools/2025/2/6 7:34:28/

e2studio开发RA2E1.7--定时器GPT输出PWM

  • 概述
  • 视频教学
  • 样品申请
  • 硬件准备
  • 参考程序
  • 源码下载
  • 选择计时器
  • 新建工程
  • 工程模板
  • 保存工程路径
  • 芯片配置
  • 工程模板选择
  • 时钟设置
  • GPIO口配置
  • GPT定时器
  • GPT定时器属性配置
  • 初始化GPT
  • 启动GPT PWM模块
  • 演示

概述

GPT(通用 PWM 计时器)模块是一个高精度定时器,用于计数事件、测量外部输入信号、生成周期性中断,或输出周期性信号/PWM 信号到 GTIOC 引脚。它广泛应用于定时控制、信号测量、PWM 生成等应用,尤其适用于电机控制、LED 调光、PWM 伺服驱动和 ADC 触发等场景。

最近在瑞萨RA的课程,需要样片的可以加qun申请:925643491。

在这里插入图片描述

视频教学

https://www.bilibili.com/video/BV1rAP2ewEFG/

e2studio开发RA2E1(7)----定时器GPT输出PWM

样品申请

https://www.wjx.top/vm/rCrkUrz.aspx

硬件准备

首先需要准备一个开发板,这里我准备的是自己绘制的开发板,需要的可以进行申请。
主控为R7FA2E1A72DFL#AA0

在这里插入图片描述

参考程序

https://github.com/CoreMaker-lab/RA2E1

https://gitee.com/CoreMaker/RA2E1

源码下载

选择计时器

RA MCU 有两个定时器外设:通用 PWM 定时器 (GPT) 和异步通用定时器 (AGT)。

在这里插入图片描述

新建工程

在这里插入图片描述

工程模板

在这里插入图片描述

保存工程路径

在这里插入图片描述

芯片配置

本文中使用R7FA2E1A72DFL#AA0来进行演示。

在这里插入图片描述

工程模板选择

在这里插入图片描述

时钟设置

开发板上的外部高速晶振为12M.

在这里插入图片描述

需要修改XTAL为12M。

在这里插入图片描述

GPIO口配置

这里配置P100和P101为PWM口。

在这里插入图片描述

查看可视化界面可以得知,对应的是GPT8。

在这里插入图片描述

GPT定时器

操作 “New Stack > Timers >Timer, General PWM (r_gpt)” 在项目中添加GPT定时器的多通道操作功能,特别是用于生成PWM信号或单次脉冲信号。

在这里插入图片描述

GPT定时器属性配置

● Pin Output Support:设为 Enabled,允许 PWM 信号输出到外部引脚。
● Name:设置为 g_timer8,这是模块的唯一标识符,用于代码中引用此定时器实例。
● Channel:设定为 8,表示该定时器使用通道 8 进行计数和控制。
● Mode:设为 Periodic,表示该定时器工作在周期模式,将在设定周期内重复运行。
● Period:周期值设置为 1,即每个完整计数周期的时间间隔。
● Period Unit:单位选择为 Kilohertz(千赫兹),表示输出信号的频率为 1 kHz。

● Duty Cycle Percent:设置为 50%,表示 PWM 输出信号的高电平时间占周期的 50%。
● GTIOCA Output Enabled:设置为 True,启用 GTIOCA(P101)引脚的输出功能。
● GTIOCA Stop Level:设为 Pin Level Low,表示定时器停止时 GTIOCA 输出低电平。
● GTIOCB Output Enabled:设置为 True,启用 GTIOCB(P100)引脚的输出功能。
● GTIOCB Stop Level:设为 Pin Level Low,表示定时器停止时 GTIOCB 输出低电平。

GTIOCA & GTIOCB 输出: 同时启用了 GTIOCA(P101)和 GTIOCB(P100) 两个引脚进行 PWM 输出。

在这里插入图片描述

初始化GPT

R_GPT_Open() 函数用于初始化通用PWM定时器(GPT)模块,并应用相应的配置。它的主要作用是启动定时器,使其按照设定的模式工作,例如周期模式(Periodic Mode)或PWM模式(Pulse Width Modulation Mode)。

在这里插入图片描述

    fsp_err_t err = FSP_SUCCESS;/* Initializes the module. */err = R_GPT_Open(&g_timer8_ctrl, &g_timer8_cfg);/* Handle any errors. This function should be defined by the user. */assert(FSP_SUCCESS == err);   

PWM_150">启动GPT PWM模块

R_GPT_Start() 用于启动GPT(General PWM Timer)定时器,使其开始按照之前的配置运行。
必须先调用 R_GPT_Open(),否则 R_GPT_Start() 会返回 FSP_ERR_NOT_OPEN 错误。
PWM模式下,启动定时器后会按照设定的周期和占空比输出PWM波形。

在这里插入图片描述

    /* Start the timer. */(void) R_GPT_Start(&g_timer8_ctrl);   

演示

输出1k占空比50%的PWM

在这里插入图片描述


http://www.ppmy.cn/devtools/156481.html

相关文章

Ruby 类和对象

Ruby 类和对象 引言 在软件开发中,类和对象是面向对象编程(OOP)的核心概念。Ruby 作为一种动态、解释型编程语言,也以简洁的方式支持面向对象编程。本文将深入探讨 Ruby 中的类和对象,包括它们的定义、创建、使用以及一些高级特性。 类与对象的定义 类 在 Ruby 中,类…

第五期:智能投顾的监管套利艺术 - 基金投顾牌照下的理财破局之道

一、牌照狩猎时代的生存法则 1.1 基金投顾牌照的战略纵深 牌照权限解剖(证监会2024版): 1. 允许代客户作出投资决策(需保存完整决策日志) 2. 收费模式突破:可采用按资产规模收费(0.5%-1.8%/年) 3. 产品池限制:须从持牌机构白名单选取(目前涵盖136家公募基金)…

OpenAI 实战进阶教程 - 第四节: 结合 Web 服务:构建 Flask API 网关

目标 学习将 OpenAI 接入 Web 应用,构建交互式 API 网关理解 Flask 框架的基本用法实现 GPT 模型的 API 集成并返回结果 内容与实操 一、环境准备 安装必要依赖: 打开终端或命令行,执行以下命令安装 Flask 和 OpenAI SDK: pip i…

MATLAB中extractBefore函数用法

目录 语法 说明 示例 选择子字符串前的文本 使用模式提取文件名前的路径 选择位置前的子字符串 选择字符向量中位置前的文本 extractBefore函数的功能是提取指定位置前的子字符串。 语法 newStr extractBefore(str,pat) newStr extractBefore(str,pos) 说明 newStr…

C_位运算符及其在单片机寄存器的操作

C语言的位运算符用于直接操作二进制位,本篇简单结束各个位运算符的作业及其在操作寄存器的应用场景。 一、位运算符的简单说明 1、按位与运算符(&) 功能:按位与运算符对两个操作数的每一位执行与操作。如果两个对应的二进制…

【SLAM】于ubuntu18.04上纯CPU运行GCNv2_SLAM的记录(ARM64/AMD64)

配置GCNv2_SLAM所需的环境并实现纯cpu运行项目的全过程记录。 本文首发于❄慕雪的寒舍 前排提醒:本文所述安装方式只在没有显卡的虚拟机上通过了测试,有显卡的主机涉及到CUDA等显卡依赖项版本问题,本文可能不适用! 1. 环境说明 …

强化学习在自动驾驶中的实现与挑战

强化学习在自动驾驶中的实现与挑战 自动驾驶技术作为当今人工智能领域的前沿之一,正通过各种方式改变我们的出行方式。而强化学习(Reinforcement Learning, RL),作为机器学习的一大分支,在自动驾驶的实现中扮演了至关重要的角色。它通过模仿人类驾驶员的决策过程,为车辆…

【加餐】使⽤指针实现链表

【加餐】使⽤指针实现链表 ​ 面向过程方式和面向对象方式(把面向过程的封装一下就行了)是两种不同的编程方法论