0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用GPT监控变量

瑞萨嵌入式小百科 来源:瑞萨MCU小百科 作者:瑞萨MCU小百科 2024-01-04 12:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在项目调试过程中,需要监控变量通常采用ICS(In Circuit Scope)和DA两种方法。使用ICS会占用MCU的资源(UART)以及增加硬件的成本(ICS硬件板);如果MCU的DA引脚已被其他功能占用,当这两种方法都不是很好的选择的情况下,我们也可以考虑使用GPT来监控变量。这里给大家介绍一下如何使用GPT监控变量。

一、原理说明

用GPT来模拟DA的功能,例如需要监控一个变量t1,我们把t1通过线性计算变换为0~1023之间的值,假设MCU电源为3.3V,当t1为0时输出0V,当t1为1023时输出3.3V,其他值成线性关系。

二、硬件电路

将需要监控变量的GPT输出引脚(GPT)连接如下RC电路,T1为测试点,如下图所示。

aa598dae-aab6-11ee-8b88-92fbcf53809c.png

硬件电路

三、软件配置

以下介绍如何在项目中配置GPT来实现该功能。这里以创建新工程为例,也可以把以下GPT的配置直接加入到已有工程中(从步骤7开始)。

1运行e2 studio,选择“文件”→“新建”→“C/C++ Project”,如图1。

aa6cfeac-aab6-11ee-8b88-92fbcf53809c.png

图1 创建新项目步骤一

e2 studio(瑞萨IDE)

2选择“Renesas RX”和“Renesas CC-RX C/C++ Executable Project”,点击“下一步”,如图2。

aa85827e-aab6-11ee-8b88-92fbcf53809c.png

图2 创建新项目步骤二

3设置项目目录,输入项目名称,点击“下一步”,如图3。

aa9ea722-aab6-11ee-8b88-92fbcf53809c.png

图3 创建新项目步骤三

4选择Toolchain版本,选择MCU型号、“Endian”和仿真器,点击“下一步”,如图4。

aabc30da-aab6-11ee-8b88-92fbcf53809c.png

图4 创建新项目步骤四

5勾选“Use Smart Configurator”,点击“完成”,如图5。

aae0c67a-aab6-11ee-8b88-92fbcf53809c.png

图5 创建新项目步骤五

6创建完成的程序结构如图6。

aaffbd00-aab6-11ee-8b88-92fbcf53809c.png

图6 程序结构图

7点击“Components” → “Add component”,选择“General PWM Timer”,Work mode选择“Saw-wave PWM mode 1”,Resource选择“GPT0”(这里以GPT0为例,也可以选择其他GPT),如图7。

ab127a4e-aab6-11ee-8b88-92fbcf53809c.png

图7 添加GPT0

8配置GPT0,如图8~11。

“Timer operation period” 设为1024 count,如图8;

“Count direction” 设为 “Up-counting”,如图8;

“GTCCRA operation” 的Compare match后的值可以设为0~1023的任意值,这里设为“512”,如图9;

“GTCIV0”的优先级可以根据项目工程自定,这里设为“15”,如图11。

ab2e3be4-aab6-11ee-8b88-92fbcf53809c.png

图8 配置GPT0(1)

ab4f172e-aab6-11ee-8b88-92fbcf53809c.png

图9 配置GPT0(2)

ab66eeb2-aab6-11ee-8b88-92fbcf53809c.png

图10 配置GPT0(3)

ab787600-aab6-11ee-8b88-92fbcf53809c.png

图11 配置GPT0(4)

9因为上面使用了“GTCIV0”中断,点击“Interrupts”,把252改成“GTCIV0”后其状态会变更为“Used”,如图12。

ab925930-aab6-11ee-8b88-92fbcf53809c.png

图12 设置中断

10点击“Generate code”后将会生成GPT0的代码,如图13。

abb29a6a-aab6-11ee-8b88-92fbcf53809c.png

图13 生成GPT0的代码

11在main( )中添加如下代码启动GPT0,如图14。

abd343e6-aab6-11ee-8b88-92fbcf53809c.png

图14 添加GPT0启动代码

12在GTCIV0中断中将监控变量的值设置到比较匹配寄存器GTCCRA中,如图15。

abec0458-aab6-11ee-8b88-92fbcf53809c.png

图15 设置GTCCRA

13以下为假设监控变量的值(即GTCCRA的值)分别为256、512、768时输出的波形,如图16、17、18。

举例说明如何算出监控变量的值:从图16中我们可以看出输出电压为0.83V,从0.83V*1023/3.3V = 257.3反推出监控变量的值为257.3(因为示波器测量电压有误差,所以反推出的值有误差)。

ac080590-aab6-11ee-8b88-92fbcf53809c.png

图16 GTCCRA = 256

ac1b114e-aab6-11ee-8b88-92fbcf53809c.png

图17 GTCCRA = 512

ac2b4cd0-aab6-11ee-8b88-92fbcf53809c.png

图18 GTCCRA = 768

从图16、17、18的波形可以看出来,输出电压会根据GTCCRA值的变化而变化,从而我们可以反推出监控变量的实时值。

