|
uchar SPI_RW_Reg(uchar reg, uchar value)
{
uchar status;
CSN = 0; // CSN置低,開始傳輸數(shù)據(jù)
status = SPI_RW(reg); // 選擇寄存器,同時(shí)返回狀態(tài)字
SPI_RW(value); // 然后寫數(shù)據(jù)到該寄存器
CSN = 1; // CSN拉高,結(jié)束數(shù)據(jù)傳輸
return(status); // 返回狀態(tài)寄存器
}
這里說的狀態(tài)字是指??寫入寄存器地址時(shí),并返回狀態(tài)字,這個(gè)狀態(tài)字顯然不是寄存器里的值,那么問題來了,這個(gè)狀態(tài)字是什么有什么用??求助…………
uchar SPI_Read(uchar reg)
{
uchar reg_val;
CSN = 0; // CSN置低,開始傳輸數(shù)據(jù)
SPI_RW(reg); // 選擇寄存器
reg_val = SPI_RW(0); // 然后從該寄存器讀數(shù)據(jù)
CSN = 1; // CSN拉高,結(jié)束數(shù)據(jù)傳輸
return(reg_val); // 返回寄存器數(shù)據(jù)
}
標(biāo)記的語(yǔ)句,主機(jī)上MOSI線應(yīng)該在上升沿全部輸出低電平,不會(huì)寫入從機(jī)里已經(jīng)選擇的寄存器么??
也許狀態(tài)字是指從機(jī)工作在哪個(gè)狀態(tài),發(fā)射還是接收?還是掉電等模式?? 第二個(gè)問題里 那句語(yǔ)句的意思是從里邊讀數(shù)據(jù)并全部將已經(jīng)選擇的寄存器里的值置為0么??這么理解對(duì)不?? 新手有不對(duì)的 請(qǐng)諒解哈…………
|
|