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

    文章

    16984

    浏览量

    350292
  • 瑞萨
    +关注

    关注

    34

    文章

    22290

    浏览量

    86063
  • 引脚
    +关注

    关注

    16

    文章

    1181

    浏览量

    50274
  • 硬件电路
    +关注

    关注

    39

    文章

    241

    浏览量

    29193
  • GPT
    GPT
    +关注

    关注

    0

    文章

    351

    浏览量

    15312

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

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

收藏 人收藏

    评论

    相关推荐

    OpenAI 推出 GPT-4o mini 取代GPT 3.5 性能超越GPT 4 而且更快 API KEY更便宜

    OpenAI推出了GPT-4o mini模型,用来取代GPT-3.5.这是目前市场上最具成本效益的小模型。   该模型在MMLU上得分为82%, 在LMSYS排行榜上的聊天偏好测试中表现优于
    的头像 发表于 07-21 10:20 922次阅读
    OpenAI 推出 <b class='flag-5'>GPT</b>-4o mini 取代<b class='flag-5'>GPT</b> 3.5 性能超越<b class='flag-5'>GPT</b> 4 而且更快 API KEY更便宜

    GPT的定义和演进历程

    GPT,全称Generative Pretrained Transformer,是OpenAI公司在自然语言处理(NLP)领域的一项重大创新。这一模型不仅推动了AI技术的边界,还深刻影响了我们与机器交互的方式。本文将从GPT的定义、来源、演进历程以及其在各个领域的应用和影
    的头像 发表于 07-10 10:41 906次阅读

    宝塔面板Docker一键安装:部署GPTAcademic,开发私有GPT学术优化工具

    使用宝塔Docker-compose,5分钟内在海外服务器上搭建gpt_academic。这篇文章讲解如何使用宝塔面板的Docker服务搭建GPT 学术优化 (GPT Academic)。   在
    的头像 发表于 07-02 11:58 2450次阅读
    宝塔面板Docker一键安装:部署GPTAcademic,开发私有<b class='flag-5'>GPT</b>学术优化工具

    开发者如何调用OpenAI的GPT-4o API以及价格详情指南

    ​目前,OpenAI新模型GPT-4o和GPT-4 Turbo的价格如下: GPT-4o 对比 GPT-4 Turbo GPT-4o 拥有与
    的头像 发表于 05-29 16:00 1w次阅读
    开发者如何调用OpenAI的<b class='flag-5'>GPT</b>-4o API以及价格详情指南

    OpenAI CEO: GPT-4o and GPT-5引领未来12个月编程领域,GPT-5更具潜力

    据报道,OpenAI首席执行官阿莱夫·阿尔特曼在接受Redpoint风投公司LoganBartlett的专访中,透露了最近发布的GPT-40以及即将面世的GPT-5。
    的头像 发表于 05-17 16:25 513次阅读

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

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

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

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

    C语言变量应用详解

    变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。
    发表于 03-18 11:18 344次阅读
    C语言<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

    求助,如何在运行过程中监控变量实时的值?

    如何在运行过程中监控变量实时的值? 在我点击 " resume " 之前,可以看到这个值。 我点击 " resume " 后,看不到这个值。
    发表于 01-22 07:39

    OpenAI推出GPT商店

    近日,人工智能领域的领军企业OpenAI正式推出了其GPT商店和ChatGPT Team服务。这一创新举措旨在为用户提供更加便捷、个性化的AI助手服务。
    的头像 发表于 01-18 15:15 639次阅读

    ros怎么设置环境变量

    设置ROS环境变量是使用ROS的重要步骤之一。本文将详细介绍如何设置ROS环境变量,包括什么是环境变量、为什么要设置ROS环境变量、如何设置ROS环境
    的头像 发表于 12-28 13:52 1953次阅读