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

e2studio开发RA2E1.7--定时器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)。

c 复制代码
    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);   

启动GPT PWM模块

R_GPT_Start() 用于启动GPT(General PWM Timer)定时器,使其开始按照之前的配置运行。

必须先调用 R_GPT_Open(),否则 R_GPT_Start() 会返回 FSP_ERR_NOT_OPEN 错误。

在PWM模式下,启动定时器后会按照设定的周期和占空比输出PWM波形。

c 复制代码
    /* Start the timer. */
    (void) R_GPT_Start(&g_timer8_ctrl);   

演示

输出1k占空比50%的PWM。

相关推荐
点灯小铭3 小时前
基于单片机的电子琴设计与乐曲存储播放实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
hemama_3 小时前
STM32F103VET6开发板例程(一)-LED
stm32·单片机·嵌入式硬件
奋斗的牛马4 小时前
FPGA--zynq学习 PS与PL交互(二) HP接口
单片机·嵌入式硬件·学习·fpga开发·信息与通信
ACP广源盛139246256736 小时前
GSV1016/ACP#HDMI2.0 HDCP1.4 发射器(TTL/LVDS 输入 + 音频插入)技术解析
单片机·嵌入式硬件·音视频
d111111111d7 小时前
STM32中为什么会有APB1和APB2两个外设有什么区别
笔记·stm32·单片机·嵌入式硬件·学习
ACP广源盛139246256737 小时前
GSV6505F---1 In to 4 Out HDMI 2.1 Splitter with Embedded MCU
单片机·嵌入式硬件·音视频
ThreeYear_s7 小时前
【FPGA+DSP系列】——CCS联合proteus仿真DSP工程,以TMS320f28027芯片为例,LED闪烁仿真。
单片机·fpga开发·proteus
2501_925317137 小时前
【底层奥秘与性能艺术】让 RTOS 在 48 MHz MCU 上跑出 0.5 µs 上下文切换——一场从零开始的嵌入式“时间革命”
单片机·嵌入式硬件·#嵌入式·#嵌入式开发·#rtos
-凌凌漆-8 小时前
【嵌入式】单片机fft
单片机·嵌入式硬件
南棱笑笑生9 小时前
20251107给荣品RD-RK3588-MID开发板跑Rockchip的原厂Android13系统时适配8寸屏的CTP【使用荣品的DTS】
单片机·嵌入式硬件·rockchip