单片机I/O口的结构的详解   1.什么是源型 漏型?什么是上拉电阻?下拉电阻?什么是 线驱动输出 集电极开路输出,推挽式输出?       我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所
# MCU软件架构分层 在现代嵌入式系统中,微控制器(MCU)作为核心计算单元,承担着各类控制任务。为了提高软件的可维护性和可重用性,通常采用分层架构设计。分层架构将复杂的系统分解为多个较小的部分,每一层都有特定的职责和功能。本文将探讨MCU软件的分层架构,介绍其基本概念以及代码示例。 ## 1. 分层架构概述 分层架构通常分为以下几个层次: - **应用层(Application Lay
原创 11月前
771阅读
# MCU软件分层架构的实现指南 在嵌入式系统开发中,软件分层架构是管理复杂性、提高可维护性和可重用性的有效方法。MCU(微控制器)软件分层架构通常分为硬件抽象层(HAL)、中间件、应用层等。本文将带你一步一步地实现MCU的软件分层架构,帮助你理解每一层的功能和实现方法。 ## 流程概览 以下是实现MCU软件分层架构的一般步骤: | 步骤 | 描述 | |------|------| |
原创 8月前
274阅读
**1、什么是MCU?MCU,中文简称单片机。即将CPU、存储器(RAM和ROM)、多种I/O接口等集成在一片芯片上,形成的芯片级计算机。早期MCU架构多是8位为主(例如Intel 8051系列、Atmel AT8/TS8系列、Labs EFM8系列等),且整合开发环境(IDE)也是以8位为主。 近年来,MCU作为物联网的核心零组件,无论在市场规模,还是技术要求上都得到了飞速的发展。随着物联网时代
转载 2023-11-02 18:59:26
368阅读
MCU的程序结构大致有三类:实际是四种:轮询 前后台 时间片轮询 带系统的 裸机系统通常分成轮询系统和前后台系统轮询系统就是在main函数里,让各个功能函数按顺序循环执行,实时性差,不适合有外部事件驱动时情况。前后台系统就是在轮询系统中加入了中断,平时用得比较多,中断在这里称为前台,main函数里面的无限循环称为后台。相比前后台系统,多线程系统的事件响应也是在中断中完成的,但是事件的处理是在线程中
MCU整体工作流程可总结如下:上电——>主时钟起振——>启动代码——>用户程序(main函数)。对于我们应用开发来说,大部分工作重点是在应用程序编写这块。特别是高级MCU的出现,如ARM系列的STM32、LPC等32位MCU,以及芯片原厂的完善底层代码,启动代码已经固化在芯片内部flash(称为BootLoader),或者已经提供完整的汇编启动源码。因此,启动过程这块,我们比较陌
MCU 驱动应用分层架构是现代嵌入式系统设计中一种重要的架构方式。通过将系统划分为多个层次,能够实现更好的模块化、可维护性和可扩展性。本文将逐步分析如何解决MCU驱动应用分层架构的问题。 ### 背景描述 在嵌入式系统开发中,MCU(微控制器单元)驱动的设计常常面临复杂性和可维护性的挑战。为了克服这些问题,分层架构应运而生。分层架构可以有效地将系统划分为多个独立的部分,每一层都有特定的职责。以
原创 7月前
129阅读
新唐MCU软件开发指南—环境搭建设置1. 下载并安装Arm Keil MDK2. 申请免费版的Keil License,并激活新唐(Nuvoton)为使用基于Arm Cortex-M0 和 M23 处理器的 Nuvoton 设备的软件开发人员提供免费的Keil MDK Nuvoton Edition,供商业使用。 如果你使用的是Nuvoton’s Arm Cortex-M4/ M7 的MCU, 那
# 理解与实现 RTE 架构:入门指南 ## 前言 作为一名新手开发者,了解和实现 RTE(Real-Time Engine,实时引擎)架构可能会让你感到困惑。本文将详尽讲述 RTE 架构的基本概念,以及如何在实际开发中实现它。我们将通过清晰的流程、代码示例和类图展示,帮助你逐步掌握 RTE 架构的基本实现。 ## RTE 架构流程 在开始实现 RTE 架构之前,让我们先了解一下整个实现流
原创 11月前
138阅读
前言: 最近参加某公司面试时,被问到为什么采用MPU+MCU架构,而不是纯MPU,或是纯MCU,于是便对网上的资料进行了一些总结。 参考: https://zhuanlan.zhihu.com/p/106860696 utm_source=wechat_session 背景: MPU的全称叫Micro Processor Unit,MCU的全称是Mirco Controller Unit MCU
转载 2024-02-01 18:36:18
15阅读
# 实现AUTOSAR的RTE架构 ## 1. 简介 在开始介绍如何实现AUTOSAR的RTE架构之前,我们先来了解一下RTE的概念和作用。AUTOSAR(Automotive Open System Architecture)是一种开放式的汽车电子系统架构,旨在提高汽车电子系统的可重用性和互操作性。RTE(Runtime Environment)是AUTOSAR架构的核心组件之一,负责管理和协
原创 2023-11-09 13:29:40
317阅读
MCU的主要组成有:内核、储存器、外设。大部分刚接触MCU的人员一般是从关注外设的使用开始,但对于要深入理解MCU工作原理,了解MCU的内核、储存器这两部分内容是很有必要的。本文将以Cortex-M3内核为例对MCU的内核做一个简要分析。主要关注以下三个问题: 问题一、定义:Cortex-M3内核是什么? 问题二、结构:Cortex-M3架构是怎么样的? 问题三、功能:Cortex-M3架构各模块
转载 2023-09-04 12:50:31
749阅读
应用程序架构简单的前后台顺序执行程序:多数人的使用方法,无需考虑程序的具体架构,直接通过顺序编写应用程序即可;时间片轮询法: 介于顺序执行与操作系统之间的一种方法;操作系统:应用程序编写的最优办法,对mcu ram 有一定的要求。详细介绍顺序执行法这种方式较为简单,实时性,并行性要求不高的情况下是一种不错的选择,程序设计简单,思路较为清晰,但是当应用程序较为复杂的情况下,如果没有一个完整的流程图,
转载 2023-10-08 20:44:13
231阅读
对于主电源掉电后需要继续工作一段时间来用于数据保存或者发出报警的产品,我们往往都能够看见产品PCB板上有大电容甚至是超级电容器的身影。大容量的电容虽然能延时系统掉电,使得系统在电源意外关闭时MCU能继续完成相应操作,而如果此时重新上电,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢?本文教您一招解决它! 一、上电失败问题分析1、上电缓慢引起的启动失败&n
大致应用程序的架构有三种: 1. 简单的前后台顺序执行程序,这类写法是大多数人使用的方法,不需用思考程序的具体架构,直接通过执行顺序编写应用程序即可。 2. 时间片轮询法,此方法是介于顺序执行与操作系统之间的一种方法。 3. 操作系统,此法应该是应用程序编写的最高境界。1 顺序执行法这种方法,这应用程序比较简单,实时性,并行性要求不太高的情况下是不错的方法,程序设计简单,思路比较清晰。但是当
转载 2023-12-09 15:30:03
63阅读
MCU(Micro Controller Unit)中文名称为多点控制单元,又称单片微型计算机(SingleChipMicrocomputer),是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。 MCU的分类: MCU按其存储器类型可分为MASK(掩模)ROM、OTP(一次性可编
一、什么叫mcuMcu其实就是单片机,它是英文Microcontroller Unit的简称,中文名字叫微控制器。这个时候可能很多又要问了:单片机是什么?单片机简单来说就是一个可以用来做智能电子产品的芯片,具体看下图。大家每天有90%的几率能接触到基于单片机这种芯片开发的产品。比如说家里的电饭煲、电磁炉、微波炉、空调、洗衣机内部其实都是使用单片机配合不同电路去实现的。除此以外,结合物联网,单片机
转载 2023-10-01 15:22:56
221阅读
STM32 MCU结构简述首先STM32 MCU是什么? 其实他就是一个微控制单元(MicroController Unit)NVIC嵌套向量中断控制器(Nested Vectored Interrupt Controller)(优先级)作用用于为中断分组,从而分配抢占优先级和响应优先级SysTick系统节拍定时器(system TIck )作用具有自动重载和溢出中断功能,所有基于Cortex_M
目录Cortex-M 系列产品线Cortex-M0结构框图Cortex-M0特性Cortex-M0工作模式Cortex-M0工作状态Cortex-M0的寄存器Cortex-M0的中断和异常Cortex-M0的指令集Cortex-M 系列产品线Cortex-M系列是由ARM(Advanced RISC Machines)开发的一系列32位微控制器(MCU)内核。以下是Cortex-M系列的一些常见产
四、Win32 API多线程编程例程例程1 MultiThread1建立一个基于对话框的工程MultiThread1,在对话框IDD_MULTITHREAD1_DIALOG中加入两个按钮和一个编辑框,两个按钮的ID分别是IDC_START,IDC_STOP ,标题分别为“启动”,“停止”,IDC_STOP的属性选中Disabled;编辑框的ID为IDC_TIME ,属性选中Read-only;  
转载 2024-06-06 19:45:24
129阅读
  • 1
  • 2
  • 3
  • 4
  • 5