掌上单片机实验室 – RT-Thread 下实现运动功能(19)

掌上单片机实验室 – RT-Thread + ROS2 初探(25) 得知 ROS 升级为 ROS2 后,将 rosserial 升级为可以在单片机上运行的 Micro_ROS,大大提升了性能。关键是 RT-Thread 中包含了 Micro_ROS 软件包,正好可以尝试一下,。于是有了文中的经历。 阅读详情

一、背景

        前面已经完成基于 RT-Thread 的应用程序框架,并且尝试了加入简单的硬件测试功能,确定应用框架可以方便的实现应用功能。

        本篇开始,将前面基于 FreeRTOS 及Arduino 所做的小车实际驱动功能在 RT-Thread 应用框架下实现,编写更解决实际应用场景的练习程序,看看深入使用 RT-Thread 是否会遇到问题,相较于 Free RTOS及Arduino 有无亮点。

二、需求

        程序功能需求不变,此处就不再赘述,如有兴趣可以翻阅前面“掌上实验室 – 实现运动功能”一文。

        在 RT-Thread 框架下实现,基于 RT-Thread Studio 编程,主要是化解两者之间的不同,基于 RT-Thread 的特性及所提供的资源,实现原来 Arduino 下有但 RT-Thread下没有或不同的功能。具体如下:

  1. Arduino下实现C++的功能比较简单,只需按C++规则编写代码即可,规则不是很严格。基于 RT-Thread Studio 改如何编写?
  2. 由于 RT-Thread 没有提供以us为单位的读系统时间函数(micros()),需要替换为基于RT-Thread 的功能。
  3. 因为原来是直接使用的Arduino 库函数(PID库),只需安装后加入头文件即可。此处需要将库作为源程序加入工程。

        主要差别就是这些。

三、实施

3.1 程序中 C++ 类的使用

        原来程序中,由于 Arduino 可以使用类定义,故为了学习更多的内容,尝试用类定义的方式实现电机驱动功能,因为小车两侧的电机驱动需求是一样的,可以编写一套处理代码,同时供两侧电机使用。

        虽说使用函数用传递参数的方式同样能实现,但从学习角度,尝试一下C++的类概念也不错,且确实通过类实现可读性感觉更好一些。

        但 RT-Thread Studio 的资料中没有示例说明如何使用 C++,先按自己理解尝试了一些,未果。网上搜相关资料,有点启发,但不系统。

        经不断试错,总算搞定,梳理后大致

掌上单片机实验室 – RT-Thread 激活程序1(15) 在掌上单片机实验室硬件平台上,尝试应用 RT-Thread,这是第一个程序,使用 RT-Thread 官方的 RT-Thread Studio 开发环境,完成电机 PWM 驱动,涉及 PIN及 PWM 组件。 阅读详情

相关推荐

掌上单片机实验室 – RT-Thread 运行性能评估(21)

在 RT-Thread 下实现了小车的基础控制功能,但要判断 RT-Thread 是否适合这类实时性控制场景,需要检测评估一下其运行性能。从我的经验看,栈运行监测、外部中断响应时间、CPU占用率是需要测试的,因为这是基于 OS 编程需要关注的问题。实际测试后,感觉不错,我觉得可以应用于大多数场景!

embedream的专栏 1692

掌上单片机实验室 – RT-Thread 之RISC芯片尝试(22)

想尝试基于 RISC-V 架构单片机 CH32V307 跑 RT-Thread 程序,结果发现还不具备作为开发应用程序的条件,需要芯片厂家进一步完善支持,应该要做到或接近 STM32的支持水准,否则无法成为一个被开发人员接受的芯片,至少在跑 RT-Thread时。 估计芯片厂家苦于人手不足,建议厂家尝试发挥网络的力量,借鉴维基百科的机制,快速打造出符合实际开发需求的支持包,从而使芯片和系统都能为国人所接受。

embedream的专栏 1362

掌上单片机实验室 – RT-Thread 激活程序2(16)

本篇继续完成激活程序的后两部分,涉及 IO 中断及模拟量采集,IO中断所用的 Pin 组件已经由工程模板帮助安装了,此处按前一篇的方式添加 ADC 组件,验证一下前面总结的是否正确。

embedream的专栏 415

掌上单片机实验室 – 走出屏幕的 ROS 小海龟(27)

在上一步的基础上,完成了使用 turtle_teleop_key 节点控制虚拟和现实两个小海龟,将基于 micro_ros 软件包实现单片机和 ROS2 主机通讯的流程全部打通,后面就可以进一步尝试ROS2 的功能了。

embedream的专栏 975

掌上单片机实验室 – 基于 RT-Thread 框架的第一个应用(18)

基于 RT-Thread 应用程序框架,将前面实现的 RTT 激活程序加入到框架中,作为硬件测试功能,创建一个测试线程,将三个硬件激活功能作为基本测试操作,用串口指令操作执行。目的是感受一下 RT-Rhread 的多线程应用,以及线程间的同步、通讯功能。

embedream的专栏 263

RTT学习笔记3-时钟定时器管理

基本知识 RT-Thread 中,时钟节拍的长度可以根据 RT_TICK_PER_SECOND 的定义来调整,等于 1/RT_TICK_PER_SECOND 秒 获取时钟节拍 rt_tick_t rt_tick_get(void); 定时器分类 硬件定时器 软件定时器 触发方式分类 单次触发 周期触发 HARD_TIMER 模式 HARD_TIMER 模式的定时器超时函数在中断上下文环境中执行,可以在初始化 / 创建定时器时使用参数 RT_TIMER_FLAG_HARD_TIMER 来指定。 对

Car12 1027

rtthread详解

rt_thread详解rt_thread详解rt_thread详解rt_thread详解rt_thread详解

rt-thread-3.1.3_rtthread_RT-Thread_nano_rtthreadopenocd_RT-Threa

rtthread nano的模板,有基本的内核部分,可以完成线程调度、信号量传递等等

Latex里面关于作者名字显示有灰色; 二级+三级标题斜体;

Latex里面关于 作者名字显示有灰色; 二级+三级标题斜体,与正文的距离; 邮箱字体;ORCID字体设置(整理不易,请先关注,Thanks)

m0_61015717的博客 746

SARScape实战:集成GACOS数据优化InSAR大气校正全流程

本文详细介绍了如何在SARScape软件中集成GACOS数据,以优化InSAR大气校正的全流程。通过实战步骤,从GACOS数据申请、下载、导入,到在单景干涉图和SBAS-InSAR流程中应用,有效剥离大气相位延迟,显著提升形变监测结果的精度与可靠性,实现从“雾里看花”到“拨云见日”的转变。

weixin_28419039的博客 399

【FDTD运行引擎错误解决方法】

我用的是2024R1版的FDTD,第一次安装好的时候点“RUN”可以正常运行,后来不知道什么问题就无法运行了。我从网上找相关的解决办法,并未找到,将软件卸载重装,重启等方法都没有解决,后来在官网按照提示解决了,我把官网提供的方式和我的情况相结合,提供一个解决方式。提示:以下是本篇文章正文内容,下面案例可供参考最后说一下两个MPI和Local computer(不使用MPI)的区别使用MPI进行仿真可以显著提高计算速度和效率,特别是对于大规模和复杂的仿真任务,但需要额外的设置和配置。(多线程并行计算)

m0_57410975的博客 8171

海天注塑机弘讯控制器Modbus数据采集实战指南

工业设备数据采集是MES系统、设备监控和工艺追溯的基础,其中注塑机联网是车间数字化的关键环节。Modbus协议作为工业通信的事实标准,以简单、开放、低成本的优势,成为海天注塑机弘讯控制器对外提供数据的主要方式。理解控制器型号与通信参数、捋清寄存器点位表与字节序规则,是稳定采集的前提。通过RS485串口或以太网轮询,可以实时获取产量、温度、压力、报警等关键数据,进而支撑OEE统计、质量追溯与异常监控。本文基于实战项目,以海天注塑机弘讯控制器为例,梳理从接线、参数配置到点位验证的完整流程,为现场工程师提供一套可

weixin_28733777的博客 905

【2025软考高级架构师】基础知识部分——6、软件架构设计

(1)架构是对系统的抽象(2)架构由多个结构组成(3)任何软件都存在架构(4)元素及其行为的集合构成架构的内容(5)架构具有“基础”性(6)架构隐含有“决策”

qq837993702的博客 1万+

DaVinci配置DID之二:工具链配置

本系列主要基于DaVinCi工具链来展开具体DID读写的配置以及最终实现。1,CDD准备2,工具链配置3,代码实现4,验证结果本文讲述流程2话不多说,走你~博主也是AutoSar小白,如果哪里表达的有问题,还请大佬们指点指点哈。接下来,让我们在下章关于代码具体实现的博文再相会哈~

weixin_48498880的博客 5739

SAR成像专栏目录

为方便大家阅读,我做了一个专栏目录,蓝色字有超链接,可以直接打开。 本专栏默认读者已具备雷达系统的基本知识或者已阅读过雷达导论专栏中的文章。 1. 概述 SAR成像概述 星载SAR的各项指标解读(史上最全) SAR成像算法的实现途径与算力分析 2. SAR成像原理与SAR系统简介 雷达与分辨率 SAR成像原理与方法 SAR图像的形成和处理 SAR系统设计 3. 点目标仿真 点目标仿真(一)—— 数学模型 点目标仿真(二)—— Matlab仿真 4. 成像算法 更新中 雷达导论专

7462

数据权限设计

随着IT新技术不断完善成熟,企业数字化建设得到全面的发展,数据将成为一个创造财富的重要来源,并且越来越多地被视为一项值得重视的企业资产。未来,很多企业之间的竞争,其实也是资源和数据竞争。那么针对数据资产,如何保障它的安全性呢?数据的权限管理无疑是必不可少的。数据权限从数据源来控制不同的用户能够查看、使用和授权不同的数据表数据(其实就是数据表行列的管控),就如同筑起了一道道护城墙,为数据安全提供了保障。

qq_40664711的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 掌上单片机实验室 – 基于 RT-Thread 框架的第一个应用(18)
下一篇: 掌上单片机实验室 – RT-Thread 下实现PID自整定(20)
嵌入之梦
博客等级 码龄21年 134粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入之梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值