Arduino中部分函数的用法

Arduino编程主要运用各种函数实现对电路板上各个引脚的控制。和数据采集。其语法和部分关键字与C语言相同。本周主要学习与arduino有关的知识,以下为自己的学习总结。

1.先从arduino的基础——各种引脚的作用与接法开始:

    ***A1\A2\A3\..........***这些引脚可以从模拟传感器(如湿度传感器或温度传感器)读取信号,并将其转换为可由微处理器读取的数字值。
    ***TX(发送)和RX(接收)***它们出现在Arduino UNO板的两个地方。首先,在数字引脚0和1处,指示引脚负责串行通信。其次,TX和RX LED(13)。发送串行数据时,TX LED以不同的速度闪烁。闪烁速度取决于板所使用的波特率。RX在接收过程中闪烁。
    ***ICSP引脚***(板上唯一的一组公头):大多数情况下,ICSP(12)是一个AVR,一个由MOSI,MISO,SCK,RESET,VCC和GND组成的Arduino的微型编程头。它通常被称为SPI(串行外设接口),可以被认为是输出的“扩展”。实际上,你是将输出设备从属到SPI总线的主机。

2.在arduino的编程中有些函数的参数由“HIGH”与“LOW”两个值构成虽然可以根据字面意思即“高”、“低”来理解和使用他们,但有些用法要真正理解HIGH与LOW在电路工作中的实际意义才能真正掌握:

    HIGH
	HIGH取决于对引脚(pin)的设置
	{
	1.若引脚被设置为INPUT并通过digitalRead()读取时,当前引脚若大于3V微控制器将会返回					   HIGH。
	2.引脚若被设置为INPUT并通过digitalWrite()设置为HIGH,则输入引脚的值会被一个内在的20K上拉电阻控制在HIGH上除非外部电路将其拉低至LOW。
	3.当一个引脚被设置为OUTPUT时,若被设置为HIGH引脚电压应在5V。在这种状态下他可以输出电流。
	}
	LOW
	{
	1.当引脚被设置为INPUT,并通过digitalRead()被设置为读取时电压小于2V返回LOW当一个引			   脚通过pinMode配置为OUTPUT, 并通过 digitalWrite 设置为 LOW 时,引脚为 0V。在这种状态下,它可以 倒灌 电流。例如, 点亮一个通过串联电阻连接到+5V,或到另一个引脚配置为 OUTPUT、HIGH 的的 LED。
	}

3.在arduino编程时不免会出现“analog”根据自己的理解“analog”与arduino板上的pwmpwm详解功能相关。以下为自己对“analogWrite”与“analogRead”的使用方法与功能的总结:

	analogWrite()255
	其参数代表高电平所持续的时间占整个周期的比例即占空比。analogWrite并不能改变pwm的频率
	analogRead()1023
    读取A1\A2\A3\.........接口的电压读数
    接口位置:大多数板上的A0到A5,MKR板上的A0到A6,Mini和Nano上的A0到A7,Mega上的A0到A15

5.arduino板与计算机之间的通信 (Serial)

***serial.begin()***
设置串行数据传输的数据速率,以每秒位数(波特)为单位。要与计算机通信,请使用以下速率之一:300,600,1200,2400,4800,9600,14400,19200,28800,38400,57600或115200.但是,您可以指定其他速率 - 例如,通过引脚0和1与需要特定波特率的组件进行通信。
可选的第二个参数配置数据,奇偶校验和停止位。默认值为8个数据位,无奇偶校验,一个停止位。
句法
***Serial.begin(速度)
Serial.begin(速度,配置)
serial.read()***
“Arduino的编程中,串口输入与输出都是针对ASCII码值的,比如字母's'的ASCII码值为115。
输入方面,对于Serial.read(), monitor中输入's'或者115,程序得到的值都为's'. 而且Serial.read()每次只能接受一个byte的数据,如果想要输入字符串,则需要专门写一段程序来实现。
输出方面,理论上Serial.write('s') 与Serial.write(115) 应该相同,然而事实并非如此。实际测试中,发现Serial.write(115) 与Serial.write('115') 相同,由此可以推测Serial.write()函数中有代码专门对这种情况进行了处理,将数字隐式地转化成了字符串,使用户不用关心ASCII码,并尽量贴近于其他语言。然而缺点就是与Serial.read()的不统一。”
该函数每次只能接收一个字节的数据。如果想要接收字符串则应该编一段程序。
***serial.available()***
获取可从串行端口读取的字节数。这是已经到达并存储在串行接收缓冲区(其中包含64个字节)的数据

以上为自己一周中对arduino的编程部分做的部分总结。arduino新手请谨慎参考。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值