电子开发 | 基础入门 | 电路原理图 | 婵犵數濮甸鏍窗閺嶎厹鍋戦柟缁㈠枛閸ㄥ倸霉閻撳海鎽犻柛銈咁儏闇夐柛蹇撳悑缂嶆垿鏌i幇顒婅含闁哄瞼鍠栭、娑㈠幢濡や礁娅ゅ┑鐘灪閻楁鎹㈠☉銏犵閻庣數枪閺嗭繝姊洪悷鏉挎闁瑰嚖鎷� | PLC闂傚倸鍊烽懗鍓佹兜閸洖鐤鹃柣鎰ゴ閺嬪秹鏌ㄥ┑鍡╂Ф闁逞屽厸缁舵岸寮幘缁樻櫢闁跨噦鎷�   闂傚倸鍊风欢姘缚瑜嶈灋婵°倕鎳忛弲婵嬫煏閸繍妲堕柍褜鍓欓幊鎾凰囬崷顓涘亾濞堝灝鏋ら弸顏咁殰椤忓啫宓嗙€规洘锕㈤崺锟犲礃瑜忛柦闈涒攽閻樺灚鏆╅柛瀣☉铻為幖娣妼閸ㄥ倿鏌涘┑鍡楊伒闁兼澘娼¢弻鐔封枔閸喗鐏撻梺鍛婎殕绾板秶鎹㈠☉銏犲耿婵☆垰鍚嬮崳顔剧磽娴f彃浜炬繝銏e煐閸旀牠宕戦敐澶嬬厱闁靛鍠栨晶顖炴煛娓氣偓娴滃爼骞冨Δ鍐ㄦ瀳濠㈣泛顑呴锟� Ctrl+D 闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲窛妞ゆ棁妫勫鍧楁⒑閸愬弶鎯堥柟鍐叉捣缁辨帡鍩¢崨顔惧幍濡炪倖鐗楃划宀勩€傞崗绗轰簻闁靛绠戦悘鎾煛鐏炶濡奸柍钘夘槸铻栭柛鎰╁妼椤姊绘担鍛婂暈闁哄被鍔戦獮濠囧箛閺夎法顔嗗銈嗗姧缁犳垿锝為崨瀛樼厓闁靛鍎辩敮鐘绘煙閺屻儳鐣烘慨濠傛惈鏁堥柛銉戝喚鐎抽梺璇插閸戝綊宕i崘顭戝殨妞ゆ劧瀵岄弫瀣煃瑜滈崜鐔兼偘椤曗偓楠炲洭顢橀悢濂夆偓鎾剁磼閸撗冾暭闁挎艾霉濠婂牏鐣洪柡灞诲姂閹倝宕掑☉姗嗕紦濠电姷鏁搁崑鐐哄垂閸洖绠伴柟缁㈠枛绾惧鏌熼崜褏甯涢柛瀣剁悼閹茬ǹ顓兼径濠傜哎闂佸搫琚崕娲极閸℃稒鐓熼柡鍌涘閹叉悂鏌嶇紒妯荤闁哄矉绲借灒濠㈠墎枪閹牆顪冮妶鍛濞存粌鐖奸獮鍐兜閸滀焦鞋闂備礁鎼懟顖炈囬柆宥呯闁靛繒濮堥悢鍝ョ懝妞ゆ牗绋掗妴鍐⒒娓氣偓濞佳囁囨禒瀣瀭鐎规洖娲ㄩ惌鍡楊熆閼搁潧濮堥柣鎾跺枛閺屾洝绠涚€n亖鍋撻弽褉妲堢憸鏃堝蓟閿濆鐒洪柛鎰典簼閸Q冾渻閵堝棙绌跨紓宥勭窔瀹曟椽鍩€椤掍降浜滈柟鐑樺灥椤忊晠鏌i鐕佹疁闁哄瞼鍠撻埀顒傛暩鏋€涙繄绱撴担瑙勨拻闁稿鎸鹃幑銏犫槈閵忕姴鑰块梺褰掑亰閸撴稒瀵奸崶鈺冪=濞达絿鐡旈崵娆愩亜閹存繍妯€闁绘侗鍣e畷姗€顢欓崗澶婁壕闁挎洖鍊哥粻鎶芥煛閸愩劌浜扮紒鎲嬫嫹.

电子开发网

