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

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

3天内不再提示

干货分享 | 《使用面向对象的思想编写单片机程序》

瑞萨嵌入式小百科 来源:未知 2023-07-17 12:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

2297a9b8-2457-11ee-962d-dac502259ad0.gif

本文内容转自百问科技,原文:百问网新作《使用面向对象的思想编写单片机程序》

自2005年以来,我一直从事Linux开发,但对于单片机始终没有产生兴趣,原因是觉得单片机太过简单了,Flash和RAM只有几十KB,感觉就像是在螺蛳壳里面打坐,能展现出什么新花样呢?直到最近两年,我经历了一次震撼。

我有幸在某机器人公司看到了一个基于单片机和rtos开发的猫砂机器人代码,抛开rtos内核源码,他们自己实现的源文件就超过了3000个。这让我意识到,单片机也可以用于开发大型项目!我开始思考如何管理如此庞大的代码量?

在Linux项目中,我们不需要关注寄存器级别的操作,那么在单片机领域是否也可以做到呢?

在Linux项目中,我们将项目拆分为多个子系统,并进一步将子系统拆分为多个层级,编程时要么使用C++的类,要么使用C语言的结构体,那么在单片机领域,这种做法可行吗?

随着单片机性能的提升,我们能够实现的项目功能也越来越多,对单片机工程师的要求也越来越高。过去,我们只需要一个while循环来处理所有事情;现在,我们引入了RTOS,使用多任务系统。过去,我们以面向过程的方式编写程序,需要什么就写什么;现在,我们以面向对象的方式编写程序,先抽象出一个类或结构体,再进行编程。

刚接触面向对象编程时,你可能会觉得:这是什么鬼?明明一个简单的功能,为什么要创建多个结构体并进行注册?

过去只需要几行代码就能解决问题,现在却分散到2、3个文件中了!然而,在我的教学生涯中,一旦学生们掌握了面向对象的编程思想,他们就再也回不去了:他们无法忍受过去的代码。

我一直想在单片机领域推广“面向对象的编程思想”,但一直没有找到合适的单片机以及对应的软件库来支持我的想法。直到我开始使用瑞萨ARM内核的RA MCU及其软件包FSP,我确信这就是讲解面向对象编程时需要用到的单片机和软件包。瑞萨MCU的软件包FSP就是基于面向对象的思想编写的。

对于每个设备,我们可以定义好接口,抽象出相应的结构体,并对其进行实现。再结合FSP RASC图形化配置工具和代码生成工具,我们使用瑞萨MCU时,变得异常简单!我们不再需要关注寄存器级别的代码,也不再需要重复造轮子,可以将精力集中在业务逻辑和算法上。

得益于瑞萨强大的MCU、强大的软件开发工具,也得益于瑞萨和RA生态工作室提供的支持,我们团队编写了《ARM嵌入式系统中面向对象的模块编程方法》

  • 讲解面向对象编程在单片机开发中的使用

  • 结合FSP软件包实例分析外设驱动

  • 讲解如何使用RASC配置片上设备

  • 教你如何编写面向对象编程

  • 更讲解如何操作外接的模块:引入大型项目中的编程思想

单片机工程师们,很多没有软件工程的概念,编写的程序结构不好,不易移植、不易扩展。软件专业的工程师们,又没有嵌入式的基础,总觉得跟硬件打交道很难。

适用范围

  • 给单片机工程师介绍软件工程的概念,把项目拆分为子系统,分层设计子系统,编写代码时使用面向对象的思想

  • 给软件专业的工程师讲解硬件知识、教你编写驱动程序

  • 想提升编程水平的工程师:现在MCU的性能越来越强,能做的项目越来越大,一个C文件里实现所有功能的方法不适合大项目了

目录

22c6ae7a-2457-11ee-962d-dac502259ad0.jpg

DshanMCU-RA6M5开发板

231ca37a-2457-11ee-962d-dac502259ad0.jpg236afc50-2457-11ee-962d-dac502259ad0.jpg239fcc96-2457-11ee-962d-dac502259ad0.jpg23fd4c72-2457-11ee-962d-dac502259ad0.jpg2445571a-2457-11ee-962d-dac502259ad0.jpg

1

END

1


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

    关注

    147

    文章

    18604

    浏览量

    386651
  • 瑞萨
    +关注

    关注

    36

    文章

    22429

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机程序的执行

    更快的SRAM中,以得到更快的执行速度。而对于,单片机而言工作频率也就几M,几十M,从Flash中与从RAM中读的差异可能并不明显,不会成为程序执行的瓶颈。 而对于PC而言,Flash的速度太慢
    发表于 12-04 06:20

    为什么单片机还在用C语言编程?

    说起单片机我们就会想到C语言,单片机为什么还在用C语言编程?现在有很多很好用的高级语言,如VC、PYTHON、PHP等等,为什么这些语言不能用来编写单片机
    发表于 11-28 07:37

    编写简单高效单片机汇编程序

    的行数多并不一定意味着效率低。 关键在于写代码时避免冗余,灵活运用模块化设计和单片机资源。 最终程序既要高效运转,又不失结构清晰。 汇编语言的难点在于编写简短而高效的代码,需要理解单片机
    发表于 11-24 07:00

    单片机的误区

    任何单片机程序编写。根本就不要学去C语言的高级用法,即使你用C语言的最基础的语句能够完成程序编写,底层运行的机制是学习重中之重! 等你积
    发表于 11-14 07:46

    单片机烧录原理是怎样的?辉芒微单片机烧录程序详细步骤讲解

    烧录(Programming)就是把 .hex/.bin 文件里的机器码搬运进单片机片内 Flash 的过程。辉芒微(FMD)单片机内部有一块 自举 BootROM,上电时会先跑这段程序;如果检测
    的头像 发表于 09-17 16:14 1375次阅读
    <b class='flag-5'>单片机</b>烧录原理是怎样的?辉芒微<b class='flag-5'>单片机</b>烧录<b class='flag-5'>程序</b>详细步骤讲解

    【老法师】多核异构处理器中M核程序的启动、编写和仿真

    有很多研究单片机的小伙伴在面对多核异构处理器时,可能会对多核的启动流程感到困惑——因为不熟悉GCC编程和GDB调试,所以也无法确定多核异构处理器的程序是否能像单片机那样方便地编写和仿真
    的头像 发表于 08-13 09:05 3627次阅读
    【老法师】多核异构处理器中M核<b class='flag-5'>程序</b>的启动、<b class='flag-5'>编写</b>和仿真

    单片机的储存优点是什么

    单片机作为嵌入式系统的核心,其储存系统是实现数据存储与程序运行的关键部分。与独立存储芯片相比,单片机的储存单元在集成度、功耗、可靠性等方面具备独特优势,这些优点使其能适应从消费电子到工业控制的多样化
    的头像 发表于 07-31 10:09 483次阅读

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要
    的头像 发表于 07-25 11:39 471次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 438次阅读

    单片机怎么烧程序

    单片机程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是
    的头像 发表于 07-23 11:47 645次阅读

    STC单片机范例程序

    电子发烧友网站提供《STC单片机范例程序.zip》资料免费下载
    发表于 06-04 16:27 8次下载

    2.4寸TFT彩屏配套测试程序-51单片机

    如题,2.4寸TFT彩屏配套测试程序-51单片机
    发表于 06-04 16:26 0次下载

    完整版—单片机编程思想(推荐下载!)

    单片机的编程思想,希望能帮助大家写出简明的代码 内容简介 以单片机裸环境为基础,为编程者定义了一个微操作系统(MOS)的编程环境,并面向应用中不断提高的需求对编程策略进行了深度剖析与
    发表于 04-16 15:06

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的单片机和开发环境可能使用不同的调试工具和命令
    的头像 发表于 12-19 09:56 2156次阅读

    单片机Debug与仿真区别

    是指在软件或硬件开发过程中,通过特定的工具和技术来查找、诊断和修复错误的过程。在单片机开发中,Debug通常涉及到以下几个方面: 硬件调试 :检查单片机的硬件连接是否正确,包括电源、时钟、I/O接口等。 软件调试 :使用调试器(Debugger)来检查
    的头像 发表于 12-19 09:47 1399次阅读