找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2346|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

SPI讀數(shù)據(jù)函數(shù)怎樣理解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 zcwjzwd 于 2021-1-31 23:27 編輯

uchar SPI_Read(uchar reg)
{
        uchar reg_val;
        
        CSN = 0;                // CSN low, initialize SPI communication...
        SPI_RW(reg);            // Select register to read from..
        reg_val = SPI_RW(0);    // ..then read register value
        CSN = 1;                // CSN high, terminate SPI communication
        
        return(reg_val);        // return register value
}
reg_val是返回的狀態(tài)寄存器的值還是其他的值?如果sta=SPI_Read(STATUS);//STATUS為狀態(tài)寄存器地址。
sta的值有事什么?是返回的狀態(tài)寄存器的值還是其他的值?


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:752974 發(fā)表于 2021-2-1 08:16 | 只看該作者
從哪個(gè)寄存器地址讀出的數(shù)據(jù)就是那個(gè)寄存器的,這沒什么懷疑的吧。
回復(fù)

使用道具 舉報(bào)

板凳
ID:592807 發(fā)表于 2021-2-1 08:23 | 只看該作者
寄存器的值,舉個(gè)例子(這里僅僅是舉例子,不涉及任何單片機(jī))
比如一個(gè)GPIO口的寄存器(8位)
第1位如果值是1則代表PA^0輸出1,反之則輸出0
第2位如果值是1則代表PA^1輸出1,反之則輸出0
第3位如果值是1則代表PA^2輸出1,反之則輸出0
........................
如果PA^0~PA^7輸出全是1,那么你用這個(gè)函數(shù)之后返回值reg_val = 0xff


如果你想要的查看PA^5的輸出值(或者說狀態(tài)status),那么就要自己轉(zhuǎn)換 out5 = reg_val & (0x01 << 4)
回復(fù)

使用道具 舉報(bào)

地板
ID:226055 發(fā)表于 2021-2-1 11:54 | 只看該作者
    1、從你的問題描述來看,你的疑惑不是SPI通信總線。SPI通信是可以模擬SPI和硬件SPI兩種方式進(jìn)行。
    2、不管是硬件SPI還是模擬SPI,你需要知道SPI通信是回環(huán)結(jié)構(gòu),我也是通過艾克姆科技的文檔描述搞得比較清楚的。所以,SPI讀一個(gè)字節(jié)的時(shí)候必寫一個(gè)字節(jié)才可。




    3、你的疑惑點(diǎn)應(yīng)該是在你需要操作的SPI的對(duì)象上,屬于應(yīng)用層次的。這需要看你操作的對(duì)象的技術(shù)手冊(cè),你分析的狀態(tài)寄存器返回的是狀態(tài)值,沒有問題,手冊(cè)上肯定也是這樣說的。但至于你寫0x00,收到的是什么,這個(gè)必須去看操作對(duì)象的手冊(cè),比如你操作的是一個(gè)SPI接口的存儲(chǔ)器,則你必須去看這個(gè)存儲(chǔ)器的芯片手冊(cè),這是廠家定義的,和SPI沒有關(guān)系。




回復(fù)

使用道具 舉報(bào)

5#
ID:875789 發(fā)表于 2021-2-1 16:09 | 只看該作者
返回寄存器中的值
回復(fù)

使用道具 舉報(bào)

6#
ID:288629 發(fā)表于 2021-2-1 16:11 | 只看該作者
讀,寫數(shù)據(jù)最重要的是時(shí)序正確就問題不大。嚴(yán)格按時(shí)序圖來寫程序就行的
回復(fù)

使用道具 舉報(bào)

7#
ID:493146 發(fā)表于 2021-2-1 19:03 來自手機(jī) | 只看該作者
謝謝各位
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表