1. 程式人生 > >Arduino Wire.h 庫函式基本操作 IIC

Arduino Wire.h 庫函式基本操作 IIC

想測Arduino的I2C效能,又不知道如何使用庫函式,又不想自己寫函式。。順手把Arduino官網的Wire.h庫函數借鑑下。

首先,arduino中的Wire庫主要包含以下函式:

 Wire.begin()

 Wire.requestFrom()

 Wire.beginTransmission()

 Wire.endTransmission()

 Wire.write()

 Wire.available()

 Wire.read()

 Wire.onReceive()

 Wire.onRequest()

1、Wire.begin() 和 Wire.begin(address)

描述 

初始化wire庫 ,並且加入到I2C網路,前者作為Master 或 Slaver,並且只能呼叫一次。

引數

address :7位的器件地址(可選),如果沒有輸入,則以Master的形式加入到I2C網路。

2、Wire.requestFrom()

描述

主裝置請求從裝置一個位元組,這個位元組可以被主裝置用 read()或available()接受。

Wire.requrstFrom(addtess,quantity)

Wire.requrstFrom(addtess,quantity,stop)

引數

addtess : 7位的器件地址

quantity : 請求得到的數量

stop :布林形,‘1’ 則在請求結束後傳送一個停止命令,並釋放匯流排。‘0’則繼續傳送請求保持連線。

返回

位元組形 ,從從機接受到的位元組數目。

3  Wire.beginTransmission(address)

描述 

開始一次傳輸資料,傳送一個I2C開始字元

引數 

address : 器件的7位地址

返回值 無

4、 Wire.endTransmission()和Wire.endTransmission(stop)

描述

結束一個由beginTransmission()開始的並且由write()排列的從機的傳輸。在Arduino中 endTransmission()接受到

一個布林形變數,如果為1 則endTransmission()傳送一個停止資訊;如果為0 則傳送開始資訊

返回值

0 成功 1 資料溢位 2 傳送addtess時從機接受到NACK 3 傳送資料時接受到 NACK 4 其他錯誤

5、 Wire.write()

描述

向從機發送資料

形式

Wire.write(value) 

Wire.write(string)  

Wire.write(data, length) 

引數

value :要傳送的數值

string :字元組的指標

data :一個位元組陣列

length :傳輸的數量

例子:

#include <Wire.h>

byte val = 0;

void setup()
{
   Wire.begin(); // join i2c bus
}

void loop()
{
   Wire.beginTransmission(44); // transmit to device #44 (0x2c)
                               // device address is specified in datasheet
   Wire.write(val);             // sends value byte  
   Wire.endTransmission();     // stop transmitting

   val++;        // increment value
   if(val == 64) // if reached 64th position (max)
   {
     val = 0;    // start over from lowest value
   }
   delay(500);
}

6、  Wire.available()

描述

7、 Wire.read()

 8、 Wire.onReceive()

 9、 Wire.onRequest()


相關推薦

Arduino Wire.h 函式基本操作 IIC

想測Arduino的I2C效能,又不知道如何使用庫函式,又不想自己寫函式。。順手把Arduino官網的Wire.h庫函數借鑑下。 首先,arduino中的Wire庫主要包含以下函式:  Wire.begin()  Wire.requestFrom()  Wire.begi

Arduino Wire.hIIC/ I2C)語法

lowest none 數量 ack rst 版權 logs rsquo write 轉自:https://www.cnblogs.com/1996jiwei/p/6561681.html 本文轉自上面鏈接,版權請直接參考原鏈接。 最近在用I2C進行通信交流,發現有兩種

二、數據基本操作

數據庫操作、存儲引擎MySQL命令主要分為以下幾類: DML:Data Manapulate Language: 數據操作語言(操作表中數據) INSERT, REPLACE, UPDATE, DELETE DDL:Data Defination Lanuage: 數據定義語言(操作表) CR

PHP對於數據基本 操作

echo 對數 默認 取出 進入 活動 所有 意思 admin 如果您是使用本人推薦的PHPstudy,那麽您可以按照以下操作進行,如果是別的PHP環境可能有所差異。 進入數據庫的後臺,在瀏覽器地址欄輸入 localhost/phpmyadmin 即可進入數據庫中,默認的

數據基本操作

mysql 基本操作 數據庫的操作筆記:加油! 跳過授權登錄:1,關閉mysql;mysqld --skip-grant-tables 重新啟動客戶端不用密碼就可以登錄 遠程登錄數據庫: select user() 查看當前登錄用戶 建立本機賬號 create user ‘admin‘@‘lo

Linux下MySQL 數據基本操作

特定 沒有 條件 有時 install 用戶權限 create arch 數據庫軟件 1. 創建數據庫相關命令:   首先,下載MySQL相關軟件包:aptitude install mysql-server/mysql-client   MySQL中的root用戶類似於L

關於SQL sever數據基本操作小案例整理

select 新建數據庫 let arc 所有 blog var 數據庫 ren 基本語句: 1、新建 新建數據庫: create database shuguo 新建表格:(註意,要選定要建表格的數據庫) create table renwuin(bianhao int,

mysql數據基本操作:創建數據、查看數據、修改數據、刪除數據

bbs nor nlb res tco ipc sep tmg atop 本節相關: 創建數據庫,查看數據庫,修改數據庫,刪除數據庫 首發時間:2018-02-13 20:47 創建數據庫 : 語法 : create database 數據庫名字[庫選項]

MySQL5.7-數據基本操作

charset ase l數據庫 insert name chang proc 編碼方式 -s 登錄MySQL數據庫 格式:mysql -u 用戶名 -h 主機名或IP地址 -P 端口號 -p 密碼 1、顯示數據庫 SHOW DATABASES; MySQL5.7

設置MySQL數據密碼,連接數據以及基本操作的常用命令

MySQ常用操作一、更改MySQL的root用戶密碼 1、首次進入數據庫 [root@zlinux ~]# /usr/local/mysql/bin/mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQ

數據_6_SQL基本操作——操作

中劃線 空格 是什麽 用兩個 必須 設定 依賴 分享 中文 SQL基本操作——庫操作:對數據庫的增刪改查 一、新增數據庫(創建) 基本語法:Create database 數據庫名字 [庫選項]; 庫選項用來約束數據庫,分為兩個選項:1.字符集設定:charset/char

mysql 數據基本操作1

MySQLmysql數據庫管理 day01相關概念問題數據庫介紹? 存儲數據的倉庫 數據庫服務都那些公司在使用? 購物網站 遊戲網站 金融網站 數據服務存儲的是什麽數據?帳號信息 對應的數據信息 提供數據庫服務的軟件有那些?開源軟件 mysql 、 mongodb

數據基本操作2

mysqlmysql-day03一、mysql存儲引擎1.1 存儲引擎介紹: 是mysql數據庫軟件自帶的功能程序,每種存儲引擎的功能和數據存儲方式也不同存儲引擎就處理表的處理器 1.2 查看數據庫服務支持的存儲引擎有那些?mysql> show engines;InnoDB

Linux下對MySQL/MariaDB數據基本操作以及linux mysql添加用戶,刪除用戶,以及用戶權限的授予

信息 查看 let quit mar 普通用戶 表名 mys xxxx 文章引用地址:https://www.cnblogs.com/Glory-D/p/7518541.html、https://www.cnblogs.com/zhchoutai/p/6929103.htm

矩陣Numpy基本操作

坐標 sort imp span line 第一個 ros list ray NumPy是一個關於矩陣運算的庫,熟悉Matlab的都應該清楚,這個庫就是讓python能夠進行矩陣話的操作,而不用去寫循環操作。 下面對numpy中的操作進行總結。 numpy包含兩種基本的數據

2018.9.2 數據基本操作總結

create 基本操作 db_name 數據庫表 數據庫 char delet 數據類型 一個 創建數據庫 數據庫創建 : Create database db_name; 創建用戶 create user 用戶名 identified by 密碼 用戶的權限控制:gr

MongoDB數據基本操作

不能 ont class data $set bms find 創建 student 介紹 MongoDB 是一個介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。 MongoDB中將數據存儲為一個文檔,文檔由鍵值對(key=&

數據可視化-Matplotlib基本操作

spa orm ott -- nds nth color pandas pri python-3.7 pycharm  matplotlib 2.2.3 """ 數據可視化庫-Matplotlib 時間:2018\9\12 0012 """ i

MySQL 基本操作

charset com 新增 upd close use con www isp 庫的操作 一、系統數據庫 執行如下命令,查看系統庫 show databases; nformation_schema: 虛擬庫,不占

MySQL數據基本操作

size mysq 重名 下劃線 用戶 test 命名規則 chang 和數 1、數據庫和數據庫對象 數據庫分為系統數據庫和用戶數據庫。 數據庫對象是指存儲、管理和使用數據庫的不同結構形式,主要包括表、視圖、存儲過程、函數、觸發器和事務。 1、系統數據庫 系統數據庫是值安裝