請問讀取 93LC46 的問題
|
||||
---|---|---|---|---|
初級會員
|
想請問各位先進,在我學習範例程式中 讀取93LC46 的sample code,遇到了幾個疑惑的地方,想請先進給小弟指點一下,在 Read93LC46此function中有幾個問題,望請先進不吝指點:
unsigned int Read93LC46(unsigned char Offset_Addr) { unsigned char Addr, i, temp; unsigned int rx_data; StartBit(); /* 1 */ Offset_Addr = Offset_Addr&0x3F; Addr = Offset_Addr + 0x80; temp = 0x80; **1. 此for迴圈的作用在於? for(i=0; i<8; i++) { if(Addr & temp) DI = 1; else DI = 0; Pulse(); **2. ">>=" 的作用是否為right shift然後最左邊補1? temp >>= 1; } rx_data = 0x0000; for(i=0; i<16; i++) { Pulse(); if(DO) **3. rx_data最右邊補1的意義在於? rx_data |= 0x0001; if(i < 15) rx_data <<= 1; } CS = 0; return(rx_data); }
發表於: 2006/2/22 17:53
|
|||
|