daiki hiraoka
/
EMG
筋電センサプログラム
筋電
Diff: main.cpp
- Revision:
- 8:19d636daf453
- Parent:
- 7:7ba672b401ca
- Child:
- 9:83a02b5f76f0
--- a/main.cpp Sat Feb 25 08:04:29 2017 +0000 +++ b/main.cpp Sat Mar 18 01:56:55 2017 +0000 @@ -10,7 +10,7 @@ #define OFF (0) #define SAMPLING_RATE (0.001) /* A/D sampling rate (1kHz) */ -#define MAINCYCLE 2000 /* [us] */ +#define MAINCYCLE 1000 /* [us] */ #define INT16_MAX (32767) #define INT16_MIN (-32768) @@ -24,6 +24,11 @@ char CData[8]; }; +union u32_dataType_g +{ + float DData; + char CData[4]; +}; /*** Global Variable ***/ DigitalOut myled1(LED1); /* 起動確認用 */ @@ -86,6 +91,9 @@ } cnt++; i++; + + /* test */ + //ad_sampling(); /* データ送信判定 */ if(g_sendFlg == 1) { @@ -99,7 +107,8 @@ pc.printf("send: %d,%lf\t\r\n", i,InputData); #endif __disable_irq(); // 禁止 - //aout= InputData / 3.3; + //InputData = 2.4; + aout= InputData / 3.3; sendData = Communicaion(InputData,1); __enable_irq(); // 許可 /* フラグリセット */ @@ -138,8 +147,8 @@ InputData = InputAnalgData(); /*[V] */ /* filter */ - hpf_on = 1; - lpf_on = 1; + hpf_on = 0; + lpf_on = 0; brf_on = 0; /** !!! サンプリング周波数確認 !!! **/ /* InputData = (int32_t)filter.calc( (double)(wave_in.read_u16() - INT16_MAX), hpf_on, lpf_on, brf_on ); */ @@ -166,8 +175,11 @@ { int i; - u64_dataType_g sendData; + char header = 0x01; + u64_dataType_g sendData; + u32_dataType_g testData; sendData.DData = data; + testData.DData = (float)data; LPC_PINCON->PINSEL0 &= ~(3 << 4); LPC_PINCON->PINSEL0 |= (1 << 4); // TXD0 (01) @@ -184,9 +196,12 @@ LPC_UART0->FCR = (7 << 0); // RX1char(00), FIFO reset LPC_UART0->IER = (1 << 0); // RBR - for(i=0;i<8;i++) + /* send header */ + LPC_UART0->THR = header; + for(i=0;i<4;i++) { - LPC_UART0->THR =sendData.CData[i]; + // LPC_UART0->THR =sendData.CData[i]; + LPC_UART0->THR =testData.CData[i]; #ifdef TESTCOM_ pc.printf("send: %d,%lf\r\n", i,sendData.CData[i]); #endif @@ -194,16 +209,20 @@ NVIC_EnableIRQ(UART0_IRQn); + wait_us(100); return sendData; } double InputAnalgData() /* A/D 読み取り */ { - double Result = 0; + double Result = 0.0; Result = (double)wave_in.read()*3.3; + /* 1 2 3 4 5 6 7 8 */ + // Result = 0x0123456789ABCDEF; + // Result = 0.2; /*aout= Result / 3.3;*/ - + //wait_us(100); return Result; }