欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于i2c通信協議的獲取從機地址的方法及i2c通信系統的制作方法

文檔序號:9432506閱讀:904來源:國知局
一種基于i2c通信協議的獲取從機地址的方法及i2c通信系統的制作方法
【技術領域】
[0001]本發(fā)明屬于I2C通信領域,尤其涉及一種基于I2C通信協議的獲取從機地址的方法及I2C通信系統。
【背景技術】
[0002]I2C通信協議是一種常用的通信協議,因其連接結構簡單,只需一條時鐘線和一條數據線,就能實現多個設備之間的通信,因而被廣泛使用。
[0003]然而,大多數基于I2C通信協議進行通信的設備通常包括主機和從機,如果主機不知道其從機的地址,則無法完成通信。現有技術中,對主板和顯板之間的通信方式為I2C通信的產品進行二次開發(fā),通常都需要花費較多時間來尋找顯板的地址,在尋找不到的情況下,甚至會迫不得已放棄對所述產品的二次開發(fā),而選擇重新開發(fā)新產品。這極大的延長了產品的開發(fā)周期,并且浪費了人力物力從而增加了開發(fā)成本。

【發(fā)明內容】

[0004]本發(fā)明實施例的目的在于提供一種基于I2C通信協議的獲取從機地址的方法及I2C通信系統,旨在解決現有技術中的基于I2C通信協議的通信設備中,主機難以獲取從機地址而不能對產品進行二次開發(fā),延長了開發(fā)周期,并且浪費了人力物力從而增加了開發(fā)成本的問題。
[0005]本發(fā)明實施例是這樣實現的,一種基于I2C通信協議的獲取從機地址的方法,所述方法包括采用主機來執(zhí)行以下步驟:
[0006]向所有從機發(fā)送攜帶有地址碼的掃描信號;
[0007]檢測是否接收到其中一個所述從機通過拉低SDA數據線的高電平發(fā)送的應答信號;
[0008]若接收到其中一個所述從機發(fā)送的所述應答信號,判定所述地址碼為該從機的地址碼。
[0009]在一優(yōu)選實施例中,所述方法還包括:
[0010]若未接收到任何一個所述從機發(fā)送的應答信號,則返回執(zhí)行所述向所有從機發(fā)送攜帶有地址碼的掃描信號的步驟。
[0011 ] 本發(fā)明還提供一種I2C通信系統,所述I2C通信系統包括一個主機和多個從機,所述主機包括:
[0012]發(fā)送模塊,用于向所有從機發(fā)送攜帶有地址碼的掃描信號;
[0013]第一檢測模塊,用于檢測是否接收到其中一個所述從機通過拉低SDA數據線的高電平發(fā)送的應答信號;
[0014]接收模塊,用于若接收到其中一個所述從機發(fā)送的所述應答信號,判定所述地址碼為該從機的地址碼。
[0015]在一優(yōu)選實施例中,所述主機還包括:
[0016]第一返回模塊,用于若未接收到任何一個所述從機發(fā)送的應答信號,則返回執(zhí)行所述向所有從機發(fā)送攜帶有地址碼的掃描信號的步驟。
[0017]本發(fā)明實施例與現有技術相比,其有益效果在于:本發(fā)明通過發(fā)送掃描信號,并接收從機通過拉低SDA數據線的高電平發(fā)送的低電平應答信號的方法來確定從機地,使得所述主機能夠簡單有效的確定從機地址,實現了基于I2C通信協議的通信設備的二次開發(fā),節(jié)省了大人力物力,易于實現;本發(fā)明還提供一種基于上述方法的I2C通信系統,該系統結構簡單,能夠簡單快速的獲取從機地址,成本低廉,易于操作,適于廣泛推廣。
【附圖說明】
[0018]圖1是本發(fā)明的實施例提供的基于I2C通信協議的獲取從機地址的方法的流程圖;
[0019]圖2是現有技術中基于I2C通信協議的系統的結構框圖;
[0020]圖3是本發(fā)明的實施例提供的I2C通信系統的主機的基本結構框圖;
[0021]圖4是本發(fā)明的優(yōu)選實施例提供的基于I2C通信協議的獲取從機地址的方法的流程圖。
【具體實施方式】
[0022]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0023]圖1是本發(fā)明的實施例提供的基于I2C通信協議的獲取從機地址的方法的流程圖,為了便于說明,僅示出了與本實施例相關的部分。
[0024]參閱圖1,本發(fā)明實施例所提供的基于I2C通信協議的獲取從機地址的方法,所述方法包括采用主機來執(zhí)行以下步驟:
[0025]SlOl:向所有從機發(fā)送攜帶有地址碼的掃描信號;
[0026]S102:檢測是否接收到其中一個所述從機通過拉低SDA數據線的高電平發(fā)送的應答信號;
[0027]S103:若接收到其中一個所述從機發(fā)送的所述應答信號,判定所述地址碼為該從機的地址碼。
[0028]本發(fā)明通過發(fā)送掃描信號的方式來尋找從機地址,使得所述方法可以適用于大多數基于I2C通信協議的系統或設備。在具體應用中,所述主機為單片機。
[0029]在一優(yōu)選實施例中,所述基于I2C通信協議的獲取從機地址的方法,還包括:
[0030]若未接收到任何一個所述從機發(fā)送的應答信號,則返回執(zhí)行所述向所有從機發(fā)送攜帶有地址碼的掃描信號的步驟。
[0031 ] 在具體應用中,所述從機接收到的主機發(fā)送的地址碼之后,將該地址碼與自身的地址碼進行比對,若地址碼相同,則通過拉低SDA數據線的高電平,使該高電平跳變?yōu)榈碗娖?,作為向主機發(fā)送的應答信號;若地址碼不同,則繼續(xù)接收主機發(fā)送的掃描信號。
[0032]在一優(yōu)選實施例中,所述返回執(zhí)行所述向所有從機發(fā)送攜帶有地址碼的掃描信號的步驟,具體包括:
[0033]對所述地址碼進行更新;
[0034]向所有從機發(fā)送攜帶有更新后的所述地址碼的掃描信號。
[0035]在具體應用中,設變量SlavaAdd的初值SlavaAdd = 0x01為所述地址碼的初始值。
[0036]在一優(yōu)選實施例中,所述對所述地址碼進行更新的步驟,具體包括:
[0037]將所述地址碼的地址加1,得到更新后的所述地址碼。
[0038]在具體應用中,更新后的所述地址碼為SlavaAdd++。
[0039]在一優(yōu)選實施例中,所述若未接收到任何一個所述從機發(fā)送的應答信號,則返回執(zhí)行所述向所有從機發(fā)送攜帶有地址碼的掃描信號的步驟,具體包括:
[0040]檢測向所有從機發(fā)送掃描信號的時間間隔是否超過預設的時間閾值;
[0041]若所述時間間隔超過預設的時間閾值且未接收到任何一個所述從機發(fā)送的應答信號,則返回執(zhí)行所述向所有從機發(fā)送攜帶有地址碼的掃描信號的步驟。
[0042]在具體應用中,所述預設的時間閾值可以為0.2秒、0.4秒、0.5秒、0.8秒、I秒等。
[0043]圖2是現有技術中基于I2C通信協議的系統的結構圖。
[0044]參閱圖2,現有技術中的基于I2C通信協議的系統包括一個主機10和多個從機20,所述主機和從機之間通過一條串行數據(SDA,Serial Data line)線和一條串行時鐘(SCL,Serial Clock line)線連接,所述串行數據線30和串行時鐘線40分別通過一個電阻R與電源50連接。
[0045]圖3是本發(fā)明的實施例提供的I2C通信系統的主機的基本結構框圖。
[0046]參閱圖3,本發(fā)明實施例提供的I2C通信系統是在現有技術中的基于I2C通信協議的系統上所作的改進,利用主機10來破解從機2
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
横山县| 富源县| 同仁县| 德钦县| 兴城市| 吕梁市| 水富县| 文昌市| 天水市| 罗田县| 独山县| 手游| 龙井市| 泗阳县| 岳西县| 开封市| 江津市| 衡南县| 淮滨县| 石狮市| 淳化县| 寻乌县| 云南省| 遵化市| 东辽县| 庐江县| 营山县| 金沙县| 九龙县| 来安县| 广河县| 鹿邑县| 隆子县| 石城县| 临邑县| 安国市| 郧西县| 双桥区| 闸北区| 宁都县| 五台县|