小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

有關模擬量引腳的定義

 寬寬r700 2016-09-25
int analogPin = 3;等價于#define analogPin 3嗎?
它是定義板子的3號引腳還是A3引腳呢?


(1)都可以! 都可能 ! 可能是 digital pin 3, 可能是  A3, 看你怎麼用!
  因為:
   int analogPin = 3;  // 找個位置(2 byte), 命名 analogPin, 放入 3
但是 #define analogPin 3  意思是以後看到 analogPin 就換成 3
所以, 其實不太一樣, 但用起來很像一樣 !!
----
(2)寫 int analogPin =3;
   稍後還可寫 analogPin =5;
   但是寫 #define analogPin 3
   之後如果寫 analogPin = 3;  
  會被編譯為 3 = 3;  然後就報錯 !!
(3)寫 int analogPin =3;
    int kk = digitalRead(analogPin); 則此時 analogPin 是 3
  但寫
    int yy = analogRead(analogPin); 此時 analogPin 是代表 A3
  可是其實 A3 在 UNO 其實就是 14+3 = 17
  因為 #define A0 14
      //...
       #define A3 17

** 注意, A3 不可寫成 a3
   大小寫不同意義就不同 !!

(1)都可以! 都可能 ! 可能是 digital pin 3, 可能是  A3, 看你怎麼用!
  因為:
   int analogPin = 3;  // ...

感謝~~不過我試了一下,int analogPin = 3;后面再加 int analogPin = 5;會出錯,報重復定義

你那樣寫當然錯啦!
我是說 int  ggyy = 3;
  然後在 setup( ) { 內(nèi)或在 loop( ) {內(nèi)可寫 ggyy=5;
  但用 #define 的不行!
這時在 setup( ){  或 loop( 內(nèi)用的就是前面那個 int ggyy;
稱為全局變量, 代表記憶體某個位置;
倒是用 #define 的只是一個"符號", 稍後用到就直接換掉, 跟人直接寫相同 !
不過, 如果在seup( ){ 或 loop( ){ 或任何函數(shù)內(nèi)又寫 int ggyy=5; 並不會報錯,
因為那樣是局部變量, 裡面的 ggyy 暫時用另一個位置, 例如:
int ggyy=38;
void setup( ) {
    Serial.begin(9600);
    int ggyy = 49;
    Serial.print("inner ggyy=");
    Serial.println(ggyy);
    Serial.print("Outer ggyy=");
    Serial.println(  ::ggyy );  // 這是外面那個 ggyy
    int kkk = ::ggyy;  // 外面的 ggyy, 若不寫 :: 則是裡面的 ggyy
    Serial.println( String("kkk=") + kkk);    // 印出 kkk=38
}
void loop( ) {
}

補充一下
就是說以下三句其實意思都一樣:

int ans = analogRead(3);
int ans = analogRead(A3);
int ans = analogRead(17);

不論寫哪一句, 都是讀取 A3 腳的模擬值 0 ~ 1023
因為 analogRead( ) 只能用在 A0 ~ A5,
所以會自動檢查並想辦法更正 !
但是用 analogWrite( ) 就不是這樣喔!
UNO 上 analogWrite( )只對 3, 5, 6, 9, 10, 11 這些 pin 有效 !
不是這些 pin 就改用 digitalWrite( ),
可是 digitalWrite(3, HIGH); 和 digitalWrite(A3, HIGH);
是分別對 pin3 和 pin A3
(Analog 的 pin 可以拿來做 digital 輸出, 反之不行!)

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約