zoukankan      html  css  js  c++  java
  • 进阶之路(基础篇)

    一.基本函数

          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数据的暂存器)

  • 相关阅读:
    LeetCode 230. Kth Smallest Element in a BST
    LeetCode 114. Flatten Binary Tree to Linked List
    LeetCode 222. Count Complete Tree Nodes
    LeetCode 129. Sum Root to Leaf Numbers
    LeetCode 113. Path Sum II
    LeetCode 257. Binary Tree Paths
    Java Convert String & Int
    Java Annotations
    LeetCode 236. Lowest Common Ancestor of a Binary Tree
    LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/jikexianfeng/p/6824383.html
Copyright © 2011-2022 走看看