PLC闂傚倸鍊烽懗鍫曞箠閹剧粯鍊堕柛顐犲劚绾惧鏌熼崜褏甯涢柣鎾寸洴閺屾盯顢曢銏狀潽闁诲孩鐔幏锟� 婵犵數濮甸鏍窗閺嶎厹鍋戦柟缁㈠枛閸ㄥ倸霉閻撳海鎽犻柛銈咁儏闇夐柛蹇撳悑缂嶆垿鏌i幇顒婅含闁哄瞼鍠栭、娑㈠幢濡や礁娅ゅ┑鐘灪閻楁鎹㈠☉銏犵閻庣數枪閺嗭繝姊洪悷鏉挎闁瑰嚖鎷� plc闂傚倷绀侀幖顐λ囬柆宥呯?闁圭増婢橀崹鍌涖亜閺嶃劌鐒归柡瀣叄閺屾洝绠涙繝鍌氣拤婵犳鍨遍幐鎶藉箖瑜版帒绠掗柟鐑樺灥椤姊洪崫鍕紨闁瑰嚖鎷� 闂傚倸鍊烽悞锕傛儑瑜版帒鍨傜憸鐗堝笚閸婅埖鎱ㄥΟ璺ㄧ翱濠殿喛娅曢妵鍕籍閸屾稒鐝梺宕囩帛濡啴寮婚悢鐓庣畾鐟滄粓宕甸悢鍏肩厱闁冲搫顑嗙€氾拷
婵犵數濮甸鏍窗濮樿泛绠犻柟鎹愵嚙閻掑灚銇勯幒鎴濃偓鎼佸几閹寸姷纾奸柕濞у啠鏋呴梺鍝勭焿缂嶄焦鎱ㄩ埀顒勬煏閸繃顥為梺娆惧弮濮婃椽鎮滈埡鍌ゆ綈闂佺懓鍤栭幏锟� 闂傚倸鍊烽懗鍓佸垝椤栫偛绠伴柛鈩冪☉缁€瀣亜閹烘埈妲圭紓宥嗭耿濮婄粯鎷呴崷顓熻弴闂佹悶鍔忓Λ鍕幓閼愁垼妲婚梺瀹狀嚙缁夊綊寮幘缁樻櫢闁跨噦鎷� 闂傚倸鍊烽悞锕傛儑瑜版帒鍨傞柦妯侯槳缂傛氨鎲搁弮鍫濈畺闁告繂瀚ч弸搴ㄦ煙閹咃紞妞わ富鍋婂娲传閸曨厼鈪遍梺杞扮閹芥粎鍒掑▎鎾存櫢闁跨噦鎷� 闂傚倸鍊烽懗鍫曞箠閹惧鐝跺┑鐘叉搐閸ㄥ倿姊婚崼鐔恒€掗柡鍡畵瀵爼宕煎☉妯侯瀷闂佸磭鎳撶粔褰掑蓟瀹ュ唯闁靛鍎插В鎰節閻㈤潧鍓抽柟鍑ゆ嫹
闂傚倸鍊烽悞锕€顪冮崹顕呯唵闁逞屽墰缁辨帡骞撻幒婵堝悑闂佽鍨伴張顒勫Χ閿濆绀冮柕濞垮劚娴滃爼姊绘担铏瑰笡婵﹤顭峰畷鏇㈠Χ婢跺﹦锛欓梺璺ㄥ櫐閹凤拷 婵犵數濮烽。钘壩i崨鏉戝瀭妞ゅ繐鐗嗙粈鍫熺節闂堟稓澧愰柛瀣尭椤繈顢橀悩鍐叉珰闂備浇顕栭崰鏇犲垝濞嗗精娑㈠礃閵娿垺顫嶅┑顔斤供閸樹粙宕敓锟� 闂傚倸鍊峰ù鍥ь浖閵娾晜鍊块柨鏇楀亾妞ゎ厼鐏濋~婊堝焵椤掑嫬绠栧Δ锔筋儥濡嫰姊虹拠鈥虫灆缂侇喗鐟ヨ灋闁告劑鍔夊Σ鍫熸叏濮楀棗骞楅柛鐕傛嫹 闂傚倸鍊搁崐鎼佸磹閹间焦鏅濋柕澶涘缁犳儳鈹戦悩鍙夊偍闁逞屽墮閸婂灝鐣锋總绋垮嵆闁绘棁娓圭紓鎾斥攽閻愯埖褰х紒韫矙瀹曨垱瀵肩€涙ê浜滈梺璺ㄥ櫐閹凤拷 闂傚倸鍊风粈渚€骞栭锕€鐤柣妤€鐗婇崣蹇涙煟閹达絾顥夐柛姘秺楠炴牕菐椤掆偓婵′粙鏌涚€c劌濮傞柡灞诲姂閹倝宕掑☉姗嗕紦
电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

闂佸疇妫勯幊鎰板极閸濄儲宕夋い鏍ㄨ壘瑜板棛鈧鍠栫换鎴炴櫠濠婂牆绀冪€光偓鐎n剛顦梺鍝勭墐閸嬫捇鏌¢崒娑橆棆濠⒀勵殜婵″瓨绻濋崟顒佹瘎闁诲孩绋掗崝妤呭极閸濄儲宕夋い鏍ㄨ壘瑜板棛鈧鍠栫换妤咁敇閸濄儳涓嶆俊銈傚亾婵炲懏甯℃俊瀵糕偓锝呭缁€澶愭煟椤厾绁烽柣顓㈢畺瀹曟顢楅埀顒傛閿熺姴钃熼柕澶樼厛閸ゅ嫰鏌熼棃娑卞剰闁哥儑鎷� 闂佹椿婢€缁插鎯屾ィ鍐ㄧ妞ゆ巻鍋撶紒鎲嬬磿閹峰鏁嶉崟顓熸瘓闂侀潻绲婚崝濠囧焵椤掍礁濮夐柡浣告憸閳ь剚绋掗崝鎺斿垝閻樺磭鈻旀慨姗嗗亝閻粙鏌涘☉娅亞鎹㈤埀顒€顭跨捄鐑樺濠⒀勭矒瀹曟ḿ浠﹂悜鈺佷壕闁跨噦鎷�
闂佸疇妫勫Λ妤€鐣烽崟顒€绶為柍杞扮贰閸斿懎霉閸忚壈澹樼€规洜鍠栭幃褔宕堕妸锔剧毣闁诲骸婀遍崑妯兼閿燂拷100 c闁荤姴娴傞崣鈧柍浼欐嫹 chm闂佸搫绉堕崢褏妲愰敓鐘参ラ柛灞剧箘閵堫偊鏌¢崒娑氭噧闁哥偛顕埀顒€婀遍、濠囶敋濞戞氨纾奸柛鈽嗗幘缁€澶愭偡閺囩偞顥犳繛鎻掞攻缁楃喓鈧綆浜為幗宥咁熆閼哥數鍟茬紒杈ㄧ箞瀹曟﹢宕ㄩ褍鏅eΔ鐘靛仩閿熴儵鍩€椤掍礁濮夐柡浣告憸閳ь剚绋掗崝鎺斿垝閻樺磭鈻旀慨姗嗗亝閻粙鏌涘☉娅亞鎹㈤埀顒€顭跨捄鐑樺濠⒀勭矒瀹曟ḿ浠﹂悜鈺佷壕闁跨噦鎷�
搜索: 您现在的位置: 电子开发网 >> 基础入门 >> Arduino开发学习 >> 正文

Arduino学习笔记(0):初识Arduino_arduino 模拟口 命令

作者:佚名    文章来源:网络整理    点击数:525    更新时间:2025/2/6

目录

1. Arduino简史

2. Arduino特点

2.1 Arduino参数:

2.2 Arduino 板的说明

3. 软件支持

3.1 IDE:

3.2 Sketch:

4. Arduino编程语言

5. Arduino 数据类型

6. Arduino 变量和常量

6.1 什么是变量范围?

