新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > SPI接口基礎上的各種串行通信工作方式配置及驅動編程

        SPI接口基礎上的各種串行通信工作方式配置及驅動編程

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

          圖4中2號機SPI通信和UART通信皆為Slaver方式,由于SPI、UART共用一個中斷,會導致通信工作過程不正常,嚴重時SPI和UART通信皆無法正常進行。上述協議無法滿足需要。為此,在基本協議的基礎上,構造高級的協議。

          高級協議:主機和從機皆用定時器進行SPI數據幀的收發,定時器是SPI通信的發動機,通信是由主機定時器發動。從機僅被動收發,為了保證SPI收發雙方數據包的字節相位匹配,必須設置數據包收發緩沖區,收發緩沖區字節個數應當是數據包的N倍。同時,數據包中設置若干包標示字節,通常為頭字節、尾字節,以便主從機在接收數據時可以動態的進行字節相位的校準,保證數據接收的可靠性。高級協議構造示意圖如圖5所示。


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

        數字通信相關文章:數字通信原理


        通信相關文章:通信原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临桂县| 南通市| 武山县| 安化县| 嫩江县| 镇沅| 黔江区| 凉城县| 武宣县| 白沙| 龙江县| 杨浦区| 广东省| 蓝田县| 福贡县| 彩票| 大荔县| 泾川县| 双柏县| 莱州市| 安徽省| 项城市| 新巴尔虎右旗| 新绛县| 锡林浩特市| 普陀区| 出国| 陇川县| 大安市| 石屏县| 界首市| 河津市| 永定县| 台江县| 客服| 安泽县| 凤山县| 昌宁县| 红河县| 河北区| 衡水市|