2013-05-04 5 views
1
아두 이노를 사용하여

하는 경우, 나는이 같은 코드를 사용하는 경우 무엇을 할 것 :런타임 중에 Arduino의 오류는 어떻게됩니까?

int status; 
void setup() 
{ 
    pinMode(13, OUTPUT); 
} 

void loop() 
{ 
    digitalWrite(13, status); 
} 

무엇을 thiscode 것입니까? LED가 켜지겠습니까? 칩에 손상을 줄까요? Arduino IDE에서 컴파일 할 때, 그것은 괜찮다고 말했다. 컴파일러가 포착하지 못하는 다른 문제가 있지만 어떻게 할 것인가? 한 가지 다른 예는 "digitalRead();" 출력으로 설정됩니다.

참고 : Arduino Uno SMD edition R2를 사용하십시오.

답변

2

Arduino가 손상되지는 않지만 값이 초기화되지 않았기 때문에 출력에 대해 확신 할 수 없습니다. 그것은 기억이 그 위치에서 보유하고있는 모든 값을 가지고 있습니다. (그것을 알려지지 않은 무작위 값으로 생각하십시오). 대부분의 경우, LOW (= 0) 이외의 것을 건네 주면 digitalWrite가 핀을 하이로 설정하기 때문에, 켜지 게됩니다. wiring_digital.c에 아두 이노의 소스 코드를보고 : 다른 질문에 대해서는

if (val == LOW) { 
     *out &= ~bit; 
    } else { 
     *out |= bit; 
    } 

: 핀 값을 읽기

는 핀 (높거나 낮은) 물리적 상태 핀크스 레지스터 값을 반환에 관계없이 그 모드의 (in 또는 out).

일반적으로 Arduino를 손상시키는 것은 실제로 어렵습니다. 대부분의 경우 손상을주기 위해 일부 핀에 고/음 전압을인가해야합니다.

관련 문제