Arduino UNO R3自学笔记21 之 Arduino基础篇学习总结

news2024/12/23 19:08:44

注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。

前言:目前将Arduino的大多数基础内容学习了,做个总结。

1.编程语言

        学习单片机,在面向单片机编程时,语言是最基础的,算法,逻辑,程序框架都得用语言搭建,而单纯语言来讲,汇编是最为高效的语言,但是在其可读性方面,实在不可恭维,因此在编程时大多选用C语言。

2.编程语法

         对于单片机需要遵循其独特的编程语法。对于Arduino来将,其独特的语法更加多,说是语法,其实从本质上讲,是对AVR芯片的底层封装,做成通俗易懂的函数或者方法,这样就不要查询寄存器进行配置了,而形成的这一层封装层就是Arduino的语法。

3.系统

        一个完整的项目往往包含一个控制系统+机械执行机构。如下图:

        目前,看看这个框架,我们从单片机入手在硬件系统里面只做了一些单片机的底层驱动,比如IO口设置,定时器设置等,而在硬件系统里面,从图上来看还有一个“其它”,这个其实还包含了许多内容,比如,逻辑芯片驱动,储存芯片驱动等,各种芯片驱动,以及外部数字/模拟电路搭建,对于我们之前编的程序我更加倾向划归到硬件系统里,那些程序更像是板级支持包BSP。对于软件系统,包含实时系统和应用,目前我们还没有接触到,我们之前编程的一些内容更像是在BSP基础上做了一些逻辑内容的简单处理。也称之为“裸机编程”。

4.接下来的内容

        接下来还是学习硬件系统但是更加倾向于“其它”的内容,采用“裸机编程”,比如学习驱动其它IC,锁存器等,同时更加注重仿真,采用proteus搭建出相应硬件电路。

5.总结

        学习之路路漫漫,一边学习,一边总结,一边实验才是提升的基础。

上一篇:Arduino UNO R3自学笔记20 之 Arduino如何测定电机速度?

下一篇:Arduino UNO R3自学笔记22 之 Arduino电机的闭环控制(PID)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2196004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker exec bash -c 使用详解与 Python 封装示例

简介:docker exec 是 Docker 的一个实用命令,允许在正在运行的容器中执行命令。通过 bash -c 选项,可以执行复杂的命令串。 历史攻略: go:远程执行系统命令 Python:subprocess模块 Python-subprocess激…

代数结构基础 - 离散数学系列(八)

目录 1. 群(Group) 群的定义 群的示例 2. 环(Ring) 环的定义 环的示例 3. 域(Field) 域的定义 域的示例 域在密码学中的应用 4. 实际应用场景 1. 对称性与加密 2. 误差检测与纠正 3. 数据编码…

Maven介绍和使用

Maven是apache旗下的一个开源项目,是一款用于管理和构建Java项目的工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建。 依赖管理:方便快捷的管理项目依赖的资源包,避免…

消峰限流有哪几种方式?

消峰限流的方式 业务视角 验证码回答问题环节 技术视角 消息队列异步化用户请求 限流,对流量进行层层过滤 nginx 层限流, 一是控制速率 limit_req 漏桶算法 limit_req_zone $binary_remote_addr zonemylimit:10m rate2r/s; server { location / { lim…

Java面试题——第八篇(JVM)

1. JVM中有哪些垃圾回收算法 Java中的垃圾回收算法有以下几种 1. 标记-清除算法 工作原理:首先遍历堆中的对象,标记出所有存活的对象,接着清除未标记的对象。优点:实现简单,能够处理堆中的所有对象缺点:…

vue3 antd-design-vue3 日期组件语言不显示中文问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、修改步骤 前言 随着ant-design-vue v3的推出,ant-design-vue官方把时间组件中的momentjs 替换成了dayjs,升级完后发现日期显示不正…

swift使用internvl2微调ocr文字检测(目标检测)

详细记录swfit微调interVL2-8B多模态大模型进行目标检测(附代码)-CSDN博客文章浏览阅读2k次,点赞45次,收藏14次。目标检测任务已经不是一个新鲜事了,但是多模态大模型作目标检测任务并不多见,本文详细记录swfit微调interVL2-8B多模态大模型进行目标检测的过程,旨在让更多…

Linux驱动开发(速记版)--单总线

第124章 单总线简介 124.1 单总线概述 单总线是一种串行通信协议,由Dallas Semiconductor开发,特点是用一根信号线实现双向数据传输和时钟同步,节省IO口且结构简单。 它广泛应用于传感器、存储器等。 硬件包括信号线、上拉电阻、设备和处理器…

代码随想录--字符串--重复的子字符串

题目 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。示例 2: 输入: "…

javaweb - 请求响应代码实现

简单参数 原始方式 在原始的web程序中,获取请求参数,需要通过HttpServletRequest对象手动获取。 RequestMapping("/simpleParam")public String simpleParam(HttpServletRequest request) {String name request.getParameter("name&…

基于Springboot+Vue的养老院管理系统的设计与实现 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…

TMC2209堵转检测配置详细教程

按如下图将TMC2209和串口模块连接: 配置流程: 寄存器配置: 通用寄存器: 校验码见我之前文章:使用uart串口配置TMC2209模块_tmc2209 uart-CSDN博客 通用寄存器主要是配置第0和第1位,第1位要给1&#xff0…

python之详解列表

有序的可变容器,可以存储不同类型的元素。用中括号[]表示。 1、列表的查找访问 1.1、通过下标查找。 与字符串类似,列表也可通过 列表名[index] 的方式查找其中的元素。 索引的初始值为0,最大值为列表长度-1。 示例: list1 …

刷题 位运算 / 数学

面试经典 150 题 - 位运算 ⭐️⭐️67. 二进制求和 加法进位 class Solution { public:string addBinary(string a, string b) {int na a.size(), nb b.size();string ans;ans.reserve(max(na, nb) 1); // 预留空间,避免动态扩展时的性能损耗int carry 0;for …

platform bus平台总线详解

往期内容 驱动中的device和device_driver结构体-CSDN博客bus总线的相关结构体和注册逻辑-CSDN博客bus中设备驱动的probe触发逻辑和device、driver的添加逻辑-CSDN博客 前言 注:以下的代码皆摘自于linux 4.9.88版本的内核源码,不同版本可能有所出入。 之…

【EXCEL数据处理】保姆级教程 000016案例 EXCEL的vlookup函数。

【EXCEL数据处理】000016案例 vlookup函数。 前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】保姆级教…

【动态规划】斐波那契模型 dp

动态规划的步骤: 状态表示。所谓状态表示就是 dp 表里的值表示什么含义,那么状态表示怎么找呢? a. 题目要求 b. 经验(以某一个位置为结尾 / 起点) 题目要求 c. 分析问题的过程中发现重复子问题状态转移方程。dp[ i ] …

ChatGPT Canvas:系统提示词泄漏了~

OpenAI 推出了一款叫做 Canvas 的新工具,用来帮助用户更好地与 ChatGPT 协作写作和编程。详细介绍可以看这篇文章:ChatGPT Canvas:交互式对话编辑器-CSDN博客​编辑 以下是 OpenAI 新功能 “Canvas” 的系统提示内容 你是 ChatGPT&#xff0…

基于连续小波变换(CWT)批量生成一维信号的时频图 最终生成30张时频图。生成的图像可用于后续的深度学习分类或其他处理。附详细的说明文档。

Matlab基于连续小波变换(CWT),将一维信号批量生成时频图的源代码。此示例中,原始信号data是30*1280的格式,一共30条信号,信号长度为1280。最终生成30张时频图。生成的图像可用于后续的深度学习分类或其他处…

SpringBoot开发——SpringSecurity安全框架17个业务场景案例(二)

文章目录 一、Spring Security 常用应用场景介绍二、Spring Security场景案例6、CSRF 保护(CSRF Protection)6.1 Spring Security 配置6.2 业务逻辑代码7、密码编码(Password Encoding)7.1 Spring Security 配置7.2 业务逻辑代码7.3 控制器8、方法级安全性(Method Securit…