当前位置: 首页 > news >正文

51单片机最强模块化封装(3)

文章目录

  • 前言
  • 一、创建smg文件,添加smg文件路径
  • 二、smg文件编写
  • 三、模块化测试
  • 总结


前言

本篇文章将带大家继续封装我们的代码。
这里我们会封装数码管的操作函数。

一、创建smg文件,添加smg文件路径

这里的操作就不过多解释了,大家自行看前面的文章即可。
51单片机模块化

二、smg文件编写

在smg.h中定义了数码管的位选引脚和数码管的段选IO口。
因为数码管的操作比较简单,所以只需要提供一个函数select_display。
函数有两个参数pos就是想要显示的具体位置,dat就是想要显示的数值。

smg.h

/*此宏作用:防止头文件重复包含*/
#ifndef 

相关文章:

51单片机最强模块化封装(3)

文章目录 前言一、创建smg文件,添加smg文件路径二、smg文件编写三、模块化测试总结前言 本篇文章将带大家继续封装我们的代码。 这里我们会封装数码管的操作函数。 一、创建smg文件,添加smg文件路径 这里的操作就不过多解释了,大家自行看前面的文章即可。 51单片机模块化…...

【CSS 布局】水平垂直居中

CSS 布局-水平垂直居中 一、水平居中 创建一个父盒子&#xff0c;和子盒子 <div class"parent"><div class"child"></div> </div>基本样式如下 .parent {background-color: #fff; }.child {background-color: #999;width: 100p…...

【C++】类和对象--类的6个默认成员函数

目录1.类的6个默认成员函数2.构造函数2.1概念2.2特性3.析构函数3.1概念3.2特性4.拷贝构造函数4.1概念4.2特征5.赋值运算符重载5.1运算符重载5.2赋值运算符重载5.3前置和后置重载5.4流插入和流提取运算符重载6.const成员7.取地址重载和const取地址操作符重载1.类的6个默认成员函…...

常见面试题---------如何处理MQ消息丢失的问题?

如何处理MQ消息丢失的问题? RabbitMQ丢失消息分为如下几种情况&#xff1a; 生产者丢消息&#xff1a; 生产者将数据发送到RabbitMQ的时候&#xff0c;可能在传输过程中因为网络等问题而将数据弄丢了。 RabbitMQ自己丢消息&#xff1a; 如果没有开启RabbitMQ的持久化&#x…...

十四、Linux网络:高级IO

目录 五种IO模型 同步IO 阻塞IO 非阻塞IO 信号驱动IO IO多路转接 异步IO...

带你走进API安全的知识海洋

Part1什么是API API&#xff08;Application Programming Interface&#xff0c;应用程序接口&#xff09;是一些预先定义的接口&#xff08;如函数、HTTP接口&#xff09;&#xff0c;或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访…...

【Java】TCP的三次握手和四次挥手

三次握手 TCP三次握手是一个经典的面试题&#xff0c;它指的是TCP在传递数据之前需要进行三次交互才能正式建立连接&#xff0c;并进行数据传递。&#xff08;客户端主动发起的&#xff09;TCP之所以需要三次握手是因为TCP双方都是全双工的。 什么是全双工&#xff1f; TCP任何…...

JUC并发编程

1.什么是JUC java.util工具包、包、分类 业务&#xff1a;普通业务线程代码 Thread Runable: 没有返回值、效率相比Callable相对较低。 2.线程和进程 进程&#xff1a;一个程序&#xff0c;QQ.exe Music.exe 程序的集合 一个进程往往可以包含多个线程&#xff0c;至少包含一个…...

概率统计·假设检验【正态总体均值的假设检验、正态总体方差的假设检验】

均值假设检验定义 2类错误 第1类错误&#xff08;弃真&#xff09;&#xff1a;当原假设H0为真&#xff0c;观察值却落入拒绝域&#xff0c;因而拒 绝H0这类错误是“以真为假” 犯第一类错误的概率显著性水平α第2类错误&#xff08;取伪&#xff09;&#xff1a;当原假设H0不…...

