瘋殼 鴻蒙OS 匯流排驅動開發及實現之SPI

2021-10-19 04:24:10 字數 1806 閱讀 1093

匯流排驅動及實現之spi

瘋殼 出品

鴻蒙os中關於spi介面的定義在原始碼目錄:

\drivers\hdf\frameworks\include\platform\

\drivers\hdf\frameworks\support\platform\src

下的 spi_if.h和spi_if.c檔案中。

1.開啟spi裝置

其中info為指向spi裝置資訊的指標,其型別在h標頭檔案中有如下定義:

busnum 和 cdnum 分別為spi裝置號和片選號,本次課程中我們使用spi2。

2.關閉spi裝置

需要關閉spi裝置時,呼叫該介面,傳參需要關閉的spi裝置控制代碼即可。

3.spi寫資料介面

該介面用於實現spi寫資料操作,其中buf為指向要寫入資料的指標,len為寫入資料的長度。

4.spi讀資料介面

該介面用於實現spi讀資料操作,其中buf為指向儲存讀取資料的指標,len為讀取的資料的長度。

5.自定義spi傳輸

msgs為自定義傳輸訊息結構體,count為訊息長度,msgs的型別在標頭檔案中有如下描述:

wbuf為指向寫入資料的指標,rbuf為指向儲存讀取資料的buf的指標,len為讀取和寫入資料的長度,讀寫長度一致,speed為資料傳輸速度,delayus為資料傳輸間隔,cschange指定是否在進行下一次傳輸前關閉片選。

6.spi裝置配置介面

spicfg為當前spi裝置配置資訊結構體,在標頭檔案中定義如下:

macspwwdhz為最大spi通訊時鐘頻率,mode為輸入輸出通訊模式,用預設值時鐘極性等資訊,transfermode為資料傳輸模式,在標頭檔案中有定義如下:

bitsperword用於設定資料傳輸位寬。

本次課程使用spi1,其中mosi管腳為gpio1_7,sclk管腳為gpio1_5,miso管腳為gpio1_6,這三個管腳在海思的文件中有如下說明:

關於gpio初始化部分的**和hdf框架的**本次課程不再做介紹。

對於spi,驅動修改如下:

執行結果:

通過邏輯分析儀抓波。

瘋殼 鴻蒙OS 工具安裝指南

1 將linux shell改為bash 1 檢視shell是否為bash,在終端執行如下命令 ls l bin sh 如果為顯示為 bin sh bash則為正常,否則請按以下方式修改 方法一 在終端執行如下命令,然後選擇 no。sudo dpkg reconfigure dash 方法二rm r...

鴻蒙OS入門

裝置型別wearable 倒計時demo位址 簡單案例 override public void onstart intent intent s 建立文字物件 text text newtext this 設定布局引數 text.setlayoutconfig config 設定文字內容 text....

華為宣布鴻蒙OS開源

techweb 8月9日,華為2019開發者大會在東莞華為松山湖溪流背坡村舉行。華為消費者業務ceo 華為技術 常務董事余承東正式向全球發布其全新的基於微核心的面向全場景的分布式作業系統 鴻蒙os,並宣布鴻蒙os開源。隨著全場景智慧型時代的到來,華為認為需要進一步提公升作業系統的跨平台能力,包括支援...