新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于I2C總線的單主多從單片機之間的通信

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

        作者: 時間:2013-02-17 來源:網絡 收藏

        圖3 從機接收流程圖

          4.2 編程中的注意事項

          a)在主機或從機初始化時,一定要設定數據傳輸方向;

          b)由于每次發送/接收數據時TWCR寄存器的中斷標志位必須置位,因此程序中要有等待TWCR寄存器中斷位置位程序,同時,為了避免由于某種原因導致中斷位不能置位造成等待程序進入死循環,在等待中斷位置位程序中要有等待超時返回程序。

          c)的使用,除了基本的啟動、結束、應答、非應答子程序外,還應有應答位檢查、發送和接收單字節、發送和接收多字節等子程序。

          5 結論

          作者在程序流程的每個關鍵部分都設置了錯誤查詢和錯誤處理,使得I2C程序能夠從錯誤中自動恢復,避免了由于I2C通信導致的錯誤而使得系統無法正常工作,文中還給出了部分發送子程序和編程注意事項。對于圖2和圖3的I2C,作者已在多個科研項目中進行了編程使用。實踐證明,按上述流程編寫I2C通信程序,主從單片機之間的通信非??煽俊?/P>

          本文作者創新點:程序流程的每個關鍵部分都設置了錯誤查詢和錯誤處理,使心通信能夠從錯誤中自動恢復,提高了使用I2C通信的可靠性,并且給出了避免死循環的錯誤處理程序。

        參考文獻:

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

        通信相關文章:通信原理


        雙控開關相關文章:雙控開關原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巴楚县| 芒康县| 溧水县| 许昌市| 汝阳县| 南涧| 株洲市| 阿尔山市| 洪雅县| 麦盖提县| 分宜县| 厦门市| 漯河市| 南康市| 乌海市| 定边县| 金阳县| 黑水县| 平度市| 罗城| 阿图什市| 手游| 云浮市| 象山县| 曲周县| 合江县| 望奎县| 东源县| 房产| 吴江市| 子长县| 东海县| 天全县| 仁布县| 吕梁市| 长丰县| 即墨市| 金乡县| 防城港市| 沅江市| 济阳县|