рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░!
рдпрд╣ рдЫреЛрдЯрд╛ рд╡рд┐рд╖рдп рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрдИрдбреАрдИ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ :: AVR рдкрд░рд┐рд╡рд╛рд░ рдХреЗ ATMEL рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП 10.5ред

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдм AVR рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд GCC - C рд╕рдВрдХрд▓рдХ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХреНрд░рдорд╢рдГ WinAVR рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдм рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг WinAVR-20100110 рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ SourceForge рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
WinAVR рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдкреИрдХреЗрдЬ рдХреЛ рдмрд╕ рдЬрд╣рд╛рдБ рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд░реВрд╕реА рдкрддреНрд░ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд╕рдВрдХрд▓рдХ рдХреЗ рдкрде рдХреЛ рдкрде рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ рдЕрдм рд╣рдо WinAVR рдХреЗ рдЧрд░реНрд╡ рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВред
рд╡рд╣ рд╕рдм рд╣реИред
рдХреЛрдб :: рдмреНрд▓реЙрдХ
рдХреЛрдб :: рдмреНрд▓реЙрдХ рд╕реНрдерд╛рдкрд┐рдд,
рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, AVR рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред

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

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдирд╛
рд╣рдо PORTD рд╕реЗ рдЬреБрдбрд╝реЗ рдПрд▓ рдИ рдбреА рдХреЗ рд╕рд╛рде рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдЭрдкрдХрд╛рддреЗ рд╣реИрдВред
#include <avr/io.h>
#include <avr/delay.h>
int main (void)
{
int i=0;
// set PORTD for output
DDRD = 0xFF;
while(1){
for(i = 1; i <= 128; i = i*2)
{
PORTD = i;
_delay_loop_2(30000);
}
for(i = 128; i > 1; i -= i/2)
{ PORTD = i;
_delay_loop_2(30000);
}
}
return 1;
}

рдмрд┐рд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ - рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ, 2 рдЪреЗрддрд╛рд╡рдиреАред
рдмреАрдЖрдИрдПрди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣рдо рд╣реЗрдХреНрд╕-рдлрд╝рд╛рдЗрд▓ рдкрд╛рддреЗ рд╣реИрдВ, рдпрд╣ рд╣рдорд╛рд░реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ, рдЬрд┐рд╕реЗ рдЗрд╕рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрдВрд╕реЛрд▓ рд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдореЗрдХрдлрд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкреНрд░рдХрд╛рд░, рдШрдбрд╝реА рдХреА рдЧрддрд┐ рдФрд░ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред
рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп :: рдмреНрд▓реЙрдХ, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдореЗрдХрдлрд╛рдЗрд▓ рдХреЛ рднрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрдкрд╛рджрди рднреА рдХрд░рддрд╛ рд╣реИред

рдХреЛрдб :: рдмреНрд▓реЙрдХ рдПрдХ рдмрд╣реБрдд рд▓рдЪреАрд▓рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ рдЬреЛ рдХрдИ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛ред
рд╡рд╣ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдпрд╛, рдЕрдм рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ AVR рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрдпреЛрдЧреА рдереАред