UD-GS01治具の試作プログラムです
Dependencies: mbed nRF24L01P SDFileSystem
Diff: Goto_UD-GS01.cpp
- Revision:
- 14:894a7ca12e70
- Parent:
- 13:8357704ad091
- Child:
- 15:481f92a029dd
--- a/Goto_UD-GS01.cpp Mon Dec 14 05:10:55 2020 +0000 +++ b/Goto_UD-GS01.cpp Mon Dec 14 09:54:39 2020 +0000 @@ -29,7 +29,7 @@ FILE *fp; int open_flg = 0; int write_flg = 0; - +int close_flg = 0; nRF24L01P my_nrf24l01p(D11, D12, D13, D10, D9,D8); // mosi, miso, sck, csn, ce, irq //nRF24L01P my_nrf24l01p(p5, p6, p7, p8, p9, p10); // mosi, miso, sck, csn, ce, irq @@ -40,25 +40,26 @@ if(rcv_flg == 1) { - pc.printf("%s", &rxData2[rxDataIdx]); + pc.printf("%c", rxData2[rxDataIdx]); rxDataIdx++; if (rxDataIdx >= TRANSFER_SIZE){ + write_flg = 1; rxDataIdx=0; rcv_flg = 0; i++; - } } - if(i>10){ + /* + if(i>5){ i = 0; - write_flg = 1; - } + close_flg = 1; + } + */ - //ここらへんにSDカードの書き込みを入れようかと! } void recieve(){ @@ -105,7 +106,6 @@ SDFileSystem *sd = new SDFileSystem(PB_15, PB_14, PB_13, PC_4, "sd", NC, SDFileSystem::SWITCH_NONE, 20000000); // mosi, miso, sclk, name, cs, card detect, sw type, freq wait_ms(100); - // my_nrf24l01p.write( NRF24L01P_PIPE_P0, (char*)rxData,1);//dummy if(open_flg == 0){ fp = fopen("/sd/testlog.txt", "a"); @@ -124,7 +124,7 @@ } } - interrput.attach(&timer, 1);//100 usec 10Khz + interrput.attach(&timer, 0.1);//100 usec 10Khz UDGS01.attach(recieve,Serial::RxIrq);//牛からのデータ受信したら割り込み発生してrecieveを呼び出す @@ -134,26 +134,37 @@ if ( my_nrf24l01p.readable(NRF24L01P_PIPE_P0) ) { //受信可能であれば rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, (char*)(rxData1),TRANSFER_SIZE ); - + + if(rcv_flg == 0){ memcpy(rxData2, rxData1, TRANSFER_SIZE); - wait(0.5); + wait(0.2); + } // memcpy(rxData3, rxData1, TRANSFER_SIZE); if(open_flg == 1){ fp = fopen("/sd/testlog.txt", "a"); + if (fp == NULL) + { + printf("open error!!\r\n"); +// while(1); + }else{ open_flg = 2; + } } if(write_flg == 1){ - fwrite(rxData2, sizeof(char), TRANSFER_SIZE, fp); - wait(0.5); - fclose(fp); - open_flg = 1; +// fprintf(fp, "check\r\n"); + fwrite(rxData2, sizeof(char), TRANSFER_SIZE, fp); + wait(1); + + fclose(fp); + wait(0.2); +// close_flg = 0; + write_flg = 0; + open_flg = 1; } - -// wait(1); - + rcv_flg = 1; // wait(1); }