arduino i2c 如何写16位寄存器_Arduino开发环境的搭建与编程入门基础教程-程序员宅基地

技术标签: Arduino版读取程序的规则  arduino编译器  arduino nano 蓝牙  arduino串口监视器显示nan  arduino i2c 如何写16位寄存器  Arduino增加内存  

一、下载安装
Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE)。它适用于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。1.Arduino IDE下载官网下载地址:https://www.arduino.cc/en/Main/Software

48167e99249b3e4f4510d8332a8321ce.png

将网页界面改成中文模式后选择合适的安装包。我的系统为win10,64位,所以选择下载Windows安装包。当然也可以选择英文模式中的Windows installer。下载完成后,直接双击exe文件开始安装。

2.安装
(1)许可协议

2d453a0305b7a0b54895a975d621631b.png

点击 I Agree。

(2)安装选项

6f469f6159875d1dd22f196cf8c716eb.png

从上到下依次是:安装Arduino软件安装USB驱动创建开始菜单快捷方式创建桌面快捷方式关联ino文件

安装保持默认即可(3)安装文件夹

0b9b58bebbc2af84ba9b8fdaa8b4b4a5.png

选择安装位置,其中默认安装位置为C:\Program Files(x86)\Arduino,可以根据自己的需要调整安装位置。(4)安装过程a8ea5fc4b90ddad5dcfc76b16d0c908e.png8ea61af4937fea15074c00be6ea22633.png8a4d243ecc4a0cf03b6d82550b6759f8.png6950683a7147d3c8aee831ca488b9c37.png安装完成后点击close(5)安装完成这时桌面上出现Arduino图标718667555dd37c1df077da56d4fc1343.png(6)界面介绍5eb6f4d26297f315e6ef68cd37c05ba6.png菜单栏包括:文件,编辑,项目,工具,帮助

  • 文件菜单:
    写好的程序通过文件的形式保存在计算机时,需要使用文件菜单,文件菜单常用的选项包括:新建文件,打开文件,保存,另存为,关闭,示例,

  • 编辑菜单:
    紧邻文件菜单右侧的是编辑菜单,编辑菜单顾名思义是编辑文本时常用的选项集合。常用的编辑选项为恢复、重做、剪切、复制、粘贴 、全选和查找 。这些选项的快捷键也和Microsoft Windows 应用程序的编辑快捷键相同。恢复为Ctrl+Z、剪切为Ctrl+X、复制为Ctrl+C、粘贴为Ctrl+V、全选为Ctrl+A、查找为 Ctrl+F。此外,编辑菜单还提供了其他选项,如“注释”和“取消注释”,Arduino编辑器中使用“//” 代表注释。还有“增加缩进”和“减少缩进”选项、“复制到论坛”和“复制为HTML”等选项。

  • 项目菜单
    程序菜单包括与程序相关功能的菜单项。主要包括:
    验证/编译:用以完成程序的检查与编译,通过使用编译器编译程序来检查代码的语法错误。
    显示项目文件夹:会打开当前程序的文件夹。
    加载库:导入所引用的Arduino库文件。
    添加文件:可以将一个其他程序复制到当前程序中,并在编辑器窗口的新选项卡中打开。

  • 工具菜单
    工具菜单是一个与Arduino开发板相关的工具和设置集合。主要包括:
    自动格式化:可以整理代码的格式,包括缩进、括号,使程序更易读和规范。
    项目存档:将程序文件夹中的所有文件均整合到一个压缩文件中,以便将文件备份或者分享。
    修正编码并重新装载:在打开一个程序时发现由于编码问题导致无法显示程序中的非英文字符时使用的,如一些汉字无法显示或者出现乱码时,可以使用另外的编码方式重新打开文件。
    串口监视器:是一个非常实用而且常用的选项,类似即时聊天的通讯工具,PC与Arduino 开发板连接的串口-交谈1的内容会在该串口显示器中显示出来。在串口监视器运行时,如果要与Arduino 开发板通信,需要在串口监视器顶部的输入栏中输入相应的字符或字符串,再单击发送按钮就能发送信息给Arduino.在使用串口监视器时,需要先设置串口 波特率,当Arduino与PC的串口波特率相同时,两者才能够进行通讯。Windows PC的串口波特率的设置在计算机设备管理器中的端口属性中设置。
    开发板:用来选泽串口连接的Arduino开发板型号,当连接不同型号的开发板时需要根据开发板的型号到“板卡1选项中选择相应的开发板。
    端口:需要手动设置系统中可用的串口时选择的,在每次插拔一个Arduino电路板时,这个菜单的菜单项都会自动更新,也可手动选择哪个串口接开发板。
    串口:需要手动设置系统中可用的串口时选择的,在每次插拔一个Arduino电路板时,这个菜单的菜单项都会自动更新,也可手动选择哪个串口接开发板。
    板卡:用来选泽串口连接的Arduino开发板型号,当连接不同型号的开发板时需要根据开发板的型号到“板卡1选项中选择相应的开发板。

菜单栏下方按钮包括:验证,上传,新建,打开程序,保存程序,串口监视器

  • 校验:用以完成程序的检查与编译,通过使用编译器编译程序来检查代码的语法错误。

  • 上传:即通常所说的下载或烧写功能,将编译后的程序文件上传到Arduino板中,用于更新Arduino板中的程序。

  • 新建:新建一个程序文件。

  • 打开:打开一个存在的程序文件

  • 保存,保存当前的程序文件。

  • 串口监视窗,可监视开发环境使用的串口收发的数据,打开一个串口终端窗口,通过这个窗口可以使用ISP串口与Arduino通信。

二、Arduino编程语言特点1.Arduino语言
arduino 使用C/C++语言编写程序,虽然C++兼容C语言,但是这两种语言又有所区别。C语言是一种面向过程的编程语言,C++是一种面向对象的语言。早期的 arduino核心库使用C语言编写,后来引进了面向对象的思维,目前最新的arduino核心库使用C与C++混合编程。通常所说的Arduino语言,是指Arduino核心库所提供的各种应用程序编程接口(Application Programming Interface,简称API)的集合。这些API是对更底层的单片机支持库进行二次封装所形成的。这些封装好的API使得程序中的语句更容易被理解, 因此可以不用理会单片机中繁杂的寄存器配置就能直观的控制Aeduino,在增强了程序可读性的同时,也提高了开发效率。2.Arduino程序结构Arduino程序结构与传统的C/C++的程序结构有所不同——Arduino程序中没有main()函数。其实并不是Arduino程序中没有main()函数,而是main()函数定义隐藏在了Arduino的核心库文件中。在进行Arduino开发时一般不直接操作main函数,而是使用setup()和loop()两个函数。Arduino程序的基本结构如下:void setup{//在这里填写setup()函数代码,它只会运行一次}void loop{//在这里填写loop()函数代码,它会不断重复运行}

  • setup()
    Arduino控制器通电或复位后,即会开始执行setup()函数中的程序,改程序只会执行一次。
    通常是在setup()函数中完成Arduino的初始化设置,如配置I/O口状态和初始化串口等操作

  • loop()
    setup()函数中的程序执行完毕后,Arduino会接着执行loop()函数中的程序。而loop()函数是一个死循环,其中的程序会不断地重复执行。
    通常loop()函数中完成程序的主要功能,如驱动各种模块和采集数据等。

3.Arduino C/C++语言部分基础
(1)数据类型

  • 常量
    在程序运行过程中其值不能改变的量,常量可以是字符也可以是数字,通常使用语句 ↓ 定义常量

#define 常量名 常量值比如在Arduino核心库中已定义的常量PI,即是使用语句 ↓ 定义的#define PI 3.1415926535897932384626433832795

  • 变量
    程序中可变的值称为变量,其定义方法是:

类型 变量名;例如:int i;int i =95;int i;i=95①整型整数即整数类型。Arduino可用的整数类型及取值范围如下表所示。在ArduinoDue中int型及unsigned int 型占用四字节。73c853f066b98d0d53273beb6f81117f.pngArduino可用整数类型及其取值范围.jpg②浮点型浮点数就是平常所说的实数,在Arduino中有float和double两种浮点类型,但在使用AVR座位核心的Arduino上两者的精度是一样的,都占用4字节内存空间。在Arduino Due中,double类型占用8字节内存空间。浮点型数据的运算较慢且有一定的误差,因此通常会把浮点类型转换为整型来处理相关运算。如9.8cm通常会换算为98mm来计算。③字符型即char类型,占用1字节,存储字符变量。存储字符变量时,字符需要用单引号引用,如char col='C'④布尔型即boolean类型。它的值只用两个:false(假)和true(真)。占用一字节。(2)选择结构

  • if 语句
    ①简单分支结构

if(表达式){  语句;}②双分支语句if(表达式){  语句1;}else{  语句2;}③多分支语句if(表达式1){  语句1;}else if(表达式2){  语句2;}else if(表达式3){  语句3;}else if(表达式4){  语句4;}……

  • switch...case语句

switch(表达式){   case 常量表达式1:   语句1   break;   case 常量表达式2:   语句2   break;   case 常量表达式3:   语句3   break;   ……  default:         语句n         break;}
(3)循环结构

  • 循环语句
    ①while循环

while(表达式){  语句;}②do...while循环do{  语句;}while(表达式);③for循环for(表达式1;表达式2;表达式3){  语句;}

  • 循环控制语句
    ①break

if(表达式){  break;}②continueif(表达式){  continue;}
4.基础语句1.配置引脚的模式为输入模式或输出模式pinMode(pin,mode); pin为指定配置的引脚编号,mode为指定的配置模式——input(输入),output(输出)2.设置引脚输出高电平或低电平digitalWrite(pin,value);pin为指定输出的引脚编号,value为要指定的输出电平——high(高电平),low(低电平)3.读取外部输入的数字信号digitalRead(pin);pin为指定读取状态的引脚编号。4.延时函数delay(ms);单位为ms

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39949413/article/details/109989008

智能推荐

光场深度估计(Light Field Depth Estimation)-程序员宅基地

文章浏览阅读1.8w次,点赞23次,收藏94次。本文将介绍光场领域进行深度估计的相关研究。In this post, I’ll introduce some depth estimation algorithms using Light field information. Here is some of the code.研究生阶段的研究方向是光场深度信息的恢复。再此做一些总结,以便于让大家了解光场数据处理的一般步骤以及深度估计的相关..._光场深度估计

CSS3 column 分栏-程序员宅基地

文章浏览阅读68次。column的布局形式还没有使用过,后续的bug和解决方案有待检验。columncolumn-count:number; 设置内容分为多少栏显示column-width:长度单位;设置每一栏的宽度而不设定元素的宽度column-gap:长度单位;设置多栏之间的间隔距离column-rule:宽度,颜色;在栏与栏之间增加一条间隔线。类似border.column-spa..._h5 column-span

在ArcGIS+Server里把屏幕像素点数所代表的距离转换为实际地理距离-程序员宅基地

文章浏览阅读495次。/*** @description 把屏幕像素点数所代表的距离转换为实际地理距离 * @author brian* @param mapScale地图比例尺 * @param pixelUnits屏幕像素个数 * @return double 实际地理距离 */public double ConvertPixelsToMapUnits(WebMa..._像素距离和实际距离转换

STM32开发系列之寄存器(二)GPIO口位带操作实现_gpiob->odr |=1<<6-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏8次。位带操作顾名思义就是可以单独对CPU寄存器某个位进行读写操作,采取这种方式,将会大大减少我们写代码的难度,不用像上篇博客那样进行与或运算和移位,降低了出错的可能性。如果之前有使用过8051单片机的话,应该体会过这种操作的好处。例如,在51单片机中,P1.0上挂了一个灯,我们想要他点亮,可以直接P1.0=0或者P1.0=1这样写,直接对P1端的某个IO口进行操作。但在STM32中并不允许这样操作,..._gpiob->odr |=1<<6

【C++】字符串(string)的使用_c++ string 子串-程序员宅基地

文章浏览阅读2.4k次,点赞5次,收藏22次。C++ 中,`std::string` 是用于处理字符串的标准库类。它提供了一系列成员函数和操作符,使得字符串的操作更加方便和灵活。_c++ string 子串

MySQL 慢查询-程序员宅基地

文章浏览阅读1.2w次,点赞7次,收藏41次。一、什么是慢查询慢查询,顾名思义,执行很慢的查询。有多慢?超过long_query_time参数设定的时间阈值(默认10s),就被认为是慢的,是需要优化的。慢查询被记录在慢查询日志里。慢查询日志默认是不开启的。如果需要优化SQL语句,就可以开启这个功能,它可以让你很容易地知道哪些语句是需要优化的。1️⃣show variables like 'slow_query_log';查询是否开启慢查询日志【开启慢查询sql:set global slow_query_log = 1/on;】【关闭慢查询sq_慢查询

随便推点

一阶电路中的时间常数_学电路原理,你得这么做-程序员宅基地

文章浏览阅读720次。如果你是学电气专业的话,电路原理是最基础最重要的一门课。学不好它,后面的模电、电机、电力系统分析、高压简直没办法学。对于这门课,你要想真正的领悟和掌握,奥秘就在于不能停止思考。而且我觉得这是最重要的一点。我以江辑光的《电路原理》为例(这本书编的相当不错)解释为何不能停止思考。电路几乎是第一本开始培养你工程师思维的书,它不同于数学物理,很多可以理论推导。而电路更多的是你的思考和不断累积的经验。在江的..._1/jwc 正弦

C语言学生成绩管理系统设计 《C语言程序设计》实训报告_c语言学生成绩管理系统设计报告-程序员宅基地

文章浏览阅读10w+次,点赞399次,收藏3.2k次。C语言学生成绩管理系统设计 《C语言程序设计》实训报告_c语言学生成绩管理系统设计报告

2016年8月6日 星期六 --出埃及记 Exodus 16:6-程序员宅基地

文章浏览阅读96次。2016年8月6日 星期六 --出埃及记 Exodus 16:6So Moses and Aaron said to all the Israelites, "In the evening you will know that it was the LORD who brought you out of Egypt,摩西,亚伦对以色列众人说,到了晚上,你们要知道是耶和华将你们从埃及地领出..._出埃及记16

软件架构, 软件框架,设计模式的区别_比较架构模式,设计模式,惯用法的区别和联系-程序员宅基地

文章浏览阅读1.8k次,点赞4次,收藏7次。已剪辑自: https://www.cnblogs.com/lsm-boke/p/12657791.html一、架构**架构即软件架构,**是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件体系结构是构建计算机软件实践的基础,简单来说,软件架构是一个系统的草图,是一种设计方案,将客户的不同需求抽象成为抽象组件,各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。_比较架构模式,设计模式,惯用法的区别和联系

文本挖掘入门-程序员宅基地

文章浏览阅读1.1k次,点赞4次,收藏23次。总之,词嵌入是一种有助于RNN模型理解文本语义的技术,而RNN则用于在文本生成任务中考虑文本的顺序和上下文信息,从而生成连贯的文本。文本挖掘是从文本数据中提取有用信息的过程,通常包括文本预处理、特征提取和建模等步骤。:选择合适的机器学习或深度学习算法,根据任务类型进行建模,例如文本分类、情感分析、主题建模等。:使用标注好的数据集训练模型,并使用评估指标(如准确度、F1分数、均方误差等)来评估模型性能。函数将使用RNN模型生成文本,它会根据先前生成的文本以及上下文信息来预测下一个单词。_文本挖掘

oracle 表空间和数据文件管理 移动数据文件 重命名数据文件 数据文件重命名_如何使用oracle创建表空间,数据文件命名为-程序员宅基地

文章浏览阅读2.7k次。oracle 11g2 一个数据文件在同一个时刻仅属于同一个表空间,仅属于同一个数据库。TEMP文件是一类在临时表空间中被使用的特殊数据文件。 当数据库创建或重用i一个数据文件——操作系统文件被重用和初始化——被一个规则的二进制零所填充。这些初始化不会发生在临时文_如何使用oracle创建表空间,数据文件命名为

推荐文章

热门文章

相关标签