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

    文章

    17148

    浏览量

    351192
  • 瑞萨
    +关注

    关注

    35

    文章

    22309

    浏览量

    86305

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

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

收藏 人收藏

    评论

    相关推荐

    基于状态面向对象思想设计按键检测模块

    嵌入式入门学习的教程里面,按键原理普遍被认为是“很简单”的知识点之一,按键输入检测的原理,无非就是通过CPU不断扫描按键引脚的电平状态,或者采用单片机引脚外部中断方式,然后在死循环或者中断服务程序里面处理按键被按下
    的头像 发表于 11-14 11:44 240次阅读
    基于状态<b class='flag-5'>机</b>和<b class='flag-5'>面向</b><b class='flag-5'>对象</b>的<b class='flag-5'>思想</b>设计按键检测模块

    单片机编程语言有哪些选择

    单片机(Microcontroller Unit,MCU)编程是指为单片机编写程序的过程,这些程序控制单片机的行为和功能。单片机广泛应用于嵌
    的头像 发表于 11-01 14:13 549次阅读

    单片机怎么写入程序

    程序通常涉及以下几个步骤: 选择单片机和开发环境 : 确定项目需求,选择合适的单片机型号。 安装相应的开发环境,如Keil、IAR、MPLAB等。 硬件连接 : 将单片机连接到开发板或
    的头像 发表于 10-21 11:21 468次阅读

    keil可以读出单片机程序

    表述存在一定的误解,因为Keil主要是用于编写、编译和调试单片机程序的工具,而不是直接从单片机中读取已编程代码的工具。 一、Keil的主要功能 编程开发 :Keil允许用户使用C语言或
    的头像 发表于 09-02 10:32 955次阅读

    单片机烧录程序用什么软件

    单片机烧录程序单片机开发过程中的一个重要环节,涉及到将编写好的程序代码通过烧录器写入单片机的R
    的头像 发表于 09-02 10:05 1226次阅读

    单片机烧录程序可以重新烧吗

    单片机(Microcontroller Unit, MCU)是一种集成电路芯片,它将计算机的CPU、存储器、输入/输出接口等集成在一块芯片上,用于控制各种电子设备。单片机烧录程序是指将编写
    的头像 发表于 09-02 10:04 1239次阅读

    单片机烧录程序的线比单片机上的少还能烧录吗

    单片机烧录原理 单片机烧录是指将编写好的程序代码通过一定的方式传输到单片机的存储器中,使其能够按照程序
    的头像 发表于 09-02 09:54 501次阅读

    单片机烧录程序的基本步骤是什么

    单片机烧录程序单片机开发过程中非常重要的一步,它涉及到将编写好的程序代码通过一定的方式传输到单片机
    的头像 发表于 09-02 09:47 1050次阅读

    蓝牙模块如何实现单片机和手机端数据互传

    ZX-D30、ZX-D37、ZX-D32等。 蓝牙模块设置 : 将蓝牙模块与单片机连接。通常,蓝牙模块通过串口(UART)与单片机通信。 设置蓝牙模块的工作模式和参数,例如波特率、名称、停止位、数据位等。这通常通过发送特定的AT命令来完成。
    的头像 发表于 07-24 17:59 2486次阅读
    蓝牙模块如何实现<b class='flag-5'>单片机</b>和手机端数据互传

    基于51单片机数字时钟闹钟设计

    本资源内容概要:       这是基于51单片机数字时钟闹钟设计包含了PDF版本电路图、C语言程序源代码(keil软件打开)、proteus仿真。本资源适合人群:      单片机爱好者、电子
    发表于 06-25 10:17 0次下载

    基于51单片机分立器件超声波测距电路图及程序元件清单

    本资源内容概要:       这是基于51单片机分立器件超声波测距电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单
    发表于 06-20 16:17 0次下载

    基于51单片机8路抢答器电路图proteus仿真及程序

    本资源内容概要:       这是基于51单片机8路抢答器电路图proteus仿真及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开
    发表于 06-19 14:15 1次下载

    基于51单片机16路抢答器电路图及程序元件清单

    本资源内容概要:       这是基于51单片机16路抢答器电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单(excel表格
    发表于 06-19 11:38 2次下载

    单片机编程实例介绍

    是指使用特定的编程语言编写控制单片机工作的程序。 在本文中,将为您提供一些常见的单片机编程实例,包括基础应用、传感器应用、通信应用等方面的案例。 一、基础应用 LED流水灯 流水灯是最
    的头像 发表于 01-16 09:37 2627次阅读

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

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