通过以上硬件电路和软件配置,我们就实现了用GPT的比较匹配功能来达到监控变量的目的。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19285

    浏览量

    405438
  • 瑞萨
    +关注

    关注

    38

    文章

    22549

    浏览量

    91777
  • 引脚
    +关注

    关注

    16

    文章

    2129

    浏览量

    56232
  • 硬件电路
    +关注

    关注

    39

    文章

    268

    浏览量

    30413
  • GPT
    GPT
    +关注

    关注

    0

    文章

    378

    浏览量

    17048
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    GPT-5震撼发布:AI领域的重大飞跃

    电子发烧友网报道(文/李弯弯)2025年8月8日凌晨1点,OpenAI以一场长达1小时的线上发布会正式推出GPT-5。这场被业界称为“AI进化分水岭”的发布,终结了长达两年的技术猜测,更以多维度性能
    的头像 发表于 08-09 07:44 1.1w次阅读
    <b class='flag-5'>GPT</b>-5震撼发布:AI领域的重大飞跃

    EB GPT PIT1跑飞的原因?如何解决?

    您好,我使用的是K314 172PIN的芯片,目前在基于EB做GPT的PIT中断,我最初使用的是6.0.0最初版本的RTD,使用官方的demo工程是使用的PIT0,通过EB生成代码,在使用官方
    发表于 05-09 12:16

    深度解析 RK 平台 U-Boot 环境变量(env):原理、配置与实战

    环境变量(env)是 U-Boot 的核心配置机制,无需重新编译即可灵活调整启动参数。在 Rockchip(RK)平台上,环境变量不仅继承了 U-Boot 的通用特性,还针对 RK 芯片架构做了大量
    的头像 发表于 04-27 07:11 705次阅读
    深度解析 RK 平台 U-Boot 环境<b class='flag-5'>变量</b>(env):原理、配置与实战

    瑞萨RA系列FSP库开发实战指南之使用GPT输入捕获进行脉宽和周期测量实验

    上一个实验使用了GPT的输出功能,本次实验要使用GPT的输入功能,通过GPT的输入捕获进行脉宽和周期测量。其测量的原理如下图所示。
    的头像 发表于 04-24 10:49 6650次阅读
    瑞萨RA系列FSP库开发实战指南之使用<b class='flag-5'>GPT</b>输入捕获进行脉宽和周期测量实验

    瑞萨RA系列FSP库开发实战指南之使用GPT基本定时功能实验

    本实验较为简单,我们将使用GPT定时器进行定时并产生中断请求触发中断,然后通过这个中断,切换LED的电平。
    的头像 发表于 04-20 15:23 5599次阅读
    瑞萨RA系列FSP库开发实战指南之使用<b class='flag-5'>GPT</b>基本定时功能实验

    请教RTD GPT 配置问题

    ) RTD版本如下图: 我在我的项目中包含一个 GPT。我希望它从 0 到 5000 计数并重新开始。我面临的问题是似乎没有办法配置这个上限。这是一个 16 位计数器,SDK 配置器似乎不喜欢
    发表于 04-15 08:32

    如何在EtherCAT从站上增加模拟量输入AI变量

    要在EtherCAT从站增加模拟量输入AI变量,首先需更新从站设备程序,定义新的AI变量并初始化。
    的头像 发表于 03-11 16:30 339次阅读
    如何在EtherCAT从站上增加模拟量输入AI<b class='flag-5'>变量</b>

    “明牌”对局,自变量开源模型超越pi0

    “明牌”对局,自变量开源模型超越pi0
    的头像 发表于 01-10 12:00 5870次阅读
    “明牌”对局,自<b class='flag-5'>变量</b>开源模型超越pi0

    第7章 变量进阶与点阵LED(7.1 7.2)

    走在马路上的时候,经常会看到马路两侧有一些LED点阵的广告牌,这些广告牌看起来绚烂夺目,非常吸引人,而且还会变化很多种不同的显示方式。本章就会学习到点阵LED的控制方式,同时也会学习C语言变量的进阶
    的头像 发表于 12-10 16:25 562次阅读

    常用变量的介绍

    extern:用在全局变量上表示该变量在其他文件中已经定义;用在函数上作用同全局变量; static:用在全局变量上,和非静态全局变量相比,
    发表于 11-21 07:05

    变量控件实验

    数据、变量、数字等等显示。2、实验设备下载软件一个,HMIMaker下载软件链接,http://www.gz-yixian.com/Download.asp,单片机智能
    的头像 发表于 11-20 15:04 2450次阅读
    <b class='flag-5'>变量</b>控件实验

    GPT-5.1发布 OpenAI开始拼情商

    OpenAI正式上线了 GPT-5.1 Instant 以及 GPT-5.1 Thinking 模型;有网友实测发现OpenAI新发布的GPT-5.1大模型的指令执行能力更强了,可以更可靠地回答用户
    的头像 发表于 11-13 15:49 911次阅读

    PLC中Static和Temp变量的区别

    大家好,收到粉丝投稿,让博主讲下Static变量和Temp变量的区别,新入行的兄弟可能会对这两个概念不太能理解。
    的头像 发表于 09-24 14:51 1778次阅读
    PLC中Static和Temp<b class='flag-5'>变量</b>的区别

    【RA4M2-SENSOR】3、使用GPT定时器-PWM输出

    GPT介绍 通用 PWM 定时器(GPT,General PWM Timer)是 RA MCU 的其中一种 32/16 位的定时器外设。 在 GPT 当中,可分为 GPT32 和
    发表于 09-01 15:20

    OpenAI或在周五凌晨发布GPT-5 OpenAI以低价向美国政府提供ChatGPT

    外界一直在期待的OpenAI新一代大语言模型GPT-5或将发布。据外媒的报道,GPT-5很可能在周五凌晨发布。这是OpenAI在2023年的3月份推出自然语言处理模型GPT-4之后,两年多时候后最受
    的头像 发表于 08-07 14:13 1.6w次阅读