新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于I2C總線的單主多從單片機(jī)之間的通信

基于I2C總線的單主多從單片機(jī)之間的通信

作者: 時(shí)間:2013-02-17 來(lái)源:網(wǎng)絡(luò) 收藏

圖3 從機(jī)接收流程圖

  4.2 編程中的注意事項(xiàng)

  a)在主機(jī)或從機(jī)初始化時(shí),一定要設(shè)定數(shù)據(jù)傳輸方向;

  b)由于每次發(fā)送/接收數(shù)據(jù)時(shí)TWCR寄存器的中斷標(biāo)志位必須置位,因此程序中要有等待TWCR寄存器中斷位置位程序,同時(shí),為了避免由于某種原因?qū)е轮袛辔徊荒苤梦辉斐傻却绦蜻M(jìn)入死循環(huán),在等待中斷位置位程序中要有等待超時(shí)返回程序。

  c)的使用,除了基本的啟動(dòng)、結(jié)束、應(yīng)答、非應(yīng)答子程序外,還應(yīng)有應(yīng)答位檢查、發(fā)送和接收單字節(jié)、發(fā)送和接收多字節(jié)等子程序。

  5 結(jié)論

  作者在程序流程的每個(gè)關(guān)鍵部分都設(shè)置了錯(cuò)誤查詢和錯(cuò)誤處理,使得I2C程序能夠從錯(cuò)誤中自動(dòng)恢復(fù),避免了由于I2C通信導(dǎo)致的錯(cuò)誤而使得系統(tǒng)無(wú)法正常工作,文中還給出了部分發(fā)送子程序和編程注意事項(xiàng)。對(duì)于圖2和圖3的I2C,作者已在多個(gè)科研項(xiàng)目中進(jìn)行了編程使用。實(shí)踐證明,按上述流程編寫I2C通信程序,主從單片機(jī)之間的通信非常可靠。

  本文作者創(chuàng)新點(diǎn):程序流程的每個(gè)關(guān)鍵部分都設(shè)置了錯(cuò)誤查詢和錯(cuò)誤處理,使心通信能夠從錯(cuò)誤中自動(dòng)恢復(fù),提高了使用I2C通信的可靠性,并且給出了避免死循環(huán)的錯(cuò)誤處理程序。

參考文獻(xiàn):

[1].Atmega128datasheethttp://www.dzsc.com/datasheet/Atmega128_html.
[2].Atmega168datasheethttp://www.dzsc.com/datasheet/Atmega168_.html.
[3].datasheethttp://www.dzsc.com/datasheet/_454556.html.

通信相關(guān)文章:通信原理


雙控開(kāi)關(guān)相關(guān)文章:雙控開(kāi)關(guān)原理

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: I2C總線 通信流程 LPC2292

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