UD-GS01治具の試作プログラムです
Dependencies: mbed nRF24L01P SDFileSystem
Diff: Goto_UD-GS01.cpp
- Revision:
- 3:fe94916d0f12
- Parent:
- 2:53829a66c0d9
- Child:
- 4:de94aef84acc
--- a/Goto_UD-GS01.cpp Tue Dec 08 09:14:10 2020 +0000 +++ b/Goto_UD-GS01.cpp Wed Dec 09 01:20:28 2020 +0000 @@ -11,7 +11,8 @@ int out_flg = 0; int rcv_flg = 0; int snd_flg = 0; -char txData[TRANSFER_SIZE*2]; /*char型で一文字ずつ配列に入れていき、表示する。char型は一つ1バイトなので、32個ずつ溜まったら送るようにする。*/ +char txData1[TRANSFER_SIZE]; +char txData2[TRANSFER_SIZE]; /*char型で一文字ずつ配列に入れていき、表示する。char型は一つ1バイトなので、32個ずつ溜まったら送るようにする。*/ int txDataIdx = 0; int txDataCnt=0; char rxData[TRANSFER_SIZE*2]; /*char型で一文字ずつ配列に入れていき、表示する。char型は一つ1バイトなので、32個ずつ溜まったら送るようにする。*/ @@ -48,20 +49,21 @@ if(UDGS01.readable()){ // ...read the data into the receive buffer - txData[txDataIdx] = UDGS01.getc(); //getcharだと、PCからのキーボード入力という標準コンソール?のやつだからだめらしい + txData1[txDataIdx] = UDGS01.getc(); //getcharだと、PCからのキーボード入力という標準コンソール?のやつだからだめらしい // pc.printf("tx[%d] = %s", txDataIdx, &txData[txDataIdx]); txDataIdx++; if (txDataIdx == TRANSFER_SIZE) {//最初の32回 + memcpy(txData2, txData1, TRANSFER_SIZE); + + txDataIdx=0; snd_flg = 1; - } else if (txDataIdx >= TRANSFER_SIZE*2){//後の32回 - txDataIdx=0; - snd_flg = 2; + } } - } -} + +} int main() { @@ -113,24 +115,16 @@ if (snd_flg==1) {//最初のバッファ snd_flg=0; - my_nrf24l01p.write( NRF24L01P_PIPE_P0, (char *)txData , TRANSFER_SIZE ); + my_nrf24l01p.write( NRF24L01P_PIPE_P0, (char *)txData2 , TRANSFER_SIZE ); + // memset(txData2, 0, TRANSFER_SIZE/*何バイト書き込むか*/); // for(i=0; i>32; i++){ // pc.printf("tx[%d] = %s", 30, txData[30]); // } 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 ); -// for(i=0; i>63; i++){ -// pc.printf("%s", txData[i]); -// } - pc.putc('2'); - wait(1); - } + } //一番最初のwhileの} }