I2C匯流排介面單元.

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

北京师范大学图书馆服务外包 探索与实践 王 琪 提 纲 思考与认识 北师大馆概况 探索与实践 优劣之比较 需要注意的问题.
北京市二级以上医院疾病预防控制工作考核标准(试行) (七)健康教育 北京市疾控中心 健康教育所 李玉青 副主任医师 二〇一一年八月 四、技术考核.
認識大學:校系介紹 介紹校系:逢甲大學-電機 工程學系 班級 :406 座號 :09 姓名 : 邱柏淵 指導老師 : 黃素珍 老師.
高中物理学习方法. 【状元说经】 胡湛智,是贵州省高考理科状元,他说复习物理 的要点首要的是充分重视课本知识,除了跟上老 师的步调外,自己一定要多钻研课本,课本上的 思考题是复习的纲,再找一些考点解析,认真搞 清每个概念、每个要求,并相应做一定数量的习 题;其次也要特别重视画图的作用,画图有直观、
未婚懷孕:你想清楚了嗎. 家事?國事?天下事? 台灣未成年小媽媽 比例冠亞洲 衛生署統計台灣性行為低齡化,最小的僅 十二歲半。 未成年懷孕,台灣是千分之十二點九五。 九月墮胎潮.
组长:周枫 副组长:杨海岩 高中生心理成长的唤醒策略研究. (一)研究背景 长期以来,学校、家庭和社会关心高中生成长大多集中 在学生的饮食、安全、学业成绩以及升学就业等问题上, 忽略了与中学生发展息息相关的心理健康教育问题。面对 新形势下高中生问题日益增多,心理健康教育日渐成为引 起我们足够重视的一个课题。
人社分中心 职工养老保险业务简介. 基本养老保险分类 1. 职工养老保险 2. 新型农村社会养老保险 3. 城镇居民社会养老保险 (城乡居民社会养老保险) (城镇居民社会养老保险和新型农村社会养老 保险合并实施)
東元綜合醫院 主講人:醫事課 課長 張桂瑛 醫管處醫事課 新人教育訓練課程 -批價作業.
继承与创新 特色和追求 新一轮技工院校 德育课程改革培训 田雷 全国中等职业技术学校德育教材研究专业组组长
新多益擬真英檢系統 以專區帳密登入 選擇任一項目 注意:限用IE瀏覽器!!.
两汉文学及汉代诗歌.
温故知新 问题一:我国科技发展经过怎样的历程? 中华民族在历史上曾创造了辉煌灿烂的文化,世界领先;
近现代文学概说.
第八章 结算业务的核算.
社会保险法律体系知识 养老保险政策系列宣传 保险知识问答
2代系統簡介 (招標、領標、開標、決標).
唐代文学概说 与初唐诗坛.
白领通定义 家庭备用金 无需担保、无需抵押 授信额度:一次授信、循环使用 1、白领通业务定义、发展现状及发展思路
長期照護.
繁星推薦及申請入學 家長說明會 教務處試務組.
领会法律精神 理解法律体系 城控313-3班益达组制作.
主 題:金控下之壽險公司的行銷策略 報 告 人:新光人壽 胡明遠
不可不知的新生資訊 國際事務處 國際學生事務組.
银联代付产品.
幼兒預防接種.
理工科系介紹.
內政部入出國及移民署 彰化縣服務站 外國人居停留 報告人 科員 江順泉.
第36章 真菌学总论.
良心處方 Click to start..
《江苏省道路运输条例》学习交流课件 兴化市运输管理处 政策法规科.
社 会 保 险 知 识 培训教材.
报 关 实 务 海关通关作业流程.
第三期 重点管理标准和制度宣贯会 2016年5月12日.
企業籌資更便捷 大眾投資更穩當 103年度新增(修)資訊申報項目說明 2014年11月.
為孩子編織一個支持網  台北市家庭暴力暨性侵害防治中心.
國立金門大學101學年度新生報到暨入學說明會 國立金門大學 學生宿舍 學務處簡介.
便民办税春风行动 ——税收优惠辅导培训 上杭县国家税务局纳税人学校 二0一四年九月 去除PPT模板上的--无忧PPT整理发布的文字
MySQL主从同步
新办纳税人办税服务指南 (郑州经济技术开发区国税局)
(讲座幻灯课件请在网上下载,让我们一起思考!)
考勤制度(辅助岗位版) 作者:侯建伟 日期:2009年12月 考勤管理规定 讲师:贾 芳 2008年5月.
宁波市慈溪进出口股份有限公司 多媒体电子演示文稿(PPT)参赛作品
暑期社區醫學課程— 衛生所所見習報告 王玨 莊國璨 楊少槐 黃愉真 陳佩岑.
依法保护青少年健康成长 1、相关新闻 2、相关法律.
交流一: 您的客户为什么要买医疗产品? 1.人总归会生病,生病肯定要花钱; 2.现在的医疗费用真的很高,承受不起;
歐洲西半部 北極海 北美洲 北海 大西洋 地中海 非 洲.
焦虑症.
济源市国税局网上办税业务介绍 主讲人 办税服务厅 杨武兵 2014年8月1日.
交易员培训辅助设备的开发与推广 D-NAK团队
簡 報 大 綱 壹、緣起 貳、執行過程 參、效益.
中国注册会计师协会财务报表审计工作底稿研讨班
第七章 筹资管理概述 本章主要内容 了解企业筹资的动机与原则 掌握资金来源的构成与分类 掌握企业筹资的方式与筹资渠道
契約 課程:文書實務與應用 教師:黃湃翔老師.
六入處誦(II).
數位邏輯的基礎.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
奢侈稅成效分析與房市未來發展 吳中書 中華經濟研究院 第十九屆亞太財務經濟會計及管理會議 ~07.09.
第六章 安全衛生工作守則 6-1 前 言  6-2 訂定依據相關法令規定  6-3 工作守則製作程序及製作前應注意事項  6-4 如何訂定適合需要之安全衛生工作守則  6-5 結 論.
「結合智慧型手機與 虛擬蝴蝶生態園之 互動系統」報告
华东年前风险培训第二期
電能領域修課流程圖-大學部(甲乙班) 大一上 大一下 大二上 大二下 大三上 大三下 大四上 大四下 畢業出路 *電動機 *電力系統 普通
指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A 邱建傑 4A 白智仁 4A 簡宗胤
贏得萬邦的異象.
DMA
沙巴原住民青少年 關懷及教育志業 佛教慈濟功德會 馬來西亞沙巴亞庇聯絡处.
全台灣最美的日出好美…好美… 這就是傳說中的潑墨二寮,耳聞她的日出有如國畫般 所以稱為潑墨二寮
单片机原理及应用 (C语言版) 第8章 单片机系统扩展
第十三章 S3C2410的I2C总线控制.
2. 行銷環境 授課老師:﹍楊子青﹍﹍ 行銷管理:理論解析與實務應用.
Presentation transcript:

I2C匯流排介面單元

大綱 概觀 信號說明 功能說明 I2C匯流排操作 Slave模式程式設計範例 Master程式設計範例

概觀 I2C Bus是由飛利浦研發的一個二支腳位的序列匯流排 I2C單元允許處理器透過I2C匯流排來服務master和slave裝置 SDA資料腳位 -輸入和輸出功能 SCL時脈腳位 -控制和參考I2C匯流排 I2C單元允許處理器透過I2C匯流排來服務master和slave裝置 I2C單元啟動應用程式處理器與I2C周邊設備作溝通以及使用微控制器達成系統管理功能

I2C 介面圖

概觀(cont.) I2C單元是屬於應用程式處理器內部匯流排的一個周邊設備 資料是經由一個緩衝介面來傳送到I2C匯流排以及從I2C匯流排來接收 控制和狀態資訊是透過一組記憶體映像暫存器來傳送

信號說明 I2C單元信號為SDA和SCL 信號名稱 輸入/輸出 說明 SDA 雙向 I2C 序列資料/位址信號 SCL

功能說明 I2C 匯流排定義一個由序列資料/位址 (SDA)線和序列時脈線(SCL)組成的序列協定給I2C匯流排上的代理器處理來處理通過的資訊 I2C匯流排上的每個裝置是由一個獨特的7位元位址來識別而且可以在master或slave模式下當成傳送端或接收端來操作

功能說明(cont.) I2C 裝置 定義 傳送端 傳送資料到I2C匯流排 接收端 從I2C匯流排接收資料 Master 起始傳送,產生時脈信號,終止傳送 Slave 由master來定址裝置 Multi-master 多個master能同時試著控制匯流排 調停 當多個master同時嘗試要控制匯流排時,保證只有一個master能控制匯流排

功能說明(cont.) 當應用程式處理器I2C單元在匯流排上作用為master時,它定址一個EEPROM為slave來接收資料。當I2C單元定址EEPROM時,它是一個master傳送端而EEPROM是一個slave接收端。當I2C讀取資料時,它是一個master接收端而EEPROM是一個slave傳送端。不管它是傳送端或是接收端,master會產生時脈信號,起始傳送,還有終止傳送

功能說明(cont.) I2C匯流排允許multi-master系統,意思是當多個裝置能同時起始資料傳輸 I2C匯流排調停(藉著硬體接線及閘連接所有I2C介面到I2C匯流排 二個masters能同時驅動匯流排,前提是他們所傳送的資料是相同的 假如一個master嘗試去驅動SDA高電位而另一個master驅動SDA為低電位時,則調停失敗 SCL線是一個由所有的master使用硬體接線及閘連接到SCL線所產生的同步時脈組合

操作區塊 I2C單元是連接到周邊的匯流排,應用程式處理器使用中斷機制來通知CPU在I2C匯流排上的動作 可以使用輪詢來取代中斷 I2C單元是由二條接線介面到I2C匯流排,由一個8位元緩衝器來傳送與接收從應用程式處理器來的資料、一組控制與狀態暫存器和平行/序列轉換的移位暫存器所組成

操作區塊(cont.) 當緩衝區滿溢、緩衝區清空、檢測到I2C單元slave位址、調停失敗、或是匯流排錯誤情況發生時,I2C單元會初始啟動中斷應用程式處理器。所有中斷情況必須由軟體確實地清除 當接收到資料時,8位元I2C資料緩衝區暫存器(IDBR)從移位暫存器介面載入一個位元組的資料到I2C匯流排 當寫入資料時,8位元I2C資料緩衝區暫存器(IDBR)從應用程式處理器內部匯流排載入一個位元組的資料到I2C匯流排

I2C匯流排介面模式 當I2C單元為閒置時,它預設為slave接收模式。這樣允許介面去監視匯流排而且接收任何應用程式處理器的slave位址 說明 Master傳送 •I2C單元作為master •為寫入操作使用 •I2C單元傳送資料 •I2C單元回應時脈 •Slave裝置在slave接收模式下 Master接收 •I2C單元作為master •為讀取操作使用 •I2C單元接收資料 •I2C單元回應時脈 •Slave裝置在slave傳送模式下 Slave傳送 •I2C單元作為slave • 為master讀取操作使用 •I2C單元傳送資料 • Master裝置在master接收模式下 Slave接收(預設) •I2C單元作為slave •為master寫入操作使用 •I2C單元接收資料 • Master裝置在master傳送模式下 當I2C單元為閒置時,它預設為slave接收模式。這樣允許介面去監視匯流排而且接收任何應用程式處理器的slave位址

START與STOP匯流排狀態 START:在傳輸一開始時使用 STOP:在傳輸結束時使用 當SCL是高電位時,SDA線上發生高電位轉換到低電位的話,START狀況將發生 當SCL是高電位時,SDA線上發生低電位轉換到高電位的話,STOP狀況將發生

START與STOP匯流排狀態(Cont.) I2C單元使用ICR[START]和ICR[STOP]位元 STOP 位元 START 狀況 注意 無START 或STOP I2C單元傳送一個沒有START或STOP狀況,當多個資料位元組需要傳輸時使用。 1 START而 且重複 I2C單元傳送一個START狀況而且傳送8位元IDBR的內容 在一個START開始前IDBR必須包含7位元位址和R/nW位元 為了重複START,IDBR 包含有目標slave位址和R/nW位元 允許一個master能執行多傳輸到不同的slaves而不用讓出流排 X 在master傳送模式下,I2C單元傳送8位元IDBR和在I2C匯流排上 發送一個STOP狀況。在master接收模式下,ICR[ACKNAK]必須變 成否定ACK ,I2C單元傳送NAK位元,在IDBR中接收資料位組, 還有在I2C匯流排上發送一個STOP狀況。

START與STOP匯流排狀態(cont.)

START與STOP匯流排狀態(cont.)

I2C匯流排操作 I2C單元以1位元組增量來傳輸資料隨著下列順序: 1) START 2) 7位元Slave位址 3) R/nW位元 4) 認可脈衝 5) 8位元的資料 6) ACK/NAK脈衝 7) 重複步驟5和6給必須的位元組號碼 8) 重複START(重複步驟1)或STOP

資料與定址管理 I2C資料緩衝區暫存器(IDBR)和I2C Slave位址暫存器(ISAR)是用來管理資料和slave的定址 IDBR包含一個位元組的資料或7位元slave位址加上 R/nW 位元 ISAR 包含應用程式處理器可程式化slave位址

資料與定址管理(cont.) 這個位元組由預期裝置的slave位址和動作定義的R/nW位元組成, 最高有效位元優先傳送,slave位址和R/nW位元寫入到IDBR 當動作是寫入時,I2C單元仍在master傳送模式下而且定址slave裝置停留在slave接收模下。 當動作是讀取時,I2C單元隨著接收到ACK立即轉換到master接收模式而定址slave裝置轉換到slave傳送模式下

定址Slave裝置 圖 9-4. Master動作中第一個位元組的資料格式

I2C 認可 每個I2C位元組傳輸必須伴隨在由master或slave接收所產生的認可脈衝之後,傳送者必須釋放SDA線給接收者傳送認可脈衝(見圖9-5 I2C匯流排上的認可)

調停 I2C匯流排的multi-master功能需要I2C匯流排調停,當二或多個master在最短的停留時間產生START狀況時調停將發生 假如他們包含的位址和R/nW位元或是資料不一樣時,master發出高電位狀態來表示調停失敗並關閉它的資料驅動器

SCL調停 每個I2C匯流排上的master為了在SCL線上的資料傳輸會產生它自己的時脈,不同頻率的時脈連接到SCL線,當時脈是在高電位期間時資料是有效的,位元接著位元的調停需要明確的時脈同步程序。 時脈同步是透過I2C介面到SCL線的硬體接線及閘連接。Master擁有最長的時脈週期者會將SCL維持在低電位

SCL調停(Cont.) 調停程序期間的時脈同步

SDA調停 在SDA線上的調停可以繼續一段長時間因為它由位址和R/nW位元開始且繼續透過資料位元,假如二個以上的master連接到匯流排,其位址位元跟R/nW一樣的話,調停系統會認為是資料,因為I2C匯流排有接線及閘 假如master包含的位址和R/nW位元或是資料不一樣時,master發出第一個低電位資料位元來表示調停失敗並關閉它的資料驅動器 假如I2C單元調停失敗,對於剩餘的位元傳輸它會關閉SDA或SCL的驅動器來停止,且設置ISR[ALD]位元,並回到slave接收模式。

SDA調停(Cont.) 二個Master的調停程序

Master 操作 Master傳送 —I2C單元寫入資料 Master接收 —I2C單元讀取資料

Master 操作 (Cont.) Master接收端從Slave傳送端讀取

Master 操作 (Cont.) Master接收端從Slave傳送端 / 重複START / Master傳送端寫入到Slave接收端

Master 操作 (Cont.) 完整的資料傳輸

Slave 操作 Master傳送端寫入到Slave接收端

Slave 操作 (Cont.) Master接收端讀取到Slave傳送端

Slave 操作 (Cont.) Master接收端讀取到Slave傳送端、重複啟動、Master傳送端寫入到Slave接收端

一般呼叫位址 一般呼叫位址是以slave位址0x00來進行動作,當一個裝置需要從一般呼叫位址來的資料時,它會認可動作且停留在slave接收端模式,否則裝置會忽略一般呼叫位址。一般呼叫動作中的其他位元組是由每個在匯流排上使用它的裝置來認可,裝置不使用這些位元組時不必發送ACK,這表示一般呼叫位址是定義在第二個位元組而是由master傳送端發送。 當B=1時,順序是硬體一般呼叫且I2C單元不支援

一般呼叫位址(Cont.) 圖 9-14. 一般呼叫位址

一般呼叫位址(cont.) 第二個位元組的最低有效位元(B) 第二個位元組值 定義 0x06 0x06 第二個位元組的2位元組動作告訴slave重置並儲存這個值到它位址可程式化部分 0x04 第二個位元組的2位元組動作告訴slave儲存這個值到它位址可程式化部分。沒有重置 0x00 不允許為第二個位元組

Slave模式程式設計範例 初始單元 1. 設置ISAR中的slave位址 2. 啟動ICR中要求的中斷 3. 設置ICR[IUE]位元來啟動I2C單元

Slave模式程式設計範例(Cont.) 寫入 n 個位元組為Slave 1. 當Slave位址檢測到中斷發生時 讀取ISR: Slave位址檢測(1)、單元忙碌(1)、 R/nW位元(1)、ACK/NAK (0) 2. 寫入1到ISR[SAD]位元來清除中斷 3. 從中斷返回 4. 載入IDBR中的資料位元組來傳輸 5. 設置ICR[TB]位元 6. 當IDBR傳送空的中斷發生 讀取ISR: IDBR傳送空的(1)、 ACK/NAK (0)、R/nW位元(0)

Slave模式程式設計範例(Cont.) 7. 載入IDBR中的資料位元組來傳輸 8. 設置ICR[TB]位元 9. 寫入1到ISR[ITE]位元來清除中斷 10. 從中斷返回 11. 重複步驟6到10 n-1次,假如slave在沒有資料, I2C單元保持SCL在低電位直到有可用的資料 12. 當IDBR傳送空的中斷發生 讀取ISR: IDBR傳送空的(1)、ACK/NAK (1)、R/nW位元(0) 13. 寫入1到ISR[ITE]位元來清除中斷 14. 從中斷返回 15. 當Slave停止檢測中斷發生 讀取ISR: 單元忙碌(0)、Slave停止檢測(1) 16. 寫入1到ISR[SSD]位元來清除中斷

Slave模式程式設計範例(Cont.) 讀取n 個位元組為Slave 1. 當Slave位址檢測中斷發生 讀取ISR: Slave位址檢測(1)、 單元忙碌(1)、R/nW位元(0) 2. 寫入1到ISR[SAD]位元來清除中斷 3. 從中斷返回 4. 設置ICR[TB]位元來開始傳輸 5. 當IDBR接收到滿溢的中斷發生 讀取ISR: IDBR接收滿溢(1)、 ACK/NAK (0)、R/nW位元(0)

Slave模式程式設計範例(Cont.) 6. 讀取IDBR來得到接收的位元組 7. 寫入1到ISR[IRF]位元來清除中斷 8. 從中斷返回 9. 重複步驟4到8 n-1次,當IDBR滿溢時, I2C單元將SCL維持在低電位直到讀取資料 10. 設置ICR[TB]位元來釋放I2C匯流排 允許下一個傳輸 11. 當Slave停止檢測中斷發生 讀取ISR: 單元忙碌(0)、Slave停止檢測(1) 12. 寫入1到ISR[SSD]位元來清除中斷

Master程式設計範例 初始單元 1. 設置ISAR中的slave位址 2. 啟動ICR中要求的中斷 不要啟動調停失去 檢測中斷 3. 設置ICR[IUE]和ICR[SCLE]位元 來啟動I2C單元與SCL

Master程式設計範例(Cont.) 寫入1個位元組為Master 1. 載入IDBR中的目標slave位址和R/nW位元, 2. 開始寫入 設置ICR[START],清除ICR[STOP] 清除ICR[ALDIE],設置ICR[TB] 3. 當IDBR傳送清空的中斷發生 讀取ISR: IDBR傳送空的(1),單元忙碌(1),R/nW位元(0) 4. 寫入1到ISR[ITE]位元來清除中斷 5. 假如設置的話寫入1到ISR[ALD]位元. 假如master調停失敗,它當匯流排變成空閒時執行位址重試 調停失敗檢測中斷不允許位址重試

Master程式設計範例(Cont.) 6. 載入IDBR中的資料位元組傳輸 7. 開始寫入 清除 ICR[START],設置ICR[STOP] 設置ICR[ALDIE],設置ICR[TB] 8. 當IDBR傳送空的中斷發生(單元發送STOP) 讀取ISR: IDBR傳送空的(1) 單元忙碌(x),R/nW位元(0) 9. 寫入1到ISR[ITE]位元來清除中斷 10. 清除ICR[STOP]位元

Master程式設計範例(Cont.) 讀取1個位元組為Master 1. 載入IDBR中的目標slave位址和R/nW位元, 2. 開始寫入 設置ICR[START],清除ICR[STOP] 清除ICR[ALDIE],設置ICR[TB] 3. 當IDBR傳送清空的中斷發生 讀取ISR: IDBR傳送空的(1),單元忙碌(1),R/nW位元(1) 4. 寫入1到ISR[ITE]位元來清除中斷 5. 開始讀取 清除ICR[START],設置ICR[STOP],設置ICR[ALDIE] 設置ICR[ACKNAK],設置ICR[TB]

Master程式設計範例(Cont.) 6. 當IDBR接收到滿溢的中斷發生 (單元發送STOP) 讀取ISR: IDBR接收滿溢(1),單元忙(x) R/nW位元(1),ACK/NAK位元(1) 7. 寫入1到ISR[IRF]位元來清除中斷 8. 讀取IDBR資料 9. 清除ICR[STOP]和ICR[ACKNAK]位元

Master程式設計範例(Cont.) 寫入2個位元組與重複START讀取1個位元組為Master 1. 載入IDBR中的目標slave位址和R/nW位元, R/nW為寫入必須設定為0 2. 開始寫入 設置ICR[START],清除ICR[STOP], 清除ICR[ALDIE],設置ICR[TB] 3. 當IDBR傳送清空的中斷發生 讀取ISR: IDBR傳送空的(1),單元忙碌(1),R/nW位元(0) 4. 寫入1到ISR[ITE]位元來清除中斷 5. 載入IDBR中的資料位元組來傳輸 6. 開始寫入 清除ICR[START],清除ICR[STOP], 設置ICR[ALDIE],設置ICR[TB]

Master程式設計範例(Cont.) 7. 當IDBR傳送清空的中斷發生 讀取ISR: IDBR傳送空的(1),單元忙碌(1),R/nW位元(0) 8. 寫入1到ISR[ITE]位元來清除中斷 9. 重複步驟5-8一次 10. 載入IDBR中的目標slave位址和R/nW位元, R/nW為讀取必須設定為1 11. 發送重複START當作master 設置ICR[START],清除ICR[STOP], 清除ICR[ALDIE],設置ICR[TB] 12. 當IDBR傳送清空的中斷發生 讀取ISR: IDBR傳送空的(1),單元忙碌(1),R/nW位元(1) 13. 寫入1到ISR[ITE]位元來清除中斷

Master程式設計範例(Cont.) 14. 開始讀取 清除ICR[START],設置ICR[STOP], 設置 ICR[ALDIE],設置ICR[ACKNAK], 設置ICR[TB] 15. 當IDBR接收到滿溢的中斷發生(單元發送STOP) 讀取ISR: IDBR接收滿溢(1),單元忙碌(x), R/nW位元(1),ACK/NAK位元(1) 16. 寫入1到ISR[IRF]位元來清除中斷 17. 讀取IDBR資料 18. 清除ICR[STOP]和ICR[ACKNAK]位元

Master程式設計範例(Cont.) 讀取2個位元組為Master – 使用放棄傳送STOP 1. 載入IDBR中的目標slave位址和R/nW位元, R/nW為讀取必須設定為1 2. 開始寫入 設置ICR[START],清除ICR[STOP], 清除ICR[ALDIE],設置ICR[TB] 3. 當IDBR傳送清空的中斷發生 讀取ISR: IDBR傳送空的(1),單元忙碌(1),R/nW位元(1) 4. 寫入1到ISR[ITE]位元來清除中斷 5. 開始讀取 清除ICR[START],清除ICR[STOP],設置ICR[ALDIE], 清除ICR[ACKNAK],設置ICR[TB]

Master程式設計範例(Cont.) 6. 當IDBR接收到滿溢的中斷發生 讀取ISR: IDBR接收滿溢(1),單元忙碌(1), R/nW位元(1),ACK/NAK位元(0) 7. 寫入1到ISR[IRF]位元來清除中斷 8. 讀取IDBR資料 9. 清除ICR[STOP]和ICR[ACKNAK]位元 10. 開始讀取. 清除ICR[START],清除ICR[STOP], 設置ICR[ALDIE],設置ICR[ACKNAK], 設置ICR[TB] ICR[STOP]沒設置是因為STOP或重複START將決定位元組讀取

Master程式設計範例(Cont.) 11. 當IDBR接收到滿溢的中斷發生 讀取ISR: IDBR接收滿溢(1), 單元忙碌(1),R/nW位元(1), ACK/NAK位元(1) 12. 寫入1到ISR[IRF]位元來清除中斷 13. 讀取IDBR資料 14. 開始停止放棄狀況(STOP則無資料傳輸)