讀取AD模擬份量

 

 

 

 

 

 1  
 2 //EEPROM數據保存----------------------
 3 #include <EEPROM.h>
 4 #define EEPROM_write(address, p) {int i = 0; byte *pp = (byte*)&(p);for(; i < sizeof(p); i++) EEPROM.write(address+i, pp[i]);}
 5 #define EEPROM_read(address, p)  {int i = 0; byte *pp = (byte*)&(p);for(; i < sizeof(p); i++) pp[i]=EEPROM.read(address+i);}
 6 // EEPROM_write(0, value);
 7 // EEPROM_read(0,getValue);
 8 unsigned long incomingByte = 0;// 定義無符號長整數型變量incomingByte初始值爲0
 9 //--------------------------------------
10 
11 
12 //AD ---------------------------------
13 int keyboardPin = A1;    //模擬口0
14 int keyboardValue = 0;   // 取得鍵AD模擬份量
15 //--------------------------------------
16 
17  void setup() {
18    //通訊波特率
19    Serial.begin(9600); 
20  }
21 
22 
23  void loop() {
24 
25    keyboardValue = analogRead(keyboardPin); // 讀出端口AD模擬份量
26    Serial.println(keyboardValue);      // 串口打印
27    
28    //
29    if ((keyboardValue >50) && (keyboardValue <200))  {incomingByte = incomingByte+1;}
30    //
31    if ((keyboardValue >400) && (keyboardValue < 800)){incomingByte = incomingByte-1;}  
32    
33    EEPROM_write(0,incomingByte)   //把incomingByte變量從0地址位開始寫入EEPROM
34    
35    EEPROM_read(0,incomingByte)    //把incomingByte變量從0地址位開始讀出EEPROM
36    Serial.println(incomingByte);
37    Serial.println("//--------------------------------");
38    
39    delay(1000);                  
40 
41  }
42  
View Code
相關文章
相關標籤/搜索