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