Arduino рдХреЗ рддрд╣рдд рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ C / C ++ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ

рдпрд╣ рдкреЛрд╕реНрдЯ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЛ C / C ++ рдореЗрдВ Arduino рдХреЗ рддрд╣рдд рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП Visual Studio рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдШрдВрдЯреЛрдВ (рджрд┐рдиреЛрдВ) рдХреЛ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред



рдЫрд╡рд┐





рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛





рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдПрдХ рд╢рд┐рдХреНрд╖рдХ рдХреЛ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рджреБрдкрдЯреНрдЯрд╛ рдкрд╣рдиреЗ рджреЗрдЦрд╛ рдерд╛ред рджреБрдкрдЯреНрдЯреЗ рдкрд░ рд╕рд╛рдд-рдЦрдВрдб рд╕рдВрдХреЗрддрдХ рдФрд░ рдХрдИ рдПрд▓рдИрдбреА рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рдереЗред рд╢рд┐рдХреНрд╖рдХ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдХреЛрдб рдореЗрдВ рдкрд╛рд░рдВрдЧрдд рдерд╛, рдЗрд╕ рдмреАрдЪ рджреБрдкрдЯреНрдЯрд╛ рдЙрд╕реЗ рдХреБрдЫ рд╕рдВрдХреЗрдд рджреЗ рд░рд╣рд╛ рдерд╛ред рдореБрдЭреЗ рддреБрд░рдВрдд рджрд┐рд▓рдЪрд╕реНрдкреА рдереА рдХрд┐ рд╡рд╣ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ ... рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЙрд╕рд╕реЗ рд╕реАрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╢реЙрд▓ рдХреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЫреЛрдЯреА рдЧреБрдЧрд▓реА рдХреЗ рдмрд╛рдж, рдореИрдВ рдПрдХ рдЦрд┐рд▓реМрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдЕрд░реБрдбрд┐рдиреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЦреБрдж рдХреЛ рдПрдХ Arduino рдореЗрдЧрд╛, Atmega1280 (рдХреЗрд╡рд▓ $ 29.99) рдХреЗ рд╕рд╛рде рдСрд░реНрдбрд░ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рджреЛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдореИрдВ рдХрд╝реАрдорддреА рдЦрд┐рд▓реМрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдСрдлрд┐рд╕ рддрдХ рджреМрдбрд╝рддрд╛ рд╣реВрдВред



рдХрд╣рд╛рдиреА





рдХреНрдпреЛрдВрдХрд┐ рдЪреВрдВрдХрд┐ рдореИрдВ рдПрдХ рд╢реМрдХреАрди рдЪрд╛рд╡рд▓рд╛ рд╡рд┐рдВрдбреЛрдЬ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ, рдЬреЛ VS рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЖрджреА рд╣реИ, рдореИрдВрдиреЗ рддреБрд░рдВрдд рджреЗрд╢реА Arduino IDE рд╕реЗ рдЦреБрдж рдХреЛ рд╡рд┐рдЪрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред



рддреЛ рд╣рдореЗрдВ рдЬрд░реВрд░рдд рд╣реИ:





рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рдмрдХреБрдЫ рдЧреБрдЧреБрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред



рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред WinAVR, avr-libc, Avrdude рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рд╣рдо Arduino рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ "рдореЗрдХрдлрд╛рдЗрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ" рдмрдирд╛рдПрдВред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рдлрд╝реАрд▓реНрдб рднрд░реЗрдВред



рдЫрд╡рд┐



рдЬрд┐рд╕ рдЬрдЧрд╣ рдкрд░ WinAVR рдирдореВрдирд╛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд╣рд╛рдВ рдПрдХ рдореЗрдХрдлрд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЦреБрдж рдХреЛ рдХреЙрдкреАрдлрд╛рдЗрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ:



MCU = atmega1280

F_CPU = 16000000

FORMAT = ihex

TARGET = ATMEGA-1280-DEV-BOARD

SRC = $(TARGET).C










PROGRAMMER_FLAGS = -p m1280 -c arduino -b 57600 -P COM3 -U flash:w:$(TARGET).hex







рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЕрд╡реНрд░реЗрдб рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред





рдЗрд╕ рддрд░рд╣ рд╕рднреА рдЕрдиреБрднрд╛рдЧ рдмрджрд▓реЗрдВ:

all: build program





рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ "рдХрд╛рд░реНрдпрдХреНрд░рдо"ред рдпрд╣ рд╕рдлрд▓ рд╕рдВрдХрд▓рди рдкрд░, MK рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред



рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред рд╣рдо рдПрдХ рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдпрдХреНрд░рдо (рдмреНрд▓рд┐рдВрдХрд░ рдПрд▓рдИрдбреА рдПрд▓) рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдлрд╛рдЗрд▓ arduino-Mega-schematic.pdf рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ Arduino рдХрд╛ 13 рд╡рд╛рдВ рдкреЛрд░реНрдЯ PB7 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:



#include <avr/io.h>

#include <util/delay.h>



int main()

{

DDRB = 0xFF;

while ( true )

{

PORTB |= (1 << 7);

_delay_ms(500);

PORTB &= ~(1 << 7);

_delay_ms(500);

}

return 0;

}




* This source code was highlighted with Source Code Highlighter .








рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕:



#include "utils.h"



class Port

{

public :

Port(PORT& p) : _p(p) {};

Port& operator ! ();

Port& operator += (uint8 b);

Port& operator -= (uint8 b);

Port& operator = (Port& p);

void SetLow();

void SetHigh();

PORT& GetValue();

bool ClearBit(uint8 b);

bool SetBit(uint8 b);

void Pulse(uint8 t);

void PulseBit(uint8 b, uint8 t);

private :

PORT& _p;

};




* This source code was highlighted with Source Code Highlighter .








Makefile рдХреЛ рд╕рд╣реЗрдЬреЗрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ, рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред

рдЫрд╡рд┐



рдкреБрдирд╢реНрдЪ 10 рд╡реАрдВ рддрдХ, рдПрдХ рд╕реЗрдЯ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЗрдВрд╕рд░ рдФрд░ рд╕реЗрдВрд╕рд░ рд╕реЗ рдорд┐рд▓рдХрд░ рдЖрдПрдЧрд╛ред рдлрд░рд╡рд░реА рддрдХ рдореИрдВ рдПрдХ рдЕрд▓реНрдЯреНрд░рд╛рд╕реЛрдирд┐рдХ рд░реЗрдВрдЬрдлрд╛рдЗрдВрдбрд░ рдФрд░ рдПрдХ рдлреЛрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд░рд┐рдХреЙрд░реНрдбрд░ рдПрдХрддреНрд░ рдХрд░реВрдВрдЧрд╛ред




All Articles