资质证书
【48812】9种单片机常用的软件架构
2024-08-15 - 资质证书

  这是最简略的一种程序规划办法,也便是咱们在入门时写的,下面是一个运用C言语编写的线性

  模块化架构是一种将程序分解为独立模块的规划办法,每个模块履行特定的使命。

  下面是一个运用C言语编写的模块化架构示例,该程序模仿了一个简略的交通讯号灯操控体系。

  层次化架构是一种将体系分解为多个层次的规划办法,每个层次担任不同的功用。

  着以下是一个运用C言语编写的层次化架构示例,模仿了一个具有不一样权限等级的嵌入式体系。

  事情驱动架构是一种编程范式,其间程序的履行流程由事情(如用户输入、传感器改变、定时器到期等)触发。

  以下是一个运用C言语编写的事情驱动架构示例,模仿了一个根据按键输入的LED操控。

  事实上,真实的事情型驱动架构,是很杂乱的,我职业生涯的巅峰之作,便是用的事情型驱动架构。

  在单片机开发中,状况机常用于处理杂乱的逻辑和事情序列,如用户界面办理、协议解析等。

  以下是一个运用C言语编写的有限状况机(FSM)的示例,模仿了一个简略的主动售货机的状况转化。

  不过在单片机因为资源约束,OOP并不像在高档言语中那样常见,可是一些基本概念如封装和笼统依旧能被运用。

  尽管C言语自身并不直接支撑面向对象编程,但能够终究靠结构体和函数指针模仿一些面向对象的特性。

  下面是一个简化的示例,展现如安在C言语中模仿面向对象的编程风格,以51单片机为布景,创立一个简略的LED类。

  这个示例仅用于展现如安在C言语中模仿面向对象的风格,并没用真实的面向对象编程言语的特性,如承继和多态,不过关于单片机的运用,足以。

  在单片机开发中,假如没用实时操作体系,咱们咱们能够经过编写一个简略的轮询调度器来模仿根据使命的架构。

  以下是一个运用C言语编写的根据使命的架构的示例,该程序在51单片机上完成。

  为了简化,咱们将运用一个简略的轮询调度器来在两个使命之间切换:一个是按键扫描使命,另一个是LED闪耀使命。

  这儿仅仅举个简略的比如,这个代码示例,更适合51和stm8这种资源十分少的单片机。

  在署理架构中,每个署理(Agent)都是一个独立的实体,它封装了特定的决议计划逻辑和数据,并与其他署理进行交互。

  在实践项目中,需求创立多个独立的使命或模块,每个模块担任特定的功用,并经过某种机制(如音讯行列、事情触发等)进行通讯。