如何预测机组设备健康状态?你可能需要这套解决方案

1. 应用场景随机振动[注1]会发生在工业物联网的各个场景中&#xff0c;包括产线机组设备的运行、运输设备的移动、试验仪器的运行等等。通过分析采集到的振动信号可以预估设备的疲劳年限、及时知晓设备已发生的异常以及预测未来仪器可能发生的异常等等。本篇教程会提供给有该方…...

C++类和对象:面向对象编程的核心。| 面向对象还编什么程啊,活该你是单身狗。

&#x1f451;专栏内容&#xff1a;C学习笔记⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;日拱一卒&#xff0c;功不唐捐 文章目录一、前言二、面向对象编程三、类和对象1、类的引入2、类的定义Ⅰ、声明和定义在一起Ⅱ、声明和定义分开Ⅲ、成员变量命…...

CUDA虚拟内存管理

CUDA中的虚拟内存管理 文章目录CUDA中的虚拟内存管理1. Introduction2. Query for support3. Allocating Physical Memory3.1. Shareable Memory Allocations3.2. Memory Type3.2.1. Compressible Memory4. Reserving a Virtual Address Range5. Virtual Aliasing Support6. Ma…...

线程池小结

什么是线程池 线程池其实就是一种多线程处理形式&#xff0c;处理过程中可以将任务添加到队列中&#xff0c;然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过的线程,这里的任务就是我们前面学过的实现了Runnable或Callable接口的实例对象; 为什么使用线程池 …...

vue3状态管理模式 Pinia

状态管理库 Pinia是Vue的专属状态管理库&#xff0c;它允许你跨组件或页面共享状态 1&#xff1a;安装与使用pinia 1.1 安装语法&#xff1a;npm install pinia1.2 创建一个pinia&#xff08;根存储&#xff09;并将其传递给应用程序 import { createApp } from vue import…...

python基于django的自媒体社区交流平台

自媒体社区平台采用python技术,基于django框架,mysql数据库进行开发,实现了以下功能&#xff1a; 本系统主要包括管理员,用户,商家和普通管理员四个角色组成,主要包括以下功能&#xff1a; 1;前台&#xff1a;首页、需求通告、优质案例、帮助中心、意见反馈、个人中心、后台管理…...

Python中类和对象(2)

1.继承 Python 的类是支持继承的&#xff1a;它可以使用现有类的所有功能&#xff0c;并在无需重新编写代码的情况下对这些功能进行扩展。 通过继承创建的新类称为 “子类”&#xff0c;被继承的类称为 “父类”、“基类” 或 “超类”。 继承语法是将父类写在子类类名后面的…...

SpringMvc入门

Spring与Web环境的集成 1.ApplicationContext应用上下文的获取方式 分析 之前获取应用上下文对象每次都是从容器中获取&#xff0c;编写时都需要new ClasspathXmlApplicationContext(Spring配置文件)&#xff0c;这样的弊端就是配置加载多次应用上下文就创建多次。 在Web项目…...

设计模式之单例模式(C++)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 一、单例模式是什么&#xff1f; 单例模式是一种创建型的软件设计模式&#xff0c;在工程项目中非常常见。通过单例模式的设计&am…...

贪心算法(基础)

目录 一、什么是贪心&#xff1f; &#xff08;一&#xff09;以教室调度问题为例 1. 问题 2. 具体做法如下 3. 因此将在这间教室上如下三堂课 4. 结论 &#xff08;二&#xff09;贪心算法介绍 1. 贪心算法一般解题步骤 二、最优装载问题 &#xff08;一&#xf…...

【九宫格坐标排列 Objective-C语言】

一、这个案例做好之后的效果如图: 1.这个下载是可以点击的,当你点击之后,弹出一个框,过一会儿,框框自动消失,这里变成“已安装” 2.那么,我现在先问大家一句话:大家认为在这一个应用里面,它包含几个控件, 3个,哪3个:一个是图片框,一个是Label,一个是按钮, 这…...

数字信号控制器(DSC)在汽车电子中的关键技术解析

1. 数字信号控制器的技术演进与核心定位在嵌入式控制领域&#xff0c;我们正见证着一场处理器架构的静默革命。十年前当我第一次接触到Motorola 56F8300系列芯片时&#xff0c;就意识到这种融合了MCU和DSP特性的混合架构将彻底改变机电控制系统的设计范式。数字信号控制器&…...

用o1-preview构建端到端水质分类系统

1. 项目概述&#xff1a;用 o1-preview 构建端到端水质分类系统的真实复现手记 我做机器学习项目快十年了&#xff0c;从最早手动调参、写 Makefile 编译模型&#xff0c;到后来用 MLflow 跟踪实验、用 Flask 封装 API&#xff0c;再到如今用 Docker 打包上云——整个流程早已刻…...

Windows平台ADB驱动终极安装指南:3分钟搞定Android开发环境

Windows平台ADB驱动终极安装指南&#xff1a;3分钟搞定Android开发环境 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com/gh_mirrors/…...

构建自我进化的AI家园:基于多智能体与GitOps的工程实践

1. 项目概述&#xff1a;构建一个能自我进化的AI家园如果你和我一样&#xff0c;对那种“一问一答”式的AI聊天机器人感到厌倦&#xff0c;总想着能不能让AI更“主动”一点&#xff0c;甚至能帮你打理整个技术栈&#xff0c;那么这个项目绝对值得你花时间研究。ai-homebase不是…...

【C++ 多态】虚函数 · 虚表 · 重写,一篇彻底弄明白!

C 多态详解 C多态是面向对象的核心灵魂&#xff0c;本文将由浅入深&#xff0c;带你循序渐进地掌握多态的方方面面&#xff0c;全程干货&#xff0c;坐稳发车~ ദ്ദി˶&#xff70;̀֊&#xff70;́ )✧ 文章目录C 多态详解1. 什么是多态&#xff1f;2. 运行时多态的实现前…...

Sonos语音控制功能大揭秘:常用指令、局限与第三方助手对比

ZDNET核心要点Sonos音箱内置语音助手&#xff0c;其语音控制虽不如其他助手智能&#xff0c;但并非一无是处&#xff0c;每日闹钟、天气预报和定时器能提升使用体验。Sonos语音控制使用体验并非智能家居爱好者&#xff0c;但家里有好几台Sonos智能音箱。虽不太喜欢自动语音助手…...

2026年度能耗监测系统的深度分析与展望

在当前全球可持续发展的大背景下&#xff0c;能耗监测系统的重要性愈发凸显。随着技术的进步和社会对节能减排的需求&#xff0c;2026年度的能耗监测系统将迎来一场技术革命和应用升级。本文将从市场需求、技术现状、未来发展方向及实施策略等多个方面&#xff0c;对2026能耗监…...

Network-AI:解决多智能体协作竞态与状态冲突的协调层

1. 项目概述&#xff1a;Network-AI&#xff0c;一个解决多智能体“内讧”的协调器如果你正在用LangChain、CrewAI或者AutoGen构建AI智能体应用&#xff0c;大概率遇到过这样的场景&#xff1a;你部署了两个智能体&#xff0c;一个负责分析数据&#xff0c;一个负责生成报告。它…...

为OpenClaw配置Taotoken实现高效AI智能体工作流

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为OpenClaw配置Taotoken实现高效AI智能体工作流 OpenClaw 是一个流行的开源AI智能体框架&#xff0c;它允许开发者快速构建和编排复…...

3大技术突破:APK Installer如何重新定义Windows上的安卓应用体验

3大技术突破&#xff1a;APK Installer如何重新定义Windows上的安卓应用体验 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK Installer是一款革命性的Windows平台安…...