筋電センサプログラム

Dependencies:   mbed-rtos mbed

筋電

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