UD-GS01治具の試作プログラムです

Dependencies:   mbed nRF24L01P SDFileSystem

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);
 
          }