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

一、背景

        前面已经完成基于 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++,先按自己理解尝试了一些,未果。网上搜相关资料,有点启发,但不系统。

        经不断试错ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嵌入之梦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值