2015-10-13 37 views
-4

我有三個讀取引腳(不直接 - 從上層)。這些引腳可以具有三個值。 信號爲高電平,信號爲低電平,並且地址爲空。 信號高值將爲: (x = < 0.2); 信號低將具有以下值之間的值:
(> 0.2 x < 0.9) 開放地址將是: (x> 4.5)。讀取三個引腳值

什麼是最好的方式來編碼這在C?

感謝您的想法。

+2

「在C中編寫此代碼的最佳方法是什麼?」打開一個編輯器並輸入程序代碼。 – Olaf

+1

嗯..閱讀您的uC用戶手冊的ADC部分似乎是一個很好的起點。 –

+0

我正在尋求一種算法來讀取基於引腳的電壓並輸出高位,低位或開放地址。如果我要求閱讀ADC,我會發布EE ... – user3475003

回答

1

的算法很簡單:

enum {ERROR, SIGNAL_HIGH, SIGNAL_LOW, OPEN_ADDRESS}; 

int signal_to_value (double signal) 
{ 
    if (signal <= 0.2) 
     return SIGNAL_HIGH; 
    else if (0.2 < signal && signal < 0.9) 
     return SIGNAL_LOW; 
    else if (signal > 4.5) 
     return OPEN_ADDRESS; 
    else 
     return ERROR; 
} 

正如你在評論說,你是如何得到的信號,並解釋價值是由你。