« 2.4GHzで遊ぼう(その1) | トップページ | 東京UHFコンテスト »

2020/02/10

2.4GHzであそぼう(その2)

だいぶ間が開いてしまいましたが「その2」です。

1~2日あれば終わると思っていた送受信設定が1か月以上経過してもまだ終わっていません。

とりあえず電波が出るようになった設定を書き留めておきます。

 

まずは初期化処理。EN_AAレジスタのビットが立っているとなぜか送信できず、バッファがフン詰まりになります。

(コメントアウトしたところ)

void RF_init(void){
write_RF_reg(RF_CH,30);
write_RF_reg(RF_SETUP,RF_DR_1M+RF_PWR_00);
// write_RF_reg(EN_AA,0x7f);
write_RF_reg(EN_AA,0x00);
write_RF_reg(SETUP_AW,AW_5bytes);
write_RF_reg(EN_RXADDR,0x7f);
write_RF_REGn(TX_ADDR,rxaddr,5);
write_RF_REGn(RX_ADDR_P0,rxaddr,5);
write_RF_REGn(RX_ADDR_P1,addr,5);
write_RF_reg(RX_ADDR_P2,0x22);
write_RF_reg(RX_ADDR_P3,0x33);
write_RF_reg(RX_ADDR_P4,0x44);
write_RF_reg(RX_ADDR_P5,0x55);

write_RF_reg(SETUP_RETR,0x00);

write_RF_CMD(FLUSH_TX,0);
write_RF_CMD(FLUSH_TX,0);
write_RF_CMD(FLUSH_TX,0);
write_RF_CMD(FLUSH_RX,0);
write_RF_CMD(FLUSH_RX,0);
write_RF_CMD(FLUSH_RX,0);

write_RF_reg(CONFIG,0x7f);
}

 

続いて送信処理。

void tx_a(BYTE* data){
CE = 0;
write_RF_CMDn(W_TX_PAYLOAD,data,32);
write_RF_reg(CONFIG,0x7e);
Delay_us(10);
CE = 1;
}

 

関数名の大文字小文字に規則性がない点は笑って見逃してください。

 

 

 

 

« 2.4GHzで遊ぼう(その1) | トップページ | 東京UHFコンテスト »

自作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 2.4GHzで遊ぼう(その1) | トップページ | 東京UHFコンテスト »