进阶之路(基础篇) - 010 Arduino 函数(基本、串口、SPI)

一.基本函数

pinMode(引脚号,模式);

digitalWrite(引脚号,电平状态);              //默认低电平(或浮空)  

  digitalRead(数字输入端口号);

  analogRead(引脚号);               //调用10位AD

  analogWrite(引脚号,模拟量);             //调用8位AD

  pulseIn(引脚号,脉冲响应电平,最大响应时间(微秒));

二.串口

Serial.begin(数据传输的波特率);

Serial.println(传回的数据);

Serial.available();                                 //判断串口是否接收到数据

Serial.print(字符串);                           //通过TX传出去

Serial.write(字符串);                          //写入串口中

Serial.println(字符串);                       //通过TX传出去,并在尾端加换行

Serial.print(thisByte);                         //打印文字

Serial.print(thisByte,HEX);                //打印十六进制数

Serial.print(thisByte,OCT);                //打印八进制数

Serial.print(thisByte,BIN);                 //打印二进制数

max(a,b);                                               //返回最大值

三.SPI(高阶库)

SS/CS:片选(高电平屏蔽,低电平启用)

MOSI :主机送出信号

MISO :主机结收信号

CLK  :时钟脉冲

SPI成员:

begin();

功能 :初始化SPI,设置CLK,MISO和SS为输出,将SCK和MOSI拉低,将SS拉高。

形式 :SPI.begin();

返回值:none

setBitOrder();

功能:设 置进入和输出SPI总线比特(bit)的顺序:LSBFIRST(低位开始)或者 MSBFIRST (高位开始)。

形式:SPI.setBitOrder(order);

参数:order:LSBFIRST或 MSBFIRST

返回值:none

setClockDivider();

功能:设置SPI串行通信时钟的分频系数

形式:setClockDivider(SPI_CLOCK);

参数(SPI_CLOCK)

SPI_CLOCK_DIV2  //2分频,系统时钟的 1/2

SPI_CLOCK_DIV4  //4分频,系统时钟的 1/4

SPI_CLOCK_DIV8  //8分频,系统时钟的 1/8

SPI_CLOCK_DIV16 //16分频,系统时钟的 1/16

SPI_CLOCK_DIV32         //32分频,系统时钟的 1/32

SPI_CLOCK_DIV64         //64分频,系统时钟的 1/64

SPI_CLOCK_DIV128        //128分频,系统时钟的 1/128

setDataMode();

功能:设置数据模式

形式:SPI.setDataMode(mode);

参数(mede):

SPI_MODE0  CPOL = 0 CPHA = 0

SPI_MODE1  CPOL = 0 CPHA = 1

SPI_MODE2  CPOL = 1 CPHA = 0

SPI_MODE3  CPOL = 1 CPHA = 1

时钟极性CPOL: 即SPI空闲时,时钟信号SCLK的电平(1:空闲时高电平; 0:空闲时低电平)

时钟相位CPHA: 即SPI在SCLK第几个边沿开始采样(0:第一个边沿开始; 1:第二个边沿开始)

transfer();

功能:在SPI上传输一个字节(byte),发送和接收都是这个函数

形式:SPI.transfer(val);

参数(val):要发送的字节

返回值:从 bus 上读取字节。(读操作使用的时候)

end();

功能:结束传输

形式:end();

参数:无

返回值:无

四.SPI(低阶aTmega(AVR) 库)

SPI三个寄存器SPCR(控制寄存器),SPCR(状态寄存器),SPDR(数据的暂存器)

SPCR(SPI Control Register暂存寄存器)

7bit  SPIE 片选使能,SPIE = 1;片选无效,SPIE = 0片选有效(主机无需片选)(单机通信也无需片选)

6bit  SPE

5bit  DORD

4bit  MSTR

3bit  CPOL         时钟极性,CPOL = 0(时钟空闲为低电平);CPOL = 1(时钟空闲为高电平)

2bit  CPHA        相位极性,CPHA = 0(表示第一个边沿);CPHA = 1(表示第二个边沿);都是表示数据采样,数据有效的时刻。

1bit  SPR1

0bit  SPR0

SPCR(SPI Status Register 暂存寄存器)

SPDR(SPI Control Register数据的暂存器)

时间: 2024-08-05 15:11:23

进阶之路(基础篇) - 010 Arduino 函数(基本、串口、SPI)的相关文章

【思库教育】2017PHP项目实战基础+进阶+项目之基础篇

下载链接: [思库教育]2017PHP项目实战基础+进阶+项目之基础篇 小白变大牛,您的专属资源库! 小白变大牛,您的专属资源库! 内容非常充实,可以看目录,设计的面多,项目多,技能多,如果掌握好,找一份PHP的工作,易如反掌!学完后可以到PHP小白变大牛精华区查找更加符合你的资源或者项目! [思库教育]2017PHP项目实战基础+进阶+项目之基础篇[思库教育]2017PHP项目实战基础+进阶+项目之进阶篇[思库教育]2017PHP项目实战基础+进阶+项目之项目篇小白变大牛!Python小白,J

Linux运维之路 基础篇:Linux基础命令(一)

Linux运维之路 基础篇:Linux基础命令(一) Linux哲学宗旨: 一切皆文件:把几乎所有的资源,包括硬件设备都组织为文件 有众多单一的小程序组成,一个程序制实现一个功能,组成小程序完成复杂操作 尽量避免和用户交互:实现脚本编程,以自动完成某些功能 使用纯文本文件保存配置信息 终端:用户和主机交互时用到的设备 物理终端:直接接入的设备也叫控制台/dev/console 虚拟终端:附加在物理终端上虚拟出的,默认启动六个,Ctrl+Alt(F1~F6),系统启动时,默认启动虚拟终端1,启动终

Python学习之路基础篇--09Python基础,初识函数

函数可以分为内置函数 和 自定义函数.这次关注的主要是自定义函数.定义函数之后,就可以在任何需要它的地方调用. 1 返回值的重要性 返回值的3种情况 没有返回值 ---- 返回None 不定 return 只写 return :结束一个函数 return None ---- 不常用 只有一个返回值 可以返回任何数据类型 只要返回就可以接收到 如果一个函数中有多个return ,那么只执行第一个 返回多个值 用多个变量接收:有多少个返回值就用多少个变量接收 用一个变量接收:得到一个元组 2 参数

python之路基础篇

1. Python基础之初识python 2. Python数据类型之字符串 3. Python数据类型之列表 4. Python数据类型之元祖 5. Python数据类型之字典 6. Python Set集合,函数,深入拷贝,浅入拷贝,文件处理 7. Python之常用模块 8. python正则表达式 9. python面向对象编程 10.python之socket编程 11.python进程.线程.协程

python学习之路基础篇(第四篇)

一.课程内容回顾 1.python基础 2.基本数据类型  (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = bytes(s,encoding="utf-8") print(ret) ret1 = bytes(s,encoding="gbk") print(ret1) #程序运行结果如下: b'\xe8\x80\x81\xe7\x94\xb7\xe4\xba\xba' b'\xc0

Linux成长之路-基础篇(1)

一.计算机组成及功能1.计算机的组成计算机组成指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的 组成及逻辑设计等.主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备.2.各组成部分的功能(1)运算器:运算器的主要功能是对数据进行各种运算.这些运算除了常规的加.减.乘.除等基本的算术运算之外,还包括能进行"逻辑判断"的逻辑处理能力,即"与"."或"."非"这样的基本逻辑运算以及数据的比较.移位等操作.(2)控制

python之路-基础篇-day2

基本数据类型 在Python中,一切事物都是对象,对象基于类创建 注:查看对象相关成员的函数有:var,type,dir 基本数据类型主要有: 整数 长整型 浮点型 字符串 列表 元组 字典 set集合 接下来将对以上数据类型进行剖析: 1.整数 int 如:18.73.-100 每一个整数都具备如下功能: class int(object): """ int(x=0) -> integer int(x, base=10) -> integer Convert a

python之路-基础篇-8 循环

python中循环有两种,分别是for循环和while循环,循环可以将序列的数据进行迭代处理: for循环 for循环依次把list.tuple或字符串中的每个元素迭代出来,例如: names = ["zhangcong", "lisanjiang", "pangzhiguo"] for name in names: print name # 执行结果 zhangcong lisanjiang pangzhiguo 所以for x in - 循环

python之路-基础篇-day3

今日所讲知识点总结: 1.set集合 2.collections Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: 1)Counter:计数器 2)OrderedDict:有序字典 3)defaultdict:默认字典 4)namedtuple:可命名元组 5)deque:双向队列 set集合 set集合是一个元素不重复的无序集合.类似于字典的key组成的一个无序集