2016-07-20 14 views
0

私は現在、サーミスタを温度センサとして使用し、ラズベリーパイを使用してGUIにこの情報を表示するプロジェクトに取り組んでいます。しかし、私は現在、アナログからデジタルへの変換に固執しています。 wavehare広告ボードのサンプルコードを使用して、私は表示する電圧を得ることができますが、次に私の電圧ディバイダの式でこのvoutを使用して、サーミスタの抵抗を取得する必要があります。実際にはの32ビット整数のiTemp変数を使用し、適切に変換してコンソールに実際の数値が表示されるようにします。現在、itempを使用している2行の印刷行は、(1.186 391 V)のような数字を出力します。これは正しいですが、実際の数に変換して電圧分圧器の式に接続する必要があります。 Ps:コードの一部をprintステートメントに含めました。 どんな助けも大いに助長されるでしょう。Cで32ビット整数を連結する

コード:

while((ADS1256_Scan() == 0)); 
     for (i = 0; i < ch_num; i++) 
     { 
      adc[i] = ADS1256_GetAdc(i); 
       volt[i] = (adc[i] * 100)/167;  
     } 

     for (i = 0; i < ch_num; i++) 
     { 
        buf[0] = ((uint32_t)adc[i] >> 16) & 0xFF; 
        buf[1] = ((uint32_t)adc[i] >> 8) & 0xFF; 
        buf[2] = ((uint32_t)adc[i] >> 0) & 0xFF; 
        printf("%d=%02X%02X%02X, %8ld", (int)i, (int)buf[0], 
          (int)buf[1], (int)buf[2], (long)adc[i]);     

        iTemp = volt[i]; /* uV */ 
        if (iTemp < 0) 
        { 
         iTemp = -iTemp; 
           printf(" (-%ld.%03ld %03ld V) \r\n", iTemp /1000000, (iTemp%1000000)/1000, iTemp%1000); 
        } 
        else 
        { 
            printf(" (%ld.%03ld %03ld V) \r\n", iTemp /1000000, (iTemp%1000000)/1000, iTemp%1000);     
        } 

     } 
      //printf("\33[%dA", (int)ch_num); 
     bsp_DelayUS(100000);  
      } 
    bcm2835_spi_end(); 
    bcm2835_close(); 

    return 0; 
} 
+2

実際の数値とは何ですか?数学はここで問題になっていますか?それはあなたですか、 'iTemp'から数値を計算する方法を知らないのですか? –

+0

番号が正しく表示されていることを確認してください。しかし、私は私の方程式でそれを使うことができるように、その番号である変数を作成する必要があります – Josh

+0

'iTemp'には現在1186392が含まれていますか?そうであれば、変換は '1000000.0' – struct

答えて

0

あなたのコメントによると:iTemp = volt[i]; /* uV */、ITEMPの読み取りは、マイクロボルトです。 これをあなたの等式で使用するには、ボルトに変換するだけです(doubleまたはfloatに変換し、(1.0/1000000.0)倍します)。

double iTempV = (double)iTemp*1.0e-6; 

か:

float iTempV = (float)iTemp*1.0e-6f; 

私は、次の式は、マイクロ電圧にA2D生のサンプル値を変換前提としています

adc[i] = ADS1256_GetAdc(i); 
volt[i] = (adc[i] * 100)/167; 

私はGitHubの中に以下のプロジェクトが見つかりました:私をサポートするためにhttps://github.com/ecao1/SEADS-Rpi/blob/master/test_ver1.cを請求。

関連する問題