SPI的基本用法和知識點

2021-09-24 23:48:04 字數 1946 閱讀 5574

spi是序列外圍匯流排介面,高速的全雙工,同步的通訊匯流排,其在晶元上占用四根引腳。

miso:主裝置資料輸入,從裝置資料輸出;

mosi:主裝置輸出,從裝置輸入;

sclk:時鐘訊號,由主裝置產生

cs:片選訊號

兩個非常重要的引數:

cpol:時鐘極性 ;0表示空閒時的電平時低電平,1表示空閒時的電平是高電平。

cpha:時鐘相位;0表示資料在第乙個時鐘跳變沿,1表示第乙個時鐘跳變沿採集資料。/*

** 函式名: nrf24l01_writereg

** 返回值: none

** 參 數 :

(1)uint8 addr-

-暫存器位址**

(2)uint8 value-

-寫入值

** 說 明 : nrf24l01暫存器寫函式*/

void nrf24l01_writereg(uint8 addr, uint8 value)

nrf24l01讀暫存器函式: /

*** 函式名: nrf24l01_readreg

** 返回值: value-

-讀取暫存器值

** 參 數 : addr-

-暫存器位址

** 說 明 : nrf24l01暫存器讀函式*/

uint8 nrf24l01_readreg(uint8 addr)/*

** 函式名: nrf24l01_writereg

** 返回值: none

** 參 數 :

(1)uint8 addr-

-暫存器位址**

(2)uint8 value-

-寫入值

** 說 明 : nrf24l01暫存器寫函式*/

void nrf24l01_writereg(uint8 addr, uint8 value)

nrf24l01讀暫存器函式:/*

** 函式名: nrf24l01_readreg

** 返回值: value-

-讀取暫存器值

** 參 數 : addr-

-暫存器位址

** 說 明 : nrf24l01暫存器讀函式*/

uint8 nrf24l01_readreg(uint8 addr)/*

** 函式名: nrf24l01_writereg

** 返回值: none

** 參 數 :

(1)uint8 addr-

-暫存器位址**

(2)uint8 value-

-寫入值

** 說 明 : nrf24l01暫存器寫函式*/

void nrf24l01_writereg(uint8 addr, uint8 value)

nrf24l01讀暫存器函式:/*

** 函式名: nrf24l01_readreg

** 返回值: value-

-讀取暫存器值

** 參 數 : addr-

-暫存器位址

** 說 明 : nrf24l01暫存器讀函式*/

uint8 nrf24l01_readreg(uint8 addr)

四種工作模式:

mode 0 cpol=0, cpha=0 

mode 1 cpol=0, cpha=1

mode 2 cpol=1, cpha=0 

mode 3 cpol=1, cpha=1

常使用mode0和mode3,即在上公升沿進行資料的取樣和鎖存

copl:時鐘極性。表示在沒有資料傳輸時時鐘的空閒狀態電平。

0:sck 引腳在空閒狀態為低電平

1:sck 引腳在空閒狀態為高電平

cpha:時鐘相位。表示在第幾個時鐘邊沿進行取樣。

0:sck 時鐘的第乙個邊沿進行資料位取樣,資料在第乙個時鐘邊沿被鎖存。

1:sck 時鐘的第二個邊沿進行資料位取樣,資料在第二個時鐘邊沿被鎖存。

spi協議相關知識點

spi序列同步時鐘可以設定為不同的極性 clock polarity cpol 與相位 clock phase cpha 時鐘的極性 cpol 用來決定在匯流排空閒時,同步時鐘 sck 訊號線上的電位是高電平還是低電平。當時鐘極性為0時 cpol 0 sck訊號線在空閒時為低電平 當時鐘極性為1時 ...

知識點 Mysql 基本用法之事務

事務用於將某些操作的多個sql作為原子性操作,一旦有某乙個出現錯誤,即可回滾到原來的狀態,從而保證資料庫資料完整性。事務例項 create table user id int primary key auto increment,name char 32 balance int insert int...

Vue知識點二 refs的基本用法

ref 加在普通的元素上,用this.refs.ref值 獲取到的是dom元素 ref加在子元件上,用this.ref s.r ef值 獲取到的 是元件實 例,可以 使用元件 的所有方 法。在使 用方法的 時候直接 this refs.ref值 獲取到的是元件例項,可以使用元件的所有方法。在使用方法...