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

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

3天内不再提示

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

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

    关注

    146

    文章

    16250

    浏览量

    345606
  • 瑞萨
    +关注

    关注

    32

    文章

    22227

    浏览量

    85190

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

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

收藏 人收藏

    评论

    相关推荐

    单片机代码自动生成器程序

    和输入/输出设备的芯片。它通常用于嵌入式系统中,能够完成一系列特定的任务。开发人员编写单片机代码负责指导单片机执行相应的任务。然而,编写单片机
    的头像 发表于 01-08 14:12 1683次阅读

    keil5mdk怎么编写51单片机程序

    编写51单片机程序需要以下步骤: 编写程序框架:首先,你需要定义程序所需要的变量和常量,以及设置中断向量和寄存器的初始状态。这些信息可以根据
    的头像 发表于 12-25 14:54 851次阅读

    pic单片机汇编程序实例

    以下是一个简单的PIC单片机汇编程序示例,这个程序将实现一个LED闪烁的功能。 首先,我们需要了解PIC单片机的结构和指令集。PIC单片机
    的头像 发表于 12-14 11:01 1000次阅读

    浅谈C语言面向对象编程思想

    C语言是一种面向过程的语言,但是也可以用结构体和函数指针来模拟面向对象的特性,比如封装、继承和多态。
    发表于 11-02 12:27 402次阅读

    非常实用,推荐一种面向对象思维的单片机程序框架

    非常实用,推荐一种面向对象思维的单片机程序框架
    的头像 发表于 10-24 18:03 360次阅读
    非常实用,推荐一种<b class='flag-5'>面向</b><b class='flag-5'>对象</b>思维的<b class='flag-5'>单片机</b><b class='flag-5'>程序</b>框架

    单片机程序结束后都干嘛去了?

    单片机程序结束后都干嘛去了?
    的头像 发表于 10-17 17:16 443次阅读
    <b class='flag-5'>单片机</b>的<b class='flag-5'>程序</b>结束后都干嘛去了?

    单片机复位的条件 单片机可以复位多少次 程序会导致单片机复位吗

    单片机复位的条件 单片机可以复位多少次 程序会导致单片机复位吗  单片机复位的条件: 1. 上电复位:
    的头像 发表于 10-17 16:44 2532次阅读

    面向对象思想封装IIC、AT24C64驱动

    使用面向对象的编程思想封装IIC驱动,将IIC的属性和操作封装成一个库,在需要创建一个IIC设备时只需要实例化一个IIC对象即可,本文是基于STM32和HAL库做进一步封装的。
    的头像 发表于 10-08 15:35 625次阅读

    51单片机烧写程序的方法

    STC89C51是应用广泛的51单片机,很多人都是通过该单片机入门学习的,单片机的学习需要勤动手。单片机需要烧写程序,要用到相关的软件和硬件
    的头像 发表于 09-11 10:10 4422次阅读
    51<b class='flag-5'>单片机</b>烧写<b class='flag-5'>程序</b>的方法

    什么是单片机解密?单片机解密方法有哪些?

    单片机(MCU)一般都有内部程序区和数据区(或者其一)供用户存放程序和工作数据(或者其一)。为了防止未经授访问或拷贝单片机的机内程序,大部分
    发表于 08-28 09:26 647次阅读

    单片机硬件知识介绍 基于单片机点亮LED灯

    本章的标题名为“点亮你的第一个 LED”,从功能上讲是一项非常简单的工作。其实本章包含的内容比较多,包括单片机硬件知识的介绍、C 语言程序编写程序的下载、LED 功能的验证等。通过
    发表于 07-24 11:48 1254次阅读
    <b class='flag-5'>单片机</b>硬件知识介绍 基于<b class='flag-5'>单片机</b>点亮LED灯

    Linux内核中面向对象编程的实现

    面向对象编程(OOP),是一种设计思想或者架构风格。OO语言之父Alan Kay,Smalltalk的发明人,在谈到OOP时是这样说的。
    发表于 07-21 14:51 384次阅读

    什么是面向对象编程(OOP)?面向对象程序设计

    在编程领域,面向对象编程 (OOP) 是一种强大的范例,使开发人员能够构建复杂且可扩展的应用程序
    的头像 发表于 07-19 14:57 958次阅读

    如何与PIC单片机建立PICKit3程序编写电路?

     在本文中,主要解释如何与PIC单片机建立PICKit3程序编写电路,以下图电路为例,组装在试验板上的程序编写电路是以下电路图的红色部分。
    的头像 发表于 07-10 11:19 1771次阅读
    如何与PIC<b class='flag-5'>单片机</b>建立PICKit3<b class='flag-5'>程序</b><b class='flag-5'>编写</b>电路?

    几种常见的单片机驱动程序设计模式

    单片机开发人员需要掌握的一项基本技能是,了解如何编写驱动程序。在嵌入式系统中,通常有两种类型的驱动程序单片机外围设备驱动
    的头像 发表于 07-10 11:09 3818次阅读
    几种常见的<b class='flag-5'>单片机</b>驱动<b class='flag-5'>程序</b>设计模式