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

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

3天内不再提示

如何使用GPT监控变量

瑞萨MCU小百科 来源:瑞萨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
    +关注

    关注

    146

    文章

    16021

    浏览量

    343675
  • 瑞萨
    +关注

    关注

    32

    文章

    22214

    浏览量

    84920
  • 引脚
    +关注

    关注

    16

    文章

    1045

    浏览量

    48970
  • 硬件电路
    +关注

    关注

    39

    文章

    233

    浏览量

    28988
  • GPT
    GPT
    +关注

    关注

    0

    文章

    302

    浏览量

    14869

原文标题:如何使用GPT监控变量

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:8,GPT接入,功能整合完成项目

    GPT接入 Github上有一个非常有名的开源项目,曾经还引来了不少争议,这个项目叫gpt4free。实际原理与poe wrapper相似,都是利用网络请求的方法从各个第三方平台的gpt接口来访问
    发表于 04-18 12:43

    如何在IAR IDE中调试基于Cortex-R52的RZ/T&N MPU的变量实时监控

    变量实时监视功能是指IAR Embedded Workbench集成开发环境中提供的实时变量监控功能。
    的头像 发表于 03-27 13:35 635次阅读
    如何在IAR IDE中调试基于Cortex-R52的RZ/T&amp;N MPU的<b class='flag-5'>变量</b>实时<b class='flag-5'>监控</b>?

    TC275如何设定GPT模块分频?

    在illd里没找到相关函数,请问各位高手如何设定GPT模块分频,谢谢。
    发表于 02-22 07:37

    使用TC21x的GPT实现1m计时器执行定时任务,怎么配置GTM和GPT

    专家们好,我想使用TC21x的GPT实现1m计时器执行定时任务,不知道怎么配置GTM和GPT
    发表于 02-06 06:47

    请问TC234芯片中的CCU6 , GTM, GPT12中的pwm区别是什么?

    TC234芯片中的CCU6 , GTM(TIM, TOM), GPT12中pwm捕获与产生的PWM有什么区别?什么时候用CCU6, GTM或GPT12的方式捕获Pwm?什么时候用CCU6, GTM或GPT12的方式产生Pwm?
    发表于 02-05 06:38

    GPT EVAL_BDPS_DRIVER可以使用GPT12 IP或GTM IP来实现连续定时器和单次定时器吗?

    GPT EVAL_BDPS_DRIVER可以使用GPT12 IP或GTM IP来实现连续定时器和单次定时器? 是吗?
    发表于 01-22 08:16

    西门子博途设计 ProDiag 变量监控操作方式

    如果是 FB_Bauteilkontrolle,在检查容器的情况下允许通过 Config-Bit 取消块内部的消息,并且在输出端 Stoexx 将用户定义的变量监控参数化(可从块帮助得知详细信息)。
    发表于 10-25 10:28 1916次阅读
    西门子博途设计 ProDiag <b class='flag-5'>变量</b><b class='flag-5'>监控</b>操作方式

    什么是变量?PLC变量哪些部分组成?

    变量在 TIA Portal 中集中管理。 在程序编辑器中创建 PLC 变量与在 PLC 变量表中创建 PLC 变量没什么区别。 如果在程序或 HMI 画面的多个位置使用某个
    发表于 10-15 11:31 2046次阅读
    什么是<b class='flag-5'>变量</b>?PLC<b class='flag-5'>变量</b>哪些部分组成?

    盘古大模型和GPT3有哪些不同

    盘古大模型和GPT3有哪些不同 盘古大模型和GPT-3都是人工智能领域迈出的重要一步,它们的发展对于人工智能领域的发展都起到了重要的推动作用。但是,盘古大模型和GPT-3在一些方面存在差异,下面将从
    的头像 发表于 08-30 18:28 1360次阅读

    GPT-4没有推理能力吗?

    今年三月,OpenAI 重磅发布了 GPT-4 大模型,带来了比 ChatGPT 背后 GPT-3.5 更强的推理、计算、逻辑能力,也引发了全民使用的热潮。在各行各领域研究人员、开发者、设计师的使用过程中,「GPT-4 是最为领
    的头像 发表于 08-11 14:20 673次阅读
    <b class='flag-5'>GPT</b>-4没有推理能力吗?

    chatGPT和GPT4有什么区别

    chatGPT和GPT4有什么区别 GPT(Generative Pre-trained Transformer)系列模型由OpenAI公司开发,是一组用于自然语言处理(NLP)任务的人工智能模型
    的头像 发表于 08-09 15:18 1803次阅读

    OpenAI已为GPT-5申请商标,GPT-5要来了?

    OpenAI 此前曾在前几代模型(例如 GPT-4 和 GPT-3.5)的商标申请中,使用过同样的“用于使用语言模型的可下载计算机软件”这一描述。但很遗憾,最新申请文件中透露的唯一关键细节就只有“GPT-5”字样,并不代表 Op
    的头像 发表于 08-02 15:51 474次阅读
    OpenAI已为<b class='flag-5'>GPT</b>-5申请商标,<b class='flag-5'>GPT</b>-5要来了?

    态势感知与GPT

     GPT是一种基于Transformer的预训练语言模型,可以用于自然语言处理中的各种任务。在态势感知中,GPT可以用来对文本进行分类和情感分析,从而帮助用户了解当前的舆情和社会热点。例如,在某个
    的头像 发表于 07-07 11:23 355次阅读

    微软提出Control-GPT:用GPT-4实现可控文本到图像生成!

    该研究提出了一个简单而有效的框架 Control-GPT,它利用 LLM 的强大功能根据文本 prompt 生成草图。Control-GPT 的工作原理是首先使用 GPT-4 生成 TikZ 代码形式的草图。如下图 1 (c)
    的头像 发表于 06-05 15:31 491次阅读
    微软提出Control-<b class='flag-5'>GPT</b>:用<b class='flag-5'>GPT</b>-4实现可控文本到图像生成!

    如何将分区格式从MBR更改为GPT

    deployment stage Partitioning》里面有改成mbr的说明。 Q1)imx8m系列的默认分区格式是gpt吗? 我目前正在使用 LF_v5.15.5-1.0.0_images_iMX8MPEVK
    发表于 05-17 09:29