# `I2C`_總線協議
`I2C` 總線協議,使用兩條線(SCL,SDA)可以控制多個從機(`from machine import I2C`)
*****
## **構造函數:**
* [ ] **新建對象**
```
class machine.I2C(id, mode=I2C.MODE_MASTER, scl=None, sda=None, freq=400000, timeout=1000, addr=0, addr_size=7, on_recieve=None, on_transmit=None, on_event=None)
```
> 通過指定的參數新建一個 I2C 對象
*參數:*
* `id`: I2C ID, [0~2]即 (`I2C.I2C0`~`I2C.I2C2`)
* `mode`: 模式, 主機(`I2C.MODE_MASTER`)和從機(`I2C.MODE_SLAVE`)模式
* `scl`: SCL 引腳,直接傳引腳編號即可,取值范圍: [0,47]
* `sda`: SDA 引腳,直接傳引腳編號即可,取值范圍: [0,47]
* `freq`: I2C通信頻率, 支持標準100Kb/s, 快速400Kb/s
* `timeout`: 超時時間,目前這個參數保留,設置無效
* `addr`: 從機地址,如果是主機模式不用設置, 從機模式則代表從機(本機)地址
* `addr_size`: 地址長度, 支持 7 位尋址和 10 位尋址, 取值`7`或者`10`
* `on_recieve`: 從機模式的接收回調函數
* `on_transmit`: 從機模式的發送回調函數
* `on_event`: 從機模式的事件函數(開始事件和結束事件)
*返回:*
* `None`
*****
## **方法:**
* [ ] **掃描從機**
```
.scan()
```
>掃描I2C總線上的從機
*參數:*
* 無
*返回:*
* list 對象, 包含了所有掃描到的從機地址
*****
- 簡介
- 關于MixPY
- 準備
- MixPY_函數庫
- MicroPython標準庫
- gc _控制垃圾回收器
- math_數學函數
- sys_系統相關函數
- ubinascii _ 二進制/ ASCII轉換
- ucollections_集合和容器類型
- uerrno _系統錯誤代碼
- uheapq_ 堆隊列算法
- ujson_JSON編碼與解碼
- uos _基本的“操作系統”服務
- ure_正則表達式
- MixPY_特定函數
- lcd_顯示驅動
- lcd_范例
- sensor_感光元件
- sensor_范例
- image_機器視覺
- image_函數
- HaarCascade 類_特征描述符
- Similarity 類_相似度對象
- Histogram 類_直方圖對象
- Percentile 類_百分比值對象
- Threhsold 類_閾值對象
- Statistics 類_統計數據對象
- Blob 類_色塊對象
- Line 類_直線對象
- Circle 類_圓形對象
- Rect 類_矩形對象
- QRCode 類_ 二維碼對象
- AprilTag 類_AprilTag對象
- DataMatrix 類_數據矩陣對象
- BarCode 類_條形碼對象
- Displacement 類_位移對象
- Kptmatch 類_特征點對象
- ImageWriter 類_ImageWriter對象
- ImageReader 類_ImageReader對象
- Image 類_圖像對象
- touchscreen_觸摸屏幕
- touchscreen_范例
- video_視頻
- video_范例
- audio_音頻
- audio_范例
- nes_游戲模擬器
- nes_范例
- machine_板級功能
- I2C_總線協議
- I2C_范例
- PWM_脈寬調制
- PWM_范例
- SPI_同步串行協議
- SPI_范例
- Timer_硬件定時器
- Timer_范例
- UART_異步串口
- UART_范例
- network_網卡驅動
- network_范例
- Maix_功能庫
- FPIOA_可編程 IO 陣列
- FPIOA_范例
- GPIO_通用輸入/輸出
- GPIO_范例
- I2S_驅動I2S設備
- I2S_范例
- freq_頻率模塊
- freq_范例
- FFT_傅里葉運算
- FFT_范例
- KPU_神經網絡處理器
- KPU_范例