RF 통신을 사용하는 간단한 장비 개발을 진행하게 돼, 가장 가격이 낮기도 하고 보편화됀 2.4Ghz RF 모듈을 사용하기로 했다. 위 보드를 사용하기 위해서 RF24 라이브러리를 사용할때 기기마다 Write 하고 Read 하는 기기가 별도로 지정되어 있으면 별 문제가 없지만, 한 기기에서 Read/Write를 동시에 하는 경우에는 문제가 생긴다. RF24 radio ( 9 , 10 ) ; radio . openWritingPipe ( ADMIN_ADDRESS ) ; radio . openReadingPipe ( 1 , RELAY_ADDRESS ) ; radio . startListening ( ) ; if ( radio . available ( ) ) { uint8_t * packet = ( uint8_t * ) calloc ( sizeof ( uint8_t ) , PACKET_SIZE ) ; radio . read ( packet , PACKET_SIZE ) ; radio . writeFast ( packet , PACKET_SIZE ) ; delete [ ] packet ; } 위와 같이 RELAY_ADDRESS로 받은 신호를 받아서 ADMIN_ADDRESS로 보내주기만 하는 코드가 있다고 가정하자, 이 경우 RF24 라이브러리에서는 수신은 가능하지만 송신은 불가능한 문제가 있다. 이 경우 writeFast의 반환값이 3번 정도는 송신에 성공했다는 true값을 반환해서 문제점을 찾기가 어렵다. 해결법은 다음과 같다. RF24 radio ( 9 , 10 ) ; radio . openWritingPipe ( ADMIN_ADDRESS ) ; radio . openReadingPipe ( 1 , RELAY_ADDRESS ) ; radio . startListening ( ) ; if ( radio . available ( ) ) { uint8_t * p...