新聞中心

        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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永德县| 甘孜县| 新营市| 苗栗县| 綦江县| 察哈| 台山市| 邯郸市| 丰县| 安宁市| 昆明市| 翼城县| 汝州市| 沭阳县| 集安市| 任丘市| 博客| 沽源县| 历史| 郁南县| 缙云县| 固安县| 习水县| 灵璧县| 乌鲁木齐市| 固原市| 兰溪市| 金昌市| 庆城县| 浙江省| 高碑店市| 通城县| 洞头县| 广州市| 崇礼县| 额济纳旗| 南澳县| 襄城县| 沅江市| 长沙市| 仁寿县|