Arduino рдХреЗ рд▓рд┐рдП рддрд╛рд░реЛрдВ рдХрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ - BASCOM-AVR

рд╡реИрд╕реЗ, рдореБрдЭреЗ рдЖрдкрдХреА рдПрдХ рд╡рд╛рдпрд░рд┐рдВрдЧ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред рдФрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рд╡рд╣ рдореБрдЭреЗ рдмрд╣реБрдд рдзреАрд░реЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╡рд╣ рдлрд░реНрдорд╡реЗрдпрд░ рд╕реЗ рдкрд╣рд▓реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реЛрдЪрддрд╛ рд╣реИред
рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ AVR рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдЬреЛ рдПрдХ рдХреЛрдб рд╕рдВрдкрд╛рджрдХ, рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рдПрдХ рдбрд┐рдмрдЧрд░ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЗрд╢рд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ Arduino рдмреВрдЯрд▓реЛрдбрд░ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛рдиреА, рдмреЛрд░реНрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдмреВрдЯрд▓реЛрдбрд░ рдХреЛ рдлреНрд▓реИрд╢ рдХрд░рдирд╛, рдЖрджрд┐)



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

рд╣рдо рдСрдлрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ , рдпрд╛ рдмрд╕ рд╡рд┐рд╖рдп рдХреЗ рдЕрдВрдд рдореЗрдВ рджреВрд╕рд░реЗ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ - рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдПрдХ рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг (30 рдПрдордмреА) рддреБрд░рдВрдд рд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рдбреЗрдореЛ рдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЬрд┐рдирдХрд╛ рд╕рдВрдХрд▓рд┐рдд рд░реВрдк рдореЗрдВ рд╡рдЬрди 4Kb рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рд╣рд╛рдБ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдЯрд┐рдиреА 2313 рдХреЗ рд▓рд┐рдП ), рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдкрдХреЛ рд░рдЯрд░рд░ рдкрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рджрд░рд╛рд░ рдЦрд░реАрджрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рдирд╣реАрдВ рд╣реИ - 89 рдпреВрд░реЛ ред
рд╕реНрдерд╛рдкрдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ Win7 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдЧрддрддрд╛ рдореЛрдб рдХреЛ XP рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдмреЗрд▓ рдХреЗ рдиреАрдЪреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдмрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ, рдпрд╣ рдХрд╛рдлреА рдкреЛрд░реНрдЯреЗрдмрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рдХреЗ рдЙрдкрдпреЛрдЧ

рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ:

рд╕рднреА рдмрдЯрди рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИред
рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдпрд╣ рд░реВрд╕реА рдореЗрдВ рдмрд╣реБрдд рд╕рднреНрдп рдерд╛, рдЬрд┐рд╕реЗ рд╡рд┐рдХрд▓реНрдк - рдкрд░реНрдпрд╛рд╡рд░рдг - рдЖрдИрдбреАрдИ - рднрд╛рд╖рд╛ - рд░реВрд╕реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдореЗрд░реЗ рдкрд╛рд╕ Arduino рдиреИрдиреЛ рдмреЛрд░реНрдб рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ, рдЬреЛ рдореИрдВрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рд╕реАрдзреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрдордХрддреА рдереА, рдХреНрдпреЛрдВрдХрд┐ Arduino IDE рдХреЗ рд▓рд┐рдП рдирд╛рдкрд╕рдВрдж рдереАред

рдЖрдЗрдП рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдордХреЗ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдПрдЯрдореЗрдЧрд╛ 16, рдпрд╣ рдЗрд╕ рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
$regfile = "m168def.dat" 

рдРрд╕реА рд░реЗрдЦрд╛ рдХреНрдпреЛрдВ, рд╕реНрдкрд╖реНрдЯ рд╕реЛрдЪ рд░рд╣реА рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ - рдХрдВрдкрд╛рдЗрд▓рд░ - рдПрдордХреЗ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╛рда рдореЗрдВ рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝реЛрд▓реНрдбрд░ (c: \ Program Files \ MCS Electronics \ BASCOM-AVR \ *ред Dat) рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред
рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рд╕реЗрдЯ рдХрд░реЗрдВ:
 $crystal = 16000000 

16 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬред рдпрд╣ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ (рдкреНрд░рддреАрдХреНрд╖рд╛) рдХреА рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреБрдЫ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдЖрд╡реГрддреНрддрд┐ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЕрднреА рднреА рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рд╣реИ, рдореИрдВ рдлреНрдпреВрдЬ-рдмреНрд▓реЙрдХ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, Arduino рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
 Config Portb.5 = Output 

рдХреЛрдИ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкрд┐рди рдирд╣реАрдВ, рдХреЗрд╡рд▓ рдХрдЯреНрдЯрд░ред рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╢реАрдЯ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдкреЛрд░реНрдЯ рдирд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВ:
рдЫрд╡рд┐
PD1 = portd.1, pb4 = portb.4
рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд░реНрдЯ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рд▓рд┐рдЦреЗрдВ: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдкреЛрд░реНрдЯрдм = рдЖрдЙрдЯрдкреБрдЯ

рд╣рдо рдмрд┐рдирд╛ рд╢рд░реНрдд рдЪрдХреНрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдлрд┐рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдирд┐рдпрдВрддреНрд░рдХ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ)
 Do Loop 


рдФрд░ рдЗрд╕рдХреЗ рдЕрдВрджрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрд▓рдИрдбреА рдХреЛ рдмреНрд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ:
  Toggle Portb.5 

Portb.5, Arduino рдореЗрдВ рдкрд┐рди 13 рдХреЗ рд╕рдорд╛рди рд╣реИред рдкрддреНрд░рд╛рдЪрд╛рд░ (рдпрджрд┐ рдЖрдк рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдЫрд╡рд┐

рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИред 7 рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░: рдмрд┐рдЯ, рдмрд╛рдЗрдЯ, рдЗрдВрдЯреЗрдЧрд░, рд╡рд░реНрдб, рд▓реЙрдиреНрдЧ, рд╕рд┐рдВрдЧрд▓, рд╕реНрдЯреНрд░рд┐рдВрдЧред
рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ: рдбрд┐рдо рдП рд╕рд┐рдВрдЧрд▓
HD44780 рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдХрдиреЗрдХреНрд╢рди:
 Config lcd = 16*2 Config lcdpin = PIN, DB4 = PORTB.1,DB5=PORTB.2,DB6=PORTB.3,DB7=PORTB.4,E=PORTB.5,RS=PORTB.6 Config lcdmode = PORT 

рдФрд░ рдЙрди рдкрд░ рдкрд╛рда рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рд░рд▓ рдирд┐рд╖реНрдХрд░реНрд╖:
 Lcd "Hello, habr! " ; time 

рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдХрд░реНрд╕рд░ рдирд┐рдпрдВрддреНрд░рдг рд╣реИ, рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЪрд░рд┐рддреНрд░ рд╕рдВрдкрд╛рджрдХ, рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╕рдорд░реНрдерди рд╣реИред
рд╕рд░рд▓ рдзреНрд╡рдирд┐ рдкреАрдврд╝реА:
 Sound, Portb.0, 100, 500 

рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ 500Hz рдХреА рдЖрд╡реГрддреНрддрд┐ рдФрд░ 100ms рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде PB0 рдкрд░ рдПрдХ рдореЗрдиреНрдбрд░ рдЬрд╛рд░реА рдХрд░рдирд╛ред
DTMF рдЯреЛрди рдЬрдирд░реЗрд╢рди:
 Dtmfout, 15, 100 

100 рдореА рдХреЗ рд▓рд┐рдП 15 рд╡рд╛рдВ рд╕реНрд╡рд░ред
UART рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ (рд▓реЛрд╣реЗ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде):
 Dim Name as String * 10 $Baud = 9600 Input "Hello, print you name", Name Print "Name: " ; Name 

рдЗрдВрдЯрд░рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ:
 On Int0 Button -   Config Int0 = Low Level -     Enable Interrupts -   Enable Int0 Button: Incr Cntr Return 

рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде:
 Config Timer0 = Timer , Prescale = 64 -     On Timer0 Pulse: -   Enable Interrupts -   Enable Timer0 Pulse: Incr Cntr Return 


Arduino рдлрд░реНрдорд╡реЗрдпрд░

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

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЧрддрд┐ рдХреЛ 19200 рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛, рдЕрдиреНрдпрдерд╛ рдмреЛрд░реНрдб рдХреЛ рдлреНрд▓реИрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рдмреЛрд░реНрдбреЛрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ arduino-1.0.1 \ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ \ arduino \ board.txt рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
рд╡реИрд╕реЗ, рдПрдХ рд╕реНрдореГрддрд┐ рдЖрдХрд╛рд░ рдФрд░ рдПрдХ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдЖрд╡реГрддреНрддрд┐ рднреА рд╣реИ:

 nano.name=Arduino Nano w/ ATmega168 nano.upload.maximum_size=14336 nano.upload.speed=19200 nano.bootloader.low_fuses=0xff nano.bootloader.high_fuses=0xdd nano.bootloader.extended_fuses=0x00 nano.build.mcu=atmega168 nano.build.f_cpu=16000000L 


рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ (рдореБрдЭреЗ рдЗрд╕рдХреЗ рдзреАрдореЗрдкрди рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлреНрд▓реИрд╢рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ) рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдВрд╕реЛрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ AVRDUDE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП avrdude-5.11.tar.gz ред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░реЗрдВред
рд╡рд┐рдХрд▓реНрдк рдкрд░ рдЬрд╛рдПрдВ - рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ - рдмрд╛рд╣рд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ , рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
"C: \ Program Files \ MCS Electronics \ BASCOM-AVR \ ARVDUDE \ avrdude.exe"
рдФрд░ рдиреАрдЪреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ - рдЗрд╕ рд░реВрдк рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░:
-C "C: \ Program Files \ MCS Electronics \ BASCOM-AVR \ ARVDUDE \ avrdude.conf" -p atmega168 -P-com2 -c arduino -b 19200 -U рдлрд╝реНрд▓реИрд╢: w: {FILE}: i
рдирд╛рдореЛрдВ рд╕реЗ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╣рдо рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╣рд╛рдВ рд╣реИ, рд╣рдо рдирд┐рдпрдВрддреНрд░рдХ, рдкреЛрд░реНрдЯ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЧрддрд┐, рдлреНрд▓реИрд╢, рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЙрдкрдпреЛрдЧ рд╣реЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЯрд┐рдХ рдХрд░рддреЗ рд╣реИрдВ ред
рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЦреБрд╢реА рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж рдЖрдЗрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рднреА рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдПрдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рди рдФрд░ рдлреНрд▓реИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЙрдкрд▓рдмреНрдз рдлреНрд▓реИрд╢ рдХреА рдЦрдкрдд рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:

рдФрд░ рдлрд┐рд░ ARVDUDE рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:


рдУрд░, рдЖрдк рдЪрдпрдирд┐рдд рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдкрд┐рди рдкрд░ рдорджрдж рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рджреЗрдЦреЗрдВ - рдкрд┐рди рд▓реЗрдЖрдЙрдЯ рдЪрд╛рд▓реВ рд╣реИ):

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


рдПрдХ рдФрд░ рд╢рд╛рдВрдд рдЪреАрдЬ рд▓реЛрд╣реЗ рдХреЗ рд╕рд┐рдореБрд▓реЗрд╢рди, рдмреНрд░реЗрдХ рдкреЙрдЗрдВрдЯ рдФрд░ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбрд┐рдмрдЧрд░ рд╣реИред

рдпрд╣ рд▓рд╛рд▓ рдорд╛рдЗрдХреНрд░реЛрдХреНрд░рд┐рд╕рд┐рдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЯрди рджрдмрд╛рдХрд░ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдореАрдареЗ рдкрдХреНрд╖ рдореЗрдВ, рдмреЗрд╕рдХреЙрдо рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ Arduino IDE рдХреЗ рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ рдкрд▓рдХ (рдПрд▓рдИрдбреА рдирд┐рдорд┐рд╖):
Arduino рдХреЗ рд▓рд┐рдП:
 void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); digitalWrite(13, LOW); } 

рдЗрд╕реЗ 3078 (!!!) рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╣реЗрдХреНрд╕ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ 210 рдХрд┐рд▓реЛ рдореАрдЯрд░ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд┐рди рдЦреАрдВрдЪрддрд╛ рд╣реИ:


рдФрд░ рдмрд╛рд╕рдХреЙрдо рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рд╣реИ:
 $regfile = "m168def.dat" $crystal = 16000000 Config Portb.5 = Output Do Toggle Portb.5 Loop 

рдпрд╣ 553 рдмрд╛рдЗрдЯреНрд╕ (рдкрд╛рдВрдЪ рдЧреБрдирд╛ рдЫреЛрдЯреЗ) рд╣реЗрдХреНрд╕ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ 1.6 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрдордХрддрд╛ рд╣реИ:


рд╕рдВрджрд░реНрдн:

Source: https://habr.com/ru/post/In151544/


All Articles