6.2 局部变量

6.3 全局变量


1. Arduino简史

Arduino是一家制作开源计算机硬件和软件的公司,同时兼有项目和用户社区,他负责设计和制造单板微控制器和微控制器包,用于构建数字设备和交互式对象,以便在物理和数字世界中感知和控制对象。该项目的产品是按照GNU宽通用公共许可证(LGPL)或GNU通用公共许可证(GPL)许可的开源硬件和软件分发的,Arduino允许任何人制造Arduino板和软件分发。 Arduino板可以以预装的形式商业销售,也可以作为自己动手(DIY)包购买。

Arduino电路板设计使用各种微处理器和控制器。这些电路板配有一组数字和模拟输入/输出(I/O)引脚,可以连接各种扩展板或面包板(屏蔽板)和其他电路。这些电路板具有串行通信接口,包括某些型号上的通用串行总线(USB),也用于从个人计算机加载程序。微控制器通常使用C/C++编程语言。除了使用传统的编译工具链之外,Arduino项目还提供了一个基于Processing语言项目的集成开发环境(IDE),集成开发环境界面如图 1.1。

Arduino IDE 界面  
Fig.1 Arduino IDE 界面

Arduino项目始于2003年,作为意大利伊夫雷亚地区交互设计研究所Ivrea的学生项目,目的是为新手和专业人员提供一种低成本且简单的方法,以创建使用传感器与环境相互作用的设备执行器。适用于初学者爱好者的此类设备的常见示例包括简单机器人,恒温器和运动检测器。

Arduino这个名字来自意大利伊夫雷亚的一家酒吧,该项目的一些创始人过去常常会去这家酒吧。 酒吧以伊夫雷亚的Arduin命名,他是1002年至1014年期间伊夫雷亚三国和意大利国王的统治者。

它使用 Atmel AVR 单片机,采用开放源代码的软硬件平台,构建于开放源代码 simple I/O 接口板,并具有使用类似 Java,C 语言的 Processing/Wiring 开发环境。


2. Arduino特点

  • ​​基于知识共享开放源代码的电路图设计。
  • 免费下载,也可依需求自己修改,但需遵照姓名标示。您必须按照作者或授权人所指定的方式,表彰其姓名。
  • 依相同方式分享,若您改变或转变著作,当散布该派生著作时,您需采用与本著作相同或类似的授权条款。
  • Arduino可使用ICSP在线烧入器,将Bootloader烧入新的IC芯片。
  • 可依据Arduino官方网站,获取硬件的设计档,加以调整电路板及组件,以匹配自己实际设计的需求。
  • 可简单地与感测器,各式各样的电子组件连接,如红外线超音波热敏电阻光敏电阻伺服马达…等。
  • 支持多样的交互程序,如Adobe Flash, Max/MSP, VVVV, Pure Data, C, Processing…等。
  • 使用低价格的微处理控制器(Atmel AVR)(ATMEGA 8,168,328等)。
  • USB接口,不需外接电源。另外有提供直流(DC)电源输入。

2.1 Arduino参数:

  • Digital I/O 数字输入/输出端口0—13。
  • Analog I/O 模拟输入/输出端口0-5。
  • 支持ICSP下载,支持TX/RX。
  • 输入电压:USB接口供电或者5V-12V外部电源供电。
  • 输出电压:支持3.3V级5V DC输出。
  • 处理器:使用Atmel Atmega168 328处理器,因其支持者众多,
  • 已有公司开发出来32位的MCU平台支持arduino。

VIN端口:VIN是input voltage的缩写,表示有外部电源时的输入端口。

AREF:Reference voltage for the analog inputs(模拟输入的基准电压)。使用analogReference()命令调用。

ICSP:也有称为ISP(In System Programmer),就是一种线上即时烧录,目前比较新的芯片都支持这种烧录模式

我们都知道传统的烧录方式,都是将被烧录的芯片,从线路板上拔起,有的焊死在线路板上的芯片,还得先把芯片焊接下来才能烧录。只需要准备一条R232线(连接烧录器),以及一条连接烧录器与烧录芯片针脚的连接线就可以。电源的+5V,GND,两条负责传输烧录信息的针脚,再加上一个烧录电压针脚,这样就可以烧录了。

2.2 Arduino 板的说明

在本章中,我们将了解Arduino板上的不同组件。将学习Arduino UNO板,因为它是Arduino板系列中最受欢迎的。此外,它是开始使用电子和编码的最佳板。有些板看起来与下面给出的有些不同,但多数Arduino中的这些组件大部分是共同的。

Arduino板 

上图编号 引脚定义
1

电源USB

Arduino板可以通过使用计算机上的USB线供电。你需要做的是将USB线连接到USB接口。

2

电源(桶插座)

Arduino板可以通过将其连接到电影插口直接从交流电源供电。

3

稳压器

稳压器的功能是控制提供给Arduino板的电压,并稳定处理器和其他元件使用的直流电压。

4

晶体振荡器

晶振帮助Arduino处理时间问题。Arduino如何计算时间?答案是,通过使用晶体振荡器。在Arduino晶体顶部打印的数字是16.000H9H。它告诉我们,频率是16,000,000赫兹或16MHz。

5,17

Arduino重置

你可以重置你的Arduino板,例如从一开始就启动你的程序。可以通过两种方式重置UNO板。首先,通过使用板上的复位按钮(17)。其次,你可以将外部复位按钮连接到标有RESET(5)的Arduino引脚。

6,7,8,9

引脚(3.3,5,GND,Vin)

  • 3.3V(6) - 提供3.3输出电压

  • 5V(7) - 提供5输出电压

  • 使用3.3伏和5伏电压,与Arduino板一起使用的大多数组件可以正常工作。

  • GND(8)(接地) - Arduino上有几个GND引脚,其中任何一个都可用于将电路接地。

  • VVin(9) - 此引脚也可用于从外部电源(如交流主电源)为Arduino板供电。

10

模拟引脚

Arduino UNO板有六个模拟输入引脚,A0到A5。这些引脚可以从模拟传感器(如湿度传感器或温度传感器)读取信号,并将其转换为可由微处理器读取的数字值。

11

微控制器

每个Arduino板都有自己的微控制器(11)。你可以假设它作为板的大脑。Arduino上的主IC(集成电路)与板对板略有不同。微控制器通常是ATMEL公司的。在从Arduino IDE加载新程序之前,你必须知道你的板上有什么IC。此信息位于IC顶部。有关IC结构和功能的更多详细信息,请参阅数据表。

12

ICSP引脚

大多数情况下,ICSP(12)是一个AVR,一个由MOSI,MISO,SCK,RESET,VCC和GND组成的Arduino的微型编程头。它通常被称为SPI(串行外设接口),可以被认为是输出的“扩展”。实际上,你是将输出设备从属到SPI总线的主机。

13

电源LED指示灯

当你将Arduino插入电源时,此LED指示灯应亮起,表明你的电路板已正确通电。如果这个指示灯不亮,那么连接就出现了问题。

14

TX和RX LED

在你的板上,你会发现两个标签:TX(发送)和RX(接收)。它们出现在Arduino UNO板的两个地方。首先,在数字引脚0和1处,指示引脚负责串行通信。其次,TX和RX LED(13)。发送串行数据时,TX LED以不同的速度闪烁。闪烁速度取决于板所使用的波特率。RX在接收过程中闪烁。

15

数字I/O

Arduino UNO板有14个数字I/O引脚(15)(其中6个提供PWM(脉宽调制)输出),这些引脚可配置为数字输入引脚,用于读取逻辑值(0或1) ;或作为数字输出引脚来驱动不同的模块,如LED,继电器等。标有“〜”的引脚可用于产生PWM。

16

AREF

AREF代表模拟参考。它有时用于设置外部参考电压(0至5伏之间)作为模拟输入引脚的上限。


3. 软件支持

3.1 IDE:

Arduino提供了Arduino Software IDE,一套以Java编写的跨平台应用软件。Arduino Software IDE源自于Processing编程语言以及Wiring计划的集成开发环境。它是被设计于介绍程序编写给艺术家和不熟悉程序设计的人们,且包含了一个拥有语法高亮、括号匹配、自动缩进和一键编译并将可执行文件烧写入Arduino硬件中的编辑器。

Arduino Software IDE使用与C语言C++相仿的编程语言,并且提供了包含常见的输入/输出函数的Wiring软件库。在使用GNU toolchain编译和链接后,Arduino Software IDE提供了一个程序“avrdude”用来转换可执行档成为能够烧写入Arduino硬件的固件

3.2 Sketch:

使用Arduino Software IDE编写的程序被称为“sketch”。一个典型的Arduino C/C++ sketch程序会包含两个函数,它们会在编译后合成为main()函数:

  • setup():在程序运行开始时会运行一次,用于初始化设置。
  • loop():直到Arduino硬件关闭前会重复运行函数放的代码。

4. Arduino编程语言

1
2
3
4
5
6
7
8
9
10
int LED_PIN=13;
void setup () {                    // 初始化副程式,程式起始時僅執行一次
    pinMode (LED_PIN, OUTPUT);     // 以數位輸出方式啟用Pin13
}
void loop () {                     // loop副程式,重複不斷執
    digitalWrite (LED_PIN, HIGH);  // 打開LED(發光二極管)
    delay (1000);                  // 等待一秒,delay內含數值1000,代表延遲1000毫秒,即一秒。
    digitalWrite (LED_PIN, LOW);   // 關閉LED
    delay (1000);                  // 等待一秒
}                                  // loop副程式結束

(Arduino的Blink示例程序)

Arduino 程序可由五个部分组成 :

//1. 导入库与定义 (可有可无)

#include <SoftEasyTranfer.h>

#define LEDPIN 13;

//2. 声明常量与全域变量 (可有可无)

const float PI=3.14159;

int r=0 ;

//3. 初始化函数setup() (必要)

void setup() {}

//4. 循环函数loop() (必要)

void loop() {}

//5. 自定义函数 (可有可无)

float area(float r) {

float a=PI*r*r;

return a;

}

其中 setup()loop() 是一定要有的函数 (均无参数无传回值), 其他则视需要而定. Arduino 语言采用 C/C++ 语法,加上以 Wiring 为基础的电子设计核心库组合而成, 包括 Digital I/O, Analog I/O 等库. 内置的库可直接调用, 但若有使用第三方库(例如驱动感测器模块所需的库), 则必须使用 include 前置指令引入. 此外, 也可以用前置指令 define 定义一个常量或宏 (表达式).

前置指令乃 C 编译器指令, 不属于 C 语言本身, 其用途有三 :

  1. 引入头文件 : 例如 #include <myLibrary.h> 或 "myLibrary.h"
  2. 定义常量 : 例如 #define PI 3.14159
  3. 定义宏 : 例如 #define AREA(r) PI*r*r

所以前置指令的功能一言以蔽之就是替换, include 就是在标头处以指定之文件内容替换; 而 #define 就是在程序中用到所定义之常量与宏名称时, 以其内容替换.

宏的功能事实上与函数类似, 不同之处是函数调用使用堆栈, 而宏则是直接放在源代码中,由编译器自动进行替换,运行效率较快 (但若很多地方都要用到时, 编译后就会比较大).

注意:

头文件可用角括号 < > 或双引号 "", 差别是:

a. 用双引号时, 前置处理器会先从源文件所在位置开始去搜索头文件;

b. 而用角括号则会先从 libraries 目录开始找.


5. Arduino 数据类型

C中的数据类型是指用于声明不同类型的变量或函数的扩展系统。变量的类型确定它在存储器中占用多少空间以及如何解释存储的位模式。下表提供了你将在Arduino编程期间使用的所有数据类型。

void Boolean char Unsigned char byte int Unsigned int word
long Unsigned long short float double array String-char array String-object

void

void关键字仅用于函数声明。它表示该函数预计不会向调用它的函数返回任何信息。

例子

1
2
3
Void Loop ( ) {
   // rest of the code
}

Boolean

布尔值保存两个值之一,true或false。每个布尔变量占用一个字节的内存。

例子

1
2
boolean val = false ; // declaration of variable with type boolean and initialize it with false
boolean state = true ; // declaration of variable with type boolean and initialize it with false

Char

一种数据类型,占用一个字节的内存,存储一个字符值。字符文字用单引号写成:'A',对于多个字符,字符串使用双引号:"ABC"。

但是,字符是存储为数字。你可以在ASCII图表中查看特定编码。这意味着可以对使用ASCII值的字符进行算术运算。例如,'A'+1的值为66,因为大写字母A的ASCII值为65。

例子

1
2
Char chr_a = ‘a’ ;//declaration of variable with type char and initialize it with character a
Char chr_c = 97 ;//declaration of variable with type char and initialize it with character 97

unsigned char

unsigned char是一种无符号数据类型,占用一个字节的内存。unsigned char数据类型编码数字为0到255。

例子

1
Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y

byte

一个字节存储一个8位无符号数,从0到255。

例子

1
byte m = 25 ;//declaration of variable with type byte and initialize it with 25

int

整数(int)是数字存储的主要数据类型。int存储16位(2字节)值。

这产生-32768至32767的范围(最小值为-2^15,最大值为(2^15)-1)。

int的大小因板而异。例如,在Arduino Due中,int存储32位(4字节)值。这产生-2147483648至2147483647的范围(最小值-2^31和最大值(2^31)-1)。

例子

1
int counter = 32 ;// declaration of variable with type int and initialize it with 32

Unsigned int

unsigned int(无符号整数)与int相同,存储2字节。然而,它们只存储正值,产生0到65535(2^16)-1的有效范围。Due存储4字节(32位)值,范围从0到4294967295(2^32-1)。

例子

1
2
Unsigned int counter = 60 ; // declaration of variable with
   type unsigned int and initialize it with 60

Word

在Uno和其他基于ATMEGA的板上,一个word存储一个16位无符号数。在Due和Zero上,它存储一个32位无符号数。

例子

1
word w = 1000 ;//declaration of variable with type word and initialize it with 1000

Long

Long变量是用于数字存储的扩展大小变量,存储32位(4字节),从-2147483648到2147483647。

例子

1
Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346

unsigned long

unsigned long变量是用于数字存储的扩展大小变量,并存储32位(4字节)。与标准的long不同,unsigned long不会存储负数,它们的范围为0到4294967295(2^32-1)。

例子

1
2
Unsigned Long velocity = 101006 ;// declaration of variable with
   type Unsigned Long and initialize it with 101006

short

short是16位数据类型。在所有Arduinos(基于ATMega和ARM)上,一个short存储一个16位(2字节)值。这产生-32768至32767的范围(最小值为-2^15,最大值为(2^15)-1)。

例子

1
short val = 13 ;//declaration of variable with type short and initialize it with 13

float

浮点数的数据类型是具有小数点的数字。浮点数通常用于近似模拟值和连续值,因为它们的分辨率高于整数。

浮点数可以大到3.4028235E+38,也可以低到-3.4028235E+38。它们被存储为32位(4字节)信息。

例子

1
float num = 1.352;//declaration of variable with type float and initialize it with 1.352

double

在Uno和其他基于ATMEGA的板上,双精度浮点数占用四个字节。也就是说,double实现与float完全相同,精度没有增益。在Arduino Due上,double具有8字节(64位)精度。

例子

1
double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352

6. Arduino 变量和常量

在我们开始解释变量类型之前,我们需要确定一个非常重要的主题,称为变量范围即作用域问题

6.1 什么是变量范围?

Arduino使用的C语言中的变量具有名为scope(范围)的属性。scope是程序的一个区域,有三个地方可以声明变量。它们是:

  • 在函数或代码块内部,称为局部变量
  • 在函数参数的定义中,称为形式参数
  • 在所有函数之外,称为全局变量

6.2 局部变量

在函数或代码块中声明的变量是局部变量。它们只能由该函数或代码块中的语句使用。局部变量不能在它们自己之外运行。以下是使用局部变量的示例:

1
2
3
4
5
6
7
8
9
Void setup () {
}
Void loop () {
   int x , y ;
   int z ; Local variable declaration
   x = 0;
   y = 0; actual initialization
   z = 10;
}

6.3 全局变量

全局变量在所有函数之外定义,通常位于程序的顶部。全局变量将在程序的整个生命周期中保持其真知。

全局变量可以被任何函数访问。也就是说,一个全局变量可以在整个程序中声明后使用。

以下示例使用全局变量和局部变量:

注意:全局变量、静态变量、常量应使用大写字母来命名name,防止混淆且有警示作用。

1
2
3
4
5
6
7
8
9
10
11
Int T , S ; //全局变量大写
float c = 0 ; Global variable declaration
Void setup () {
}
Void loop () {
   int x , y ; // 局部变量小写
   int z ; Local variable declaration
   x = 0;
   y = 0; actual initialization
   z = 10;
}


【Questions】

1.什么是单片机?它与个人计算机有什么不同?

Ans:一台能够工作的计算机要有这样几个部份构成:中央处理单元CPU(进行运算、控制)随机存储器RAM(数据存储)存储器ROM(程序存储)输入/输出设备I/O(串行口、并行输出口等)。在个人计算机(PC)上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。而在单片机中,这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等

2. 为什么用单片机,如Arduino、STm32,etc.

实际工作中并不是任何涉及计算和控制的场合都要求处理器或计算机有很高的性能,其应用的关键在于使用性能(是否够用)和经济性(是否有很好的性能价格比)。


Tags:Arduino,Arduino入门,编程  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
最新推荐
闂佹眹鍨藉ḿ褔鎮哄▎蹇e殨闁逞屽墴瀹曪綁骞嬮悩鐢敌ч梺鎸庣⊕绾板秹鎯囪ぐ鎺撯挅闁糕剝鐟﹂崑鍛存煕濮橆剛澧曢柟顔兼川閻氶箖鎳¢妶鍡樻瘎闁诲孩绋掗崝鏇㈠春濡や焦濯存繝濞惧亾缂佹鐭傞幃鑺ユ媴閸愵亞鍞撮梺鎼炲劚婢ц棄鈻撻幋鐘电>闁瑰濮疯ぐ鏌ユ煥濞戞﹩鍞筶c閻庤鎮堕崕鑼暜閸洖绠柍褜鍓熷鐢告晸閿燂拷,濠碘槅鍨界槐鏇㈠极閹间礁鏋侀柟娈垮枟閺嗏晠鏌i婊冨姤闁伙讣鎷�,闂佸憡顨嗗ú婊勬櫠閺嶎厼瀚夌紒鈥宠唺A缂備焦绋戦ˇ閬嶆偤閹达附鏅ù锝堟閻ゎ噣鏌﹂埀顒勫礃椤忓懏姣勯柣鐘辫閸ㄦ澘霉濡偐纾鹃柟瀵稿Х瑜拌尙绱掗钘夊姢鐎规洘娲熼弫宥囦沪閼规壆顦伴悗瑙勬偠閸庢娊鍩㈤懖鈺傛殰闁割偅绻傞悘锟犳⒑椤愩倕小闁绘粠鍨跺畷鎰箔鐞涒€充壕闁稿本渚楅崑銊╁级閳轰線顎楅柛娅诲啠鏋栭柕濞垮劙缁ㄥ啿菐閸ワ絺鍋撻崘鎻掔稻婵炴潙鍚嬮〃鍛般亹閸ф鏅慨妯块哺閺嗏晠鎮楀☉娆忓缂佽鲸鍨垮畷锝夊箣閻樼數效闂佹寧鍐婚幏锟�
闁荤姍鍐仾闁哄绻濆畷鐘诲川椤掑倻鎲柡澶屽剳閹凤拷
 [闂傚倸鍊风粈渚€骞夐敓鐘偓鍐幢濡炴洖鎼オ浼村礋椤掍胶褰块梻浣告惈缁嬩線宕㈤懖鈹惧亾濮橆剦妲搁摶鏍煥閺囨氨鍔嶇痪顓炵埣閺屾洟宕奸顫枈闂佸搫鐭夌换婵嗙暦閹烘鏅滈柦妯侯樈娴硷拷]闂傚倸鍊风粈渚€骞夐敓鐘参﹂柣鎰暩閻棗銆掑锝呬壕婵犵鈧磭浠涚€垫澘瀚禒锔剧矙婢剁ǹ顥氭繝鐢靛仦閸ㄧ數澹曢鐘愁潟闁规鍠氱壕濂告煕濞嗘兎顏勭暤閸℃瑢鍋撶憴鍕┛缂佺粯绻傞锝夊箻椤旇棄浜归悗鐟板閸犳袙閸儲鈷掑ù锝呮啞閹牓鏌eΔ鈧Λ婵嬬嵁閺嶎収鏁冮柨鏃囨娴犻箖姊洪崨濠冨闁告挻鐩幃鐤亹閹烘挾鍙嗛梺缁樻礀閸婂湱鈧熬鎷�100 c闂傚倷娴囧畷鍨叏閺夋嚚褰掑礋椤栨氨顔嗛梺璺ㄥ櫐閹凤拷
 [闂傚倷绀侀幖顐λ囬柆宥呯?闁圭増婢橀崹鍌涖亜閺嶃劌鐒归柡瀣叄閺屾洝绠涚€n亞浼勯柣蹇撶箳閺佸寮婚妸鈺傚亞闁稿本绋戦锟�]濠电姷鏁搁崑鐐哄垂閸洖绠伴柟闂寸蹈閸モ斁鍋撻崷顓炐炲ù婊冩贡缁辨帡鍩€椤掑嫭鍊婚柣顐ゅ█濮婅櫣鎷犻幓鎺濆妷闂佸憡鍔樺畷鐢垫閹炬剚娼╅柛妤冨仜琚i梻浣告啞濞诧箓宕滃☉鈧偓鍛存倻閼恒儱浠梺璇″幗鐢帗淇婃禒瀣厱闁宠桨绀侀埀顒€鐏濋锝夊醇閺囩喎鈧鏌涢埄鍐炬畼濞寸姍鍐f斀闁绘劕寮堕敍宥夋煛娓氬洨鍘�-TR
 [闂傚倸鍊烽悞锕€顪冮崹顕呯唵闁逞屽墰缁辨帡骞撻幒婵堝悑闂佽鍨伴惌鍌炲箖濞嗘搩鏁嗛柛灞诲€栫粊顐︽⒑閼姐倕校濞存粈绮欏畷婵嗩吋婢跺﹥妲梺绋跨灱閸嬬偤宕戦敐鍚ゅ綊鏁愰崶銊ユ畬缂備讲鍋撻柛鎰ㄦ杺娴滄粓鏌熼崹顔碱仾閻庢熬鎷�]LM324闂傚倷绀侀幖顐λ囬锕€鐤炬繝濠傜墕缁€澶愭煛瀹ュ骸骞栨俊顐o耿閺屻劑鎮ら崒娑橆伓4~20mA闂傚倷绀侀幖顐λ囬柆宥呯?闁硅揪绠戠粻顖炴煥閻曞倹瀚�1~5V闂傚倸鍊烽悞锕傛儑瑜版帒鍨傜憸鐗堝笚閸婅埖鎱ㄥΟ澶稿惈闁活厼鐗撻弻銊╂偆閸屾稑顏�
 [闂傚倸鍊烽悞锕€顪冮崹顕呯唵闁逞屽墰缁辨帡骞撻幒婵堝悑闂佽鍨伴惌鍌炲箖濞嗘搩鏁嗛柛灞诲€栫粊顐︽⒑閼姐倕校濞存粈绮欏畷婵嗩吋婢跺﹥妲梺绋跨灱閸嬬偤宕戦敐鍚ゅ綊鏁愰崶銊ユ畬缂備讲鍋撻柛鎰ㄦ杺娴滄粓鏌熼崹顔碱仾閻庢熬鎷�]LM386濠电姷顣槐鏇㈠磻濞戞﹫鑰块弶鍫氭櫅閸ㄦ繃銇勯弽顐沪闁稿﹤鐏氶妵鍕箳瀹ュ洤濡芥繝娈垮灡閹告娊寮婚悢鐓庣闁逛即娼у▓顓烆渻閵堝棙鐓ラ柨鏇ㄤ邯瀵鈽夊⿰鍛澑闂佺懓鐏濋崯顐﹀礈鐠轰警娓婚柕鍫濆暙閸旀粓鏌熼悷鐗堟悙妞ゆ洩缍佹俊鎼佸煛娴h櫣鏆伴柣鐔哥矊椤戝棛绮嬪澶嬫櫜濠㈣泛顑囬崢閬嶆⒑閹稿海绠撻柛鐕佸亝娣囧﹥绺介崨濠備缓濡炪倖鐗撻崐鏍偓姘炬嫹
 [闂傚倸鍊烽悞锕€顪冮崹顕呯唵闁逞屽墰缁辨帡骞撻幒婵堝悑闂佽鍨伴惌鍌炲箖濞嗘搩鏁嗛柛灞诲€栫粊顐︽⒑閼姐倕校濞存粈绮欏畷婵嗩吋婢跺﹥妲梺绋跨灱閸嬬偤宕戦敐鍚ゅ綊鏁愰崶銊ユ畬缂備讲鍋撻柛鎰ㄦ杺娴滄粓鏌熼崹顔碱仾閻庢熬鎷�]936闂傚倸鍊烽懗鍓佸垝椤栨粍鏆滈柟鐑橆殕閺呮繈鏌曢崼婵堝濞存粌缍婇弻鐔虹磼閵忕姵鐏嶉梺绋款儍閸斿矂婀侀梺鎸庣箓閹冲酣寮抽悢鍏肩厽闁哄倹瀵ч崵鍥煛鐏炲墽鈽夐摶锝夋煟閹惧啿顒㈤柣蹇庣窔濮婅櫣鎷犻垾铏亪闂佹寧娲︽禍婊堟偩閻戣棄閱囬柡鍥╁枑濞呫垽姊虹捄銊ユ珢闁瑰嚖鎷�
 [闂傚倸鍊风粈渚€骞夐敓鐘偓鍐幢濡炴洖鎼オ浼村礋椤掍胶褰块梻浣告惈缁嬩線宕㈤懖鈹惧亾濮橆剦妲搁摶鏍煥閺囨氨鍔嶇痪顓炵埣閺屾洟宕奸顫枈闂佸搫鐭夌换婵嗙暦閹烘鏅滈柦妯侯樈娴硷拷]闂傚倷鑳堕崕鐢稿礈濠靛牊鏆滈柟鐑橆殔缁犵娀骞栧ǎ顒€濡介柡鍜佸墴閺岀喖鏌囬敃鈧崢鎾煛鐎n偆澧甸柡灞炬礉缁犳盯濡疯閿涚喖姊洪棃娑氬闁瑰憡濞婇獮鍐亹閹烘挸浠忛柣搴㈢⊕閿氭い蹇ユ嫹+婵犵數濮烽弫鎼佸磻閻愬搫绠伴柟缁㈠枛閻ょ偓绻涢幋鐐茬劰闁稿鎹囬幆鍌炲川婵犲偆浼�+闂傚倸鍊烽懗鍫曘€佹繝鍕濞村吋娼欑壕鍧楁煙缂併垹娅橀柡浣告閺岋綁寮崹顔藉€梺绋块缁夊綊寮诲☉銏犲嵆闁靛ǹ鍎扮花鑽ょ磽娴f彃浜鹃梺璺ㄥ櫐閹凤拷
 [闂傚倸鍊搁崐椋庢閿熺姴纾婚柛娑卞弾濞尖晠鏌曟繛鐐珔闁哄绶氶弻鏇㈠醇濠垫劖效闂佺ǹ顑冮崝鎴濐潖婵犳艾閱囬柣鏃€浜介埀顒佸浮閺岀喖鎸婃径灞澭囨煙椤旀娼愰柟宄版嚇閹兘骞嶉鍛炲┑锛勫亼閸婃牠骞愰幖浣哥疅闁炽儳绻€缂傛碍銇勮箛鎾跺⒈闁轰礁绉电换娑㈠幢濡搫袝闂佺ǹ顑戦幏锟�]S7-200PLC闂傚倸鍊烽悞锕傛儑瑜版帒绀夌€光偓閳ь剟鍩€椤掍礁鍤ù婊呭仱楠炴劙骞掑Δ鈧~鍛存煏閸繃顥滈柛鎾村▕濮婅櫣绱掑Ο鐑╂嫻濠碘€冲级鐢繝鐛箛娑辨晝闁抽攱鑹剧紞濠囧箖椤忓牆宸濇い鏃傗拡娴硷拷 S7_2
 [闂傚倷绀侀幖顐λ囬柆宥呯?闁圭増婢橀崹鍌涖亜閺嶃劌鐒归柡瀣叄閺屾洝绠涚€n亞浼勯柣蹇撶箳閺佸寮婚妸鈺傚亞闁稿本绋戦锟�]S7-200闂傚倷绀佸﹢閬嶅储瑜旈幃娲Ω閳轰胶顔囨繝鐢靛У閼归箖宕欓悩缁樼厱闁硅埇鍔嶅▍鍥ㄣ亜閳哄啫鍘撮柟顔款潐閹峰懘宕ㄦ繝鍛攨缂傚倷璁查崑鎾绘煕閺囥劌鐏¢柣鎾存礋閻擃偊宕舵搴㈠仹闂佸憡蓱缁海妲愰幒妤€绠熼悗锝庡亜椤忥拷,STEP7
 [闂傚倷绀侀幖顐λ囬柆宥呯?闁圭増婢橀崹鍌涖亜閺嶃劌鐒归柡瀣叄閺屾洝绠涚€n亞浼勯柣蹇撶箳閺佸寮婚妸鈺傚亞闁稿本绋戦锟�]ModbusPoll闂傚倸鍊风粈渚€骞夐敍鍕灊鐎光偓閸曞灚鏅㈤梺缁樼墪閻涙矚usSalve闂傚倸鍊烽懗鑸电仚婵°倗濮寸换姗€鐛箛娑欐櫢闁跨噦鎷�
 [闂傚倷绀侀幖顐λ囬柆宥呯?闁圭増婢橀崹鍌涖亜閺嶃劌鐒归柡瀣叄閺屾洝绠涚€n亞浼勯柣蹇撶箳閺佸寮婚妸鈺傚亞闁稿本绋戦锟�]STEP7婵犵數濮烽。钘壩i崨鏉戝瀭妞ゅ繐鐗嗙粈鍫熺節闂堟稓澧愰柛瀣尭椤繈顢橀悩鍐叉珰闂備礁鎼懟顖炴儗娴h櫣涓嶆繛鎴欏灩濡﹢鎮归幁鎺戝闁宠鑻埞鎴︽倷瀹割喖娈舵繝娈垮枙閸楀啿鐣烽幇鏉垮嵆闁绘ê鎼皬闂備浇娉曢崳锕傚箯閿燂拷 Smart_
 [闂傚倷绀侀幖顐λ囬柆宥呯?闁圭増婢橀崹鍌涖亜閺嶃劌鐒归柡瀣叄閺屾洝绠涚€n亞浼勯柣蹇撶箳閺佸寮婚妸鈺傚亞闁稿本绋戦锟�]Modbus闂傚倷娴囧畷鍨叏閹绢噮鏁勯柛娑欐綑閻ゎ噣鏌熼幆鏉啃撻柛搴★攻閵囧嫰寮介妸褏鐓€闂佹悶鍔嶇换鍫ュ蓟濞戙垹绠绘俊銈傚亾闁稿﹨宕甸幉鎾晸閿燂拷 v1.024 缂傚倸鍊搁崐鎼佸磹妞嬪孩顐介柕鍫濐槸缁狀垶鏌ㄩ悤鍌涘
 [闂傚倷绀侀幖顐λ囬柆宥呯?闁圭増婢橀崹鍌涖亜閺嶃劌鐒归柡瀣叄閺屾洝绠涚€n亞浼勯柣蹇撶箳閺佸寮婚妸鈺傚亞闁稿本绋戦锟�]Modscan32闂傚倸鍊风粈渚€骞夐敍鍕灊鐎光偓閸曞灚鏅㈤梺缁樼墪閻涙硞im32,modb
 [闂傚倸鍊烽悞锕€顪冮崹顕呯唵闁逞屽墰缁辨帡骞撻幒婵堝悑闂佽鍨伴惌鍌炲箖濞嗘搩鏁嗛柛灞诲€栫粊顐︽⒑閼姐倕校濞存粈绮欏畷婵嗩吋婢跺﹥妲梺绋跨灱閸嬬偤宕戦敐鍚ゅ綊鏁愰崶銊ユ畬缂備讲鍋撻柛鎰ㄦ杺娴滄粓鏌熼崹顔碱仾閻庢熬鎷�]89c51闂傚倸鍊烽懗鑸电仚缂備胶绮崝娆掓闂備緡鍓欑粔鐢稿磻閻斿摜绠鹃柟瀛樼懃閻忊晜淇婇锝忚€挎慨濠冩そ椤㈡洟鏁愰崶鍓佷紘闂傚倸鍊稿Λ妤冪礊婵犲洤钃熼柨婵嗩樈閺佸倿鏌涢埄鍐炬畷闁绘縿鍨荤槐鎾存媴娴犲鎽甸梺缁樹緱濡叉籍tues
 [闂傚倸鍊烽悞锕€顪冮崹顕呯唵闁逞屽墰缁辨帡骞撻幒婵堝悑闂佽鍨伴惌鍌炲箖濞嗘搩鏁嗛柛灞诲€栫粊顐︽⒑閼姐倕校濞存粈绮欏畷婵嗩吋婢跺﹥妲梺绋跨灱閸嬬偤宕戦敐鍚ゅ綊鏁愰崶銊ユ畬缂備讲鍋撻柛鎰ㄦ杺娴滄粓鏌熼崹顔碱仾閻庢熬鎷�]濠电姷鏁搁崑鐐哄垂閸洖绠扮紒瀣紩濞差亜围濠㈣泛锕﹂ˇ鐗堜繆閵堝繒鍒伴柛鐕佸亰瀹曟帡濡搁埡鍌滃幈闂佺粯鍔栧ḿ娆掆叿otues濠电姷鏁搁崑娑㈩敋椤撶喐鍙忛柟顖嗏偓閺嬫牠鏌¢崶鈺佸壋闁兼澘娼¢弻銊モ槈濡警浼€闂佹椿鍘介悷鈺呭箖濡ゅ懏鏅查幖瀛樼箘閺佹牜绱掗悙顒佺凡缂佸鏁搁幑銏犫攽婵犲孩歇闂備礁鎲″褰掋€冩繝鍥х畺闁靛鏅滈弲鎼佹煥閻曞倹瀚�
 [闂傚倸鍊烽悞锕€顪冮崹顕呯唵闁逞屽墰缁辨帡骞撻幒婵堝悑闂佽鍨伴惌鍌炲箖濞嗘搩鏁嗛柛灞诲€栫粊顐︽⒑閼姐倕校濞存粈绮欏畷婵嗩吋婢跺﹥妲梺绋跨灱閸嬬偤宕戦敐鍚ゅ綊鏁愰崶銊ユ畬缂備讲鍋撻柛鎰ㄦ杺娴滄粓鏌熼崹顔碱仾閻庢熬鎷�]51闂傚倸鍊风粈渚€骞夐敓鐘偓鍐幢濡炴洖鎼オ浼村礋椤掍胶褰块梻浣告惈缁嬩線宕㈤懖鈹惧亾濮橆剦妯€闁哄本绋戦埞鎴﹀幢濡ゅ﹣鎮i梻浣侯潒閸愬灝濮涚紓浣介哺鐢偤鍩€椤掑﹦绉柛鈺傜墱閳ь剚鐔幏锟� protues濠电姷鏁搁崑娑㈩敋椤撶喐鍙忛柟顖嗏偓閺嬫牠鏌¢崶鈺佸壋闁兼澘娼¢弻銊╂偆閸屾稑顏�
闂佸搫鐗冮崑鎾绘煛閸屾粌顣奸柡瀣暟缁晠鏁撻敓锟�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询