
私の猫Vasyaはarduinoに属しています。
実際に、このために、私は明らかに、オシロスコープを使用して、なぜかを自分の観点から示して伝えるビデオを作成しました。 Arduinoテーマの明らかな長所と短所を強調してみます:
そもそも、Arduinoは見た目ほど悪くないということを言っておかなければなりません。 Arduinoのおかげで、それらを実装するために「消化」する必要がある非常に大量の情報のために、決して実現しなかった多くの異なるプロジェクトが生まれました。 arduinoデバイスの作成がはるかに簡単であり、高速であることは周知の事実です。 このため、マイクロコントローラのトピックに関与し始めました。 そして徐々に、あらゆる種類のdigitalWrite(13、HIGH)よりも成長し始めました。 そして、PORTB = 32;に切り替えます。これは、私のデバイスの生産性を高めたいという要望が高まったためです。
「arduino」になじみのある言語の通常の「フラッシャー」のコードは次のとおりです。
オープンスポイラー
// geektimes
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

, « », Arduino.
// geektimes
#include <avr/io.h>
#include <util/delay.h>
int main( void )
{
DDRB |= (1 << 5); // PB5
while (1) { // , loop()
PORTB &= ~(1 << 5); // PB5
_delay_ms(1000); // 1000
PORTB |= (1 << 5); // PB5
_delay_ms(1000);
}
return 0;
}

, , 1030 176 Flash, 6 . , . , , , , .
, , , , , — , , ,

, , :

— , Arduino IDE . - , ReadAnalogVoltage
, , «» .
\hardware\arduino\avr\cores\arduino Arduino, wiring_digital.c, «» digitalWrite, :
void digitalWrite(uint8_t pin, uint8_t val)
void digitalWrite(uint8_t pin, uint8_t val)
{
uint8_t timer = digitalPinToTimer(pin);
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t *out;
if (port == NOT_A_PIN) return;
// If the pin that support PWM output, we need to turn it off
// before doing a digital write.
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
out = portOutputRegister(port);
uint8_t oldSREG = SREG;
cli();
if (val == LOW) {
*out &= ~bit;
} else {
*out |= bit;
}
SREG = oldSREG;
}
, ( PORTB = 32;). , , , « ». ,
, .

Arduino Pro Mini , . «» :

, :

(2) — , , (1) :

2.67 0.094 , , , :

— 28 . , 28 , , , , .
, , , , , .

, , , . , .
«», Arduino , Pro Mini , «» , , , Arduino , Arduino Pro Mini Arduino Nano.
, Arduino IDE, , , , ZIP , , , , Atmel Studio. , — ( Ctrl+T):

« », , ?
Arduino IDE :

, , .
Arduino IDE, , «» .
P.S. , , , « — ».
:
— ;
Arduino IDE ;
Arduino ;
Arduino?;
geektimes.