新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于SPI總線的51單片機多機互連編程技術

        基于SPI總線的51單片機多機互連編程技術

        作者: 時間:2012-08-21 來源:網絡 收藏

        圖4中2號機通信和UART通信皆為Slaver方式,由于、UART共用一個中斷,會導致通信工作過程不正常,嚴重時和UART通信皆無法正常進行。上述協議無法滿足需要。為此,在基本協議的基礎上,構造高級的協議。
        高級協議:主機和從機皆用定時器進行SPI數據幀的收發,定時器是SPI通信的發動機,通信是由主機定時器發動。從機僅被動收發,為了保證SPI收發雙方數據包的字節相位匹配,必須設置數據包收發緩沖區,收發緩沖區字節個數應當是數據包的N倍。同時,數據包中設置若干包標示字節,通常為頭字節、尾字節,以便主從機在接收數據時可以動態的進行字節相位的校準,保證數據接收的可靠性。高級協議構造示意圖如圖5所示。

        本文引用地址:http://www.104case.com/article/171013.htm

        e.JPG


        圖5中,SPI通信數據包為8個字節,包標識字節為0x0d、0x0c。SPI通信發動采用PCA定時器模式,讀者也可以采用定時器T1和T2實現SPI通信發動。參考程序如下:
        f.JPG



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鸡泽县| 漠河县| 兴山县| 开封市| 广宁县| 化德县| 南溪县| 丹阳市| 疏附县| 铜陵市| 余庆县| 城步| 上虞市| 东乌| 石家庄市| 穆棱市| 嘉善县| 普陀区| 涡阳县| 浦江县| 遵化市| 炉霍县| 郓城县| 饶河县| 寻甸| 若尔盖县| 漳平市| 辽阳市| 三原县| 仙游县| 高雄市| 醴陵市| 大丰市| 嘉峪关市| 雷波县| 大港区| 荣成市| 百色市| 霍林郭勒市| 五家渠市| 新兴县|