codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
//Gets the received power detector bool read_RPD_nRF24L01(void) { uint8_t i, j, data, cmd; cmd = 0x09; //Read RPD register ========================================================================================== cbi(L01_PORT, L01_CSN);//CSN = 0 delay_us(RF_DELAY); for(i = 0 ; i < 8 ; i++) { if(cmd & 0b10000000) sbi(L01_PORT, MOSI); else cbi(L01_PORT, MOSI); sbi(L01_PORT, L01_SCK); //L01_SCK = 1; delay_us(RF_DELAY); cbi(L01_PORT, L01_SCK); //L01_SCK = 0; delay_us(RF_DELAY); cmd <<= 1; } //read the 1 byte register and the LSB is the last bit with the RPD flag for(i = 0 ; i < 8 ; i++) { if(i==7 && (L01_PORT_PIN & (1<<MISO))) return true; //we are receiving more than -64dBm else if (i==7 && (~L01_PORT_PIN & (1<<MISO))) return false; //we are receiving less than -64dBm //read the next bit sbi(L01_PORT, L01_SCK); //L01_SCK = 1; delay_us(RF_DELAY); cbi(L01_PORT, L01_SCK); //L01_SCK = 0; delay_us(RF_DELAY); } sbi(L01_PORT, L01_CSN);//CSN = 1 }
Private
[
?
]
Run code
Submit