UD-GS01治具の試作プログラムです
Dependencies: mbed nRF24L01P SDFileSystem
Diff: Goto_UD-GS01.cpp
- Revision:
- 1:960cd07d2ae7
- Parent:
- 0:53b18a9251ab
- Child:
- 2:53829a66c0d9
--- a/Goto_UD-GS01.cpp Mon Dec 07 07:55:55 2020 +0000 +++ b/Goto_UD-GS01.cpp Tue Dec 08 01:27:19 2020 +0000 @@ -31,20 +31,10 @@ out_flg=1; } if(out_flg){ - if(which == 1){ - which = 0; - for(i=0; i>32; i++){ - pc.printf("%s", rxData[i]); - } - } - if(which == 2){ - which = 0; - for(i=32; i>63; i++){ - pc.printf("%s", rxData[i]); - } - }; - //ここにSDカードの書き込みを入れようかと! + pc.printf("%s", rxData[rxDataIdx]); + //ここにSDカードの書き込みを入れようかと! rxDataIdx++; + if (rxDataIdx >= TRANSFER_SIZE*2) rxDataIdx=0; } } @@ -60,9 +50,11 @@ if (txDataIdx == TRANSFER_SIZE) {//最初の32回 snd_flg = 1; + } else if (txDataIdx >= TRANSFER_SIZE*2){//後の32回 txDataIdx=0; snd_flg = 2; + } } } @@ -91,7 +83,7 @@ wait_ms(100); // my_nrf24l01p.write( NRF24L01P_PIPE_P0, (char*)rxData,1);//dummy - interrput.attach_us(&timer, 100);//100 usec 10Khz + interrput.attach_us(&timer, 500);//100 usec 10Khz UDGS01.attach(recieve,Serial::RxIrq);//牛からのデータ受信したら割り込み発生してrecieveを呼び出す // my_nrf24l01p.flush_rx_fifo(); @@ -99,13 +91,12 @@ if ( my_nrf24l01p.readable(NRF24L01P_PIPE_P0) ) { //受信? // ...read the data into the receive buffer + if(which == 0){ if (rxDataIdx < TRANSFER_SIZE){ bufferidx = TRANSFER_SIZE; - which = 1; } else{ bufferidx = 0; - which = 2; } rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, (char*)(rxData+bufferidx),TRANSFER_SIZE ); @@ -116,16 +107,18 @@ rcv_flg = 1; } - + } if (snd_flg==1) {//最初のバッファ snd_flg=0; my_nrf24l01p.write( NRF24L01P_PIPE_P0, (char *)txData , TRANSFER_SIZE ); pc.putc('1'); + wait(1); } else if (snd_flg==2) {//後半のバッファ snd_flg=0; my_nrf24l01p.write( NRF24L01P_PIPE_P0, (char*)(txData+TRANSFER_SIZE) , TRANSFER_SIZE ); pc.putc('2'); + wait(1); }