STM32, рднрд╛рдЧ 2 рдХреЗ рд╕рд╛рде рд▓рд░реНрдирд┐рдВрдЧ рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо рд╢реБрд░реВ рдХрд░рдирд╛

рдпрд╣ рд▓реЗрдЦ рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо рдХреЛрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЪрдХреНрд░ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИред
рдкрд╣рд▓рд╛ рд▓реЗрдЦ рдпрд╣рд╛рдБ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
STM32 рдХреЗ рд╕рд╛рде рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛
рд▓реЗрдЦреЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдордХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдиреЗ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд╣реИред рд╕рд╛рдордЧреНрд░реА рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рдирд╣реАрдВ рд╣реИ рдЬреЛ 10 рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдирд┐рдорд┐рд╖ рдПрд▓рдИрдбреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЕрдХреНрд╕рд░ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рд╕реЗ рдХреНрдпрд╛ рдЫрд┐рдкрд╛ рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдбрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕, рдЙрджрд╛рд╣рд░рдгреЛрдВ рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╕рдордЭреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрди рдЕрддрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рдереЗред

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

рдПрдЖрд░рдПрдо рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж


рдореЗрд░реЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк ARM рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рдФрд░ Cortex-M4 рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкреНрд░рд▓реЗрдЦрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рдкрд░ рднреА рдЕрд╕рдВрднрд╡ рд╣реИред
рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрдврд╝рдиреЗ рд╣реЛрдВрдЧреЗред
1. рд▓рд░реНрдирд┐рдВрдЧ рдХреЛ рдХреЛрд░реНрдЯреЗрдХреНрд╕ тДв -рдПрдо 3 рдЯреЗрдХреНрдиреАрдХрд▓ рд░реЗрдлрд░реЗрдВрд╕ рдореИрдиреБрдЕрд▓ рд░рд┐рд╡реАрдЬрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ : рдЖрд░ 1 рдкреА 1 - рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рдХреЛрд░ рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреА рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╢реЛрдзрди
2. рдХреЙрд░реНрдЯреЗрдХреНрд╕ тДв -M4 рдЯреЗрдХреНрдиреАрдХрд▓ рд░реЗрдлрд░реЗрдВрд╕ рдореИрдиреБрдЕрд▓ рдХреЗ рд╕рднреА рдФрд░ рд╕рдВрд╢реЛрдзрди рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛ рдФрд░ рдкрд┐рдЫрд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
рддреЛ рдХреГрдкрдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд░реНрдиреЗрд▓ рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рди рдХрд░реЗрдВред

рдмрд╛рдзрд╛ рдФрд░ рдШрдЯрдирд╛рдПрдБ


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

рдЗрд╡реЗрдВрдЯ рдФрд░ рдЗрдВрдЯрд░рдкреНрдЯ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдЯрд░рдкреНрдЯ рдХреЛ рдИрд╡реЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдХреЛ рдЗрдВрдЯрд░рдкреНрдЯ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрдВрдЯрд░рдкреНрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╡реЗрдВрдЯ рдЕрдиреНрдп рдПрдордХреЗ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

NVIC


рд╡реНрдпрд╡рдзрд╛рдиреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдПрдирд╡реАрдЖрдИрд╕реА (рдиреЗрд╕реНрдЯреЗрдб рд╡реЗрдХреНрдЯрд░рдб рдЗрдВрдЯрд░рдкреНрд░реЗрдиреНрдпреЛрд░ рдХрдВрдЯреНрд░реЛрд▓рд░) рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдмрд╛рдзрд╛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо рдХреЛрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг Cortex тДв -M3 TechnicalReference рдореИрдиреБрдЕрд▓ рд╕рдВрд╢реЛрдзрди рдХреЗ рд╕рд╛рде рдЕрдзреНрдпрдпрди рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП : r1p1

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

рдирд╛рдо рд╕реЗ рд╣реА рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдПрдирд╡реАрдЖрдИрд╕реА рдХрдВрдЯреНрд░реЛрд▓рд░ рдЗрдВрдЯрд░реЗрд╕реНрдЯ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдПрдирд╡реАрдЖрдИрд╕реА рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдзрд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдЙрдЪреНрдЪ-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рдзрд╛рди рдХреЛ рдХрдо-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рдзрд╛рди рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ, рдХрдо-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


рдпрд╣ рдкреЛрд╕реНрдЯ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдХреЛрд░реНрдЯреЗрдХреНрд╕ тДв -M3 рддрдХрдиреАрдХреА рд╕рдВрджрд░реНрдн рдирд┐рдпрдорд╛рд╡рд▓реА рдореЗрдВ рд╡реНрдпрд╡рдзрд╛рди рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВред рдЪреВрдВрдХрд┐ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рдЗрд╕рдХрд╛ рд╡рд┐рд╡рд░рдг рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рдХреЛрд░ рдХреЛ r1p1 рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╢реЛрдзрди рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдПрдХ рдмрд╛рдзрд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛

рдЬрдм рдХреЛрдИ рдЕрд╡рд░реЛрдз рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ NVIC рдХрд░реНрдиреЗрд▓ рдХреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЛрдб рдореЗрдВ рдмрд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрдВрдЯрд░рдкреНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдХрд░реНрдиреЗрд▓ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рд░рдЬрд┐рд╕реНрдЯрд░ рдорд╛рдиреЛрдВ рдХреЗ рд▓реЗрдЦрди рдХреЗ рджреМрд░рд╛рди, рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

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

рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ R0 - R3 рдФрд░ R12 рднреА рд╕рд╣реЗрдЬреЗ рдЧрдП рд╣реИрдВред рдЗрди рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреИрдХ рдкрд░ рд░рдЦрдиреЗ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд░реБрдХрд╛рд╡рдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрд░ 12 рдЕрдХреНрд╕рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

рд╡реНрдпрд╡рдзрд╛рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: рд╕реНрдЯреИрдХ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ, рд╡рд╛рдкрд╕реА рдкрддрд╛ рдХрд╛ рдирдореВрдирд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдмрд╛рдзрд╛ рдбрд╛рд▓рдиреЗ рд╡рд╛рд▓рд╛

рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдирд╡реАрдЖрдИрд╕реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рдзрд╛рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

1. рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд░реБрдХрд╛рд╡рдЯ
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдмрд╛рдзрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд▓реЗ 12 рдЪрдХреНрд░, рдирдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдЪреНрдЪ-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рдзрд╛рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж, рд╕реНрдЯреИрдХ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрдо-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рдзрд╛рди рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡реНрдпрд╡рдзрд╛рди рд╕реЗ рдХреЛрдИ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИред

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

3. рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рдзрд╛рди рдореЗрдВ рджреЗрд░реА
рдпрджрд┐ рдирд┐рдореНрди-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реА рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ (рдЙрди 12 рдШрдбрд╝реА рдЪрдХреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП)ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЙрдЪреНрдЪ-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рдзрд╛рди рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреНрд╖рдг рд╕реЗ рдХрдо рд╕реЗ рдХрдо 6 рдЪрдХреНрд░ рд╣реЛрдВрдЧреЗ (рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкрддреЗ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрд╕ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп)ред рдирд┐рдореНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрд░ рд╡рд╛рдкрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИред

рдмрд╛рдзрд╛ рдкреНрд░рдзрд╛рдирддрд╛

рдХреЗрд╡рд▓ рд╡реНрдпрд╡рдзрд╛рдиреЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, NVIC рд╕рдореВрд╣ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╕рдореВрд╣ рдореЗрдВ рд░реБрдХрд╛рд╡рдЯ рдПрдХ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╕рдореВрд╣ рдореЗрдВ рдмрд╛рдзрд╛ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред рдПрдХ рд╣реА рд╕рдореВрд╣ рд╕реЗ рд╡реНрдпрд╡рдзрд╛рди, рд▓реЗрдХрд┐рди рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗрд╡рд▓ рдЙрд╕реА рдХреНрд░рдо рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рджреЛрдиреЛрдВ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред

рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯ рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреА рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ ( рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо 4 рдЬреЗрдиреЗрд░рд┐рдХ рдпреВрдЬрд░ рдЧрд╛рдЗрдб рджреЗрдЦреЗрдВ ) рдореЗрдВ рд╡реНрдпрд╡рдзрд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИред рдЙрд╕реА рд╕рдордп, рдмрд┐рдЯреНрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЙрд╕ рд╕рдореВрд╣ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡реНрдпрд╡рдзрд╛рди рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рднрд╛рдЧ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред
рд╕рдореВрд╣ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯреНрд╕ рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдкреНрдЯ рдФрд░ рд░реАрд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд░рдЬрд┐рд╕реНрдЯрд░ (рдПрдЯреЗрдВрдЯреЗрд╢рди !!! рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 4 рдЬреЗрдиреЗрд░рд┐рдХ рдпреВрдЬрд░ рдЧрд╛рдЗрдб рджреЗрдЦреЗрдВ ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╢рд╛рдпрдж рджреЗрдЦрд╛ рд╣реИ, рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 4 рдЬреЗрдиреЗрд░рд┐рдХ рдпреВрдЬрд░ рдЧрд╛рдЗрдб рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЖрдЧреЗ рдпрд╣ рдмрд╣реБрдд рд╕реБрдЦрдж рдмрд╛рдд рдирд╣реАрдВ рд╣реИред STM32F407 MK рдХреЗ рд╕рдВрджрд░реНрдн рдореИрдиреБрдЕрд▓ рдореЗрдВ , NVIC рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрднрдЧ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИред STM32 рдореЗрдВ NVIC рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ - STM32F3xxx рдФрд░ STM32F4xxx Cortex-M4 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореИрдиреБрдЕрд▓ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдореИрдВ рдЖрдкрдХреЛ рдЕрдиреНрдп рд╕рднреА рдореБрджреНрджреЛрдВ рдкрд░ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ, рдХрд░реНрдиреЗрд▓ рдХрд╛рд░реНрдп рдХреЛ рдПрдЖрд░рдПрдо рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рдореЗрдВ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рдкреНрд░рддреНрдпреЗрдХ рд░реБрдХрд╛рд╡рдЯ рдХреЗ рд▓рд┐рдП 0-15 рдХрд╛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдпреЛрдЧреНрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реНрддрд░ред рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдПрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ
рдирд┐рдореНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рд╕реНрддрд░ 0 рдЙрдЪреНрдЪрддрдо рд░реБрдХрд╛рд╡рдЯ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд 8 рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдорд╛рд╕реНрдХрд┐рдВрдЧ рдореЗрдВ рд░реБрдХрд╛рд╡рдЯ рдЖрддреА рд╣реИ

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

рдмрд╛рдзрд┐рдд рд╡реЗрдХреНрдЯрд░ рддрд╛рд▓рд┐рдХрд╛

рдПрдирд╡реАрдЖрдИрд╕реА рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХреЛ рдмрд╛рдзрд┐рдд рд╡реЗрдХреНрдЯрд░ рдЯреЗрдмрд▓ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд░реБрдХрд╛рд╡рдЯ рд╡реЗрдХреНрдЯрд░ рддрд╛рд▓рд┐рдХрд╛ рд░реБрдХрд╛рд╡рдЯ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдкрддреЛрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рд╕реВрдЪреА рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдмрд╛рдзрд╛ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 4 рдЬреЗрдиреЗрд░рд┐рдХ рдпреВрдЬрд░ рдЧрд╛рдЗрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдирд╡реАрдЖрдИрд╕реА 240 рд╡рд┐рднрд┐рдиреНрди рдЗрдВрдЯрд░рдкреНрдЯ рд╡реИрдХреНрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдХрд░реНрдиреЗрд▓ рд╡рд┐рд╡рд░рдг рдореЗрдВ, рдХреЗрд╡рд▓ рдХрд░реНрдиреЗрд▓ рдЕрдкрд╡рд╛рдж рд╡реНрдпрд╡рдзрд╛рди рдХреЛ рдорд╛рдирдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рджреЗрдЦреЗрдВ рдЦрдВрдб 2.3.2 рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо 4 рдЬреЗрдиреЗрд░рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдб рдореЗрдВ рдЕрдкрд╡рд╛рдж рдкреНрд░рдХрд╛рд░ ):

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЗрди рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╢реЗрд╖ рд░реБрдХрд╛рд╡рдЯреЗрдВ рдПрдордХреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВред рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрд┐рдХрд╛ рдореЗрдВ рдЕрдкрдиреЗ MK рдХреА рд╡реЗрдХреНрдЯрд░ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ (STM32F405xx / 07xx рдФрд░ STM32F415xx / 17xx рдХреЗ рд▓рд┐рдП рд╡реЗрдХреНрдЯрд░ рддрд╛рд▓рд┐рдХрд╛ рджреЗрдЦреЗрдВ)ред STM32F4xx рдирд┐рдпрдВрддреНрд░рдХ 81 рдЗрдВрдЯрд░рдкреНрдЯ рд╡реИрдХреНрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдкрд░рд┐рдзреАрдп рдмреНрд▓реЙрдХ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ (рдФрд░ рдХреБрдЫ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░)ред
рд▓рдЧрднрдЧ рд╕рднреА рдкрд░рд┐рдзреАрдп рдЗрдХрд╛рдЗрдпрд╛рдБ рд╡реНрдпрд╡рдзрд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИрдВ рддрд╛рдХрд┐ рдХрд░реНрдиреЗрд▓ рдХреЛ рдХрд┐рд╕реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛ рдХреЗ рдШрдЯрд┐рдд рд╣реЛрдиреЗ рдкрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, UART рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛) рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛред

рдмрд╛рдзрд┐рдд рд╡реИрдХреНрдЯрд░ рдФрд░ рд▓реЛрдбрд┐рдВрдЧ рдПрдордХреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛

рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо рдореЗрдВ рд░реБрдХрд╛рд╡рдЯ рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдХреЗрд╡рд▓ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдХрд┐ рд░реБрдХрд╛рд╡рдЯ рддрд╛рд▓рд┐рдХрд╛ рдХрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмреВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдлрд░реНрдорд╡реЗрдпрд░ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдЗрд╕ рдмрд╛рд░ рд╣рдо рдХреЗрд╡рд▓ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдкрддрд╛ рд╕реНрдерд╛рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡реЗрдХреНрдЯрд░ рдЯреЗрдмрд▓ рдореЗрдВ, рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХрдо рд╕реЗ рдХрдо рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП ( рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рддрдХрдиреАрдХреА рд╕рдВрджрд░реНрдн рдореИрдиреБрдЕрд▓ рджреЗрдЦреЗрдВ :
тАв рд╕реНрдЯреИрдХ рд╢реАрд░реНрд╖ рдкрддрд╛
тАв рдирд┐рдпрдорд┐рдд рд╕реНрдерд╛рди рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ
тАв NMI ISR рд╕реНрдерд╛рди
тАв рд╣рд╛рд░реНрдб рдлреЙрд▓реНрдЯ ISR рд╕реНрдерд╛рдиред

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

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

рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ рдЕрднреНрдпрд╛рд╕ рддрдХ


рджреВрд╕рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЯреАрдУрдЖрд░

рдПрдХ рдЙрджрд╛рд╣рд░рдг STM32F4Discovery рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЬрдм рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ LED3 рдХреЛ рдкреНрд░рдХрд╛рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм PC6 рдФрд░ GND рд╕рдВрдкрд░реНрдХ рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, LED5 рд▓рд╛рдЗрдЯреНрд╕ рдмрдВрдж рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдо рд░реБрдХрд╛рд╡рдЯ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред

рд▓реЛрд╣реЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛

рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдмрдЯрди рдФрд░ рдПрд▓рдИрдбреА рдЦреЛрдЬреЗрдВ:

рдЬрдм рдмрдЯрди рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд┐рди PA0 рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд╢реВрдиреНрдп рд╣реЛрдЧрд╛, рдЬрдм рдЖрдк рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдмрдЯрди рддрд╛рд░реНрдХрд┐рдХ 1 (3.3V) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
LED3 PD13 рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред
LED5 PD14 рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред
PC6 рдкрд┐рди рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕реАрдзреЗ рдкрд┐рди рдХрдиреЗрдХреНрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХрд┐ рддрд╛рд░реНрдХрд┐рдХ 1 рддрдм рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡рд╣ рдЬреАрдПрдирдбреА рдкрд┐рди рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред

GPIO рд╕реЗрдЯрдЕрдк

рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рди рдкреАрдбреА 13 рдФрд░ рдкреАрдбреА 14 рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЖрдк рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
PA0 рдкрд┐рди рд╕реЗрдЯ рдХрд░рдирд╛ рднреА рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ - рдЖрдкрдХреЛ рдЗрд╕реЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдПрдордХреЗ рдХреА рдЧрд┐рдирддреА рдХреЗ рдмрд╛рдж рд▓рдЧрднрдЧ рд╕рднреА рдкрд┐рди рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдпрд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рдкреНрд░рд╛рд░рдВрдн рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рдЙрдЪрд┐рдд рд╣реИред
PC7 рдкрд┐рди рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдЪреВрдВрдХрд┐ рд╡рд╣ "рд╣рд╡рд╛ рдореЗрдВ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ", рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ "1" рд╣реЛред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, GPIO рдмреНрд▓реЙрдХ рдореЗрдВ рдкреБрд▓-рдЕрдк рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рд╕рддреНрддрд╛ рдореЗрдВ рдПрдХ рдкреБрд▓-рдЕрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдкреВрд░реНрдг рдЙрддреНрддрд░ рдкреНрд░рджреЗрд╢ред
GPIO рдкреЛрд░реНрдЯ рдкреБрд▓-рдЕрдк / рдкреБрд▓-рдбрд╛рдЙрди рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд░рд┐рдорд┐рдВрдЧ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

EXTI рдореЗрдВ рдмрд╛рдзрд╛

рдЗрдВрдЯрд░рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╣рдорд╛рд░реЗ "рдЯреАрдХреЗ" рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрди рдЕрд╡рд░реЛрдзреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рддрдм рдЯреНрд░рд┐рдЧрд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдЬрдм рд╕рдВрдкрд░реНрдХ PA0 рд░рд╛рдЬреНрдп "0" рд╕реЗ рд░рд╛рдЬреНрдп "1" рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреАрд╕реА 6 рд╕реЗ рд╕рдВрдкрд░реНрдХ рд░рд╛рдЬреНрдп "1" рд╕реЗ рд░рд╛рдЬреНрдп "0" рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред

STM32F4xx MK рдореЗрдВ, рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ EXTI (рдмрд╛рд╣рд░реА рд╡реНрдпрд╡рдзрд╛рди / рдШрдЯрдирд╛ рдирд┐рдпрдВрддреНрд░рдХ) рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╕рдВрджрд░реНрдн рдореИрдиреБрдЕрд▓ рдореЗрдВ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВред рд╣рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡реНрдпрд╡рдзрд╛рди рдЪрдпрди
23 рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдмреАрдЪ рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
тАв 23 рдЗрдВрдЯрд░рдкреНрдЯ рд▓рд╛рдЗрдиреНрд╕ (EXTI_IMR) рдХреЗ рдорд╛рд╕реНрдХ рдмрд┐рдЯреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
тАв рдмрд╛рдзрд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЯреНрд░рд┐рдЧрд░ рдЪрдпрди рдмрд┐рдЯреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ (EXTI_RTSR рдФрд░ EXTI_FTSR)
тАв рдмрд╛рд╣рд░реА рдЕрд╡рд░реЛрдз рдирд┐рдпрдВрддреНрд░рдХ (EXTI) рдХреЗ рд▓рд┐рдП рдореИрдк рдХрд┐рдП рдЧрдП NVIC IRQ рдЪреИрдирд▓ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдХреНрд╖рдо рдФрд░ рдореБрдЦреМрдЯрд╛ рдмрд┐рдЯреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ 23 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рдПрдХ рдмрд╛рдзрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рд╣рдореЗрдВ 0 рдФрд░ 6 EXTI рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╕рдВрдмрдВрдзрд┐рдд рдЗрдВрдЯрд░рдкреНрдЯ рд▓рд╛рдЗрдиреНрд╕ рдХреЛ рдорд╛рд╕реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, EXTI_IMR рд░рдЬрд┐рд╕реНрдЯрд░ рдкрд░ 0x9 рд▓рд┐рдЦреЗрдВред
рдкрдВрдХреНрддрд┐ PA0 рдХреЗ рд▓рд┐рдП, "0" рд╕реЗ рд░рд╛рдЬреНрдп рдореЗрдВ "1" - рдПрдХ рдмрдврд╝рддреЗ рд╣реБрдП рдХрд┐рдирд╛рд░реЗ рдкрд░ рд╕рдВрдХреНрд░рдордг рдкрд░ рдПрдХ рдмрд╛рдзрд╛ рдШрдЯрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣реА рд╣реИ, EXTI_RTSR рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╢реВрдиреНрдп рдмрд┐рдЯ рдкрд░ 1 рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
PC6 рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд░рд╛рдЬреНрдп "1" рд╕реЗ рд░рд╛рдЬреНрдп рдореЗрдВ "0" - рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд╕рдВрдХреНрд░рдордг рдкрд░ рдПрдХ рдмрд╛рдзрд╛ рдШрдЯрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣реА рд╣реИ, EXTI_FTSR рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдЫрдареЗ рдмрд┐рдЯ рдореЗрдВ 1 рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрд╣ EXTI рдмреНрд▓реЙрдХ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдЖрдЗрдЯрдо рдПрдирд╡реАрдЖрдИрд╕реА рдЯрд┐рдВрдЪрд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкреЛрд░реНрдЯ рд╕реЗ рдХреМрди рд╕рд╛ рдкреЛрд░реНрдЯ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ EXTI рд▓рд╛рдЗрди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рдпрд╣ SYSCFG рд░рдЬрд┐рд╕реНрдЯреНрд░рд╛рд░ рдПрдХреНрд╕рдЯрд░реНрдирд▓ рдЗрдВрдЯрд░рдлрд┐рдЧрд░реЗрд╢рди рд░рдЬрд┐рд╕реНрдЯрд░ ( рд╕рдВрджрд░реНрдн рдореИрдиреБрдЕрд▓ ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреЗ рд░рдЬрд┐рд╕реНрдЯрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ, рдЬреЛ рдореБрдЭреЗ рдмрд╣реБрдд рддрд╛рд░реНрдХрд┐рдХ рдирд╣реАрдВ рд▓рдЧрддрд╛ (рдИрдПрдХреНрд╕рдЯреАрдЖрдИ рдореЗрдВ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛?), рд▓реЗрдХрд┐рди рдЕрдм рдЗрд╕ рддрдереНрдп рдХреЛ рдПрд╕рдЯреА рдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдЫреЛрдбрд╝ рджреЗрдВред

рдПрдирд╡реАрдЖрдИрд╕реА рд╕реЗрдЯрдЕрдк

рдЗрдВрдЯрд░рдкреНрдЯ рд╕реЗрдЯ-рд╕рдХреНрд╖рдо рд░рдЬрд┐рд╕реНрдЯрд░ (NVIC_ISERx) рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЗрдВрдЯрд░рдкреНрдЯ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИред рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 4 рдЬреЗрдиреЗрд░рд┐рдХ рдпреВрдЬрд░ рдЧрд╛рдЗрдб рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░ рд╡рд┐рд╡рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВред рд╣рдорд╛рд░реЗ рдПрдордХреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд╛ рд╡реИрдХреНрдЯрд░ рдХреА рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрд┐рдХрд╛ рдореЗрдВ рджреА рдЧрдИ рд╣реИ (рддрд╛рд▓рд┐рдХрд╛ 61 рджреЗрдЦреЗрдВ)ред

рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓рд╛рдЗрди 0 рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЕрд╡рд░реЛрдз рд╣реИ, рд▓реЗрдХрд┐рди 9 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 5 рд▓рд╛рдЗрдиреЗрдВ рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╣рдордиреЗ рдЙрди рд╡реИрдХреНрдЯрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдЦреА рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рдЖрдкрдХреЛ 6 рдмрд┐рдЯреНрд╕ (рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдкреНрдЯ 0 EXTI рдХреА рд╕рдХреНрд░рд┐рдпрддрд╛) рд░рдЬрд┐рд╕реНрдЯрд░ NVIC_ISER0 (рдкрддрд╛ 0xE000E100) рдФрд░ 23 рдмрд┐рдЯреНрд╕ рдПрдХ рд╣реА рд░рдЬрд┐рд╕реНрдЯрд░ (рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдкреНрдЯ 5-9 рдХреА рд╕рдХреНрд░рд┐рдпрддрд╛) рдореЗрдВ "1" рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реЗрдЯрд┐рдВрдЧ

рд░реБрдХрд╛рд╡рдЯ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рд▓рд┐рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕рдореВрд╣реЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ 2 рдмрд┐рдЯреНрд╕ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдВ, рдФрд░ 2 рдмрд┐рдЯреНрд╕ рд╕рдореВрд╣ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рди рдХреЛ 0x05FA0500 рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдкреНрдЯ рдФрд░ рд░реАрд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд░рдЬрд┐рд╕реНрдЯрд░ ( STM32F3xxx рдФрд░ STM32F4xxx Cortex-M4 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореИрдиреБрдЕрд▓ ) рд▓рд┐рдЦреЗрдВ ред
рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреА рд╕реЗрдЯрд┐рдВрдЧ рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯ рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреА рд░рдЬрд┐рд╕реНрдЯрд░реНрд╕ ( STM32F3xxx рдФрд░ STM32F4xxx Cortex-M4 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореИрдиреБрдЕрд▓ ) рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╣рдо рдЗрдВрдЯрд░реЗрд╕реНрдЯ рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреА рд░рдЬрд┐рд╕реНрдЯрд░ 2 (0xE000E4008) рдФрд░ рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯ рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреА рд░рдЬрд┐рд╕реНрдЯрд░ 5 (0xE000E401C) рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦреЗрдВрдЧреЗред
рд╣рдо рдЕрднреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдирд╣реАрдВ рдмрджрд▓реЗрдВрдЧреЗред рджреЛрдиреЛрдВ рдХреЛ рдмреАрдЪ рдореЗрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдиреЗ рджреЗрдВред

рдмрд╛рдзрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ

рдХрд╛рд░реНрдп рдореЗрдВ рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ рд╕реА рднрд╛рд╖рд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИрдВ, рдЬреЛ рди рддреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рди рд╣реА рдХреБрдЫ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ (рдФрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ, рдХрд┐рд╕реА рд╕реЗ рднреА рдирд╣реАрдВ рдФрд░ рдХрд┐рд╕рд╕реЗ рдирд╣реАрдВ)ред
рдореБрдЦреНрдп рдирд┐рдпрдо рдпрд╣ рд╣реИ рдХрд┐ рдмрд╛рдзрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЛ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП !!! рдЕрдиреНрдпрдерд╛, рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рдзрд╛рди рдмрд╣реБрдд рд▓рдВрдмрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реНрдпрд╡рдзрд╛рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж, рдЙрд╕ рдШрдЯрдирд╛ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рд░реБрдХрд╛рд╡рдЯ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ - "рд░реБрдХрд╛рд╡рдЯ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ"ред EXTI_PR рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ EXTI рдХрд╛ рд░реБрдХрд╛рд╡рдЯ рд╕рд╛рдл рд╣реЛ рдЧрдпрд╛ рд╣реИред рдиреЛрдЯ: рд░рд┐рдХреЙрд░реНрдб "1" рд░реБрдХрд╛рд╡рдЯ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ, рд░рд┐рдХреЙрд░реНрдб "0" рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред

рдпрджрд┐ рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдкреНрдЯ 0 EXTI рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рддреЛ 5-9 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ - рдпрд╣ рдХреИрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдХрд┐ рдХрд┐рд╕ рд▓рд╛рдЗрди рдиреЗ рд░реБрдХрд╛рд╡рдЯ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ред рдЖрдк рдкреЗрдВрдбрд┐рдВрдЧ рд░рдЬрд┐рд╕реНрдЯрд░ (EXTI_PR) - рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрд┐рдХрд╛ рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдмрд┐рдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рдкрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реИрдХреНрдЯрд░ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рд░рдЦреЗрдВ

рдПрдордХреЗ рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрд╛рдзрд┐рдд рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рд╣реА рдкрддреЗ рдХреЗ рд╕рд╛рде рд╡реЗрдХреНрдЯрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╕реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА
// Enable the IAR extensions for this source file. #pragma language=extended #pragma segment="CSTACK" // Forward declaration of the default fault handlers. void ResetISR(void); static void NmiSR(void); static void FaultISR(void); static void IntDefaultHandler(void); // The entry point for the application startup code. extern void __iar_program_start(void); extern void EXTI_Line0_IntHandler(void); extern void EXTI_Line6_IntHandler(void); // A union that describes the entries of the vector table. The union is needed // since the first entry is the stack pointer and the remainder are function // pointers. typedef union { void (*pfnHandler)(void); void * ulPtr; } uVectorEntry; // The vector table. Note that the proper constructs must be placed on this to // ensure that it ends up at physical address 0x0000.0000. __root const uVectorEntry __vector_table[] @ ".intvec" = { { .ulPtr = __sfe( "CSTACK" ) }, // The initial stack pointer ResetISR, // The reset handler NmiSR, // The NMI handler FaultISR, // The hard fault handler IntDefaultHandler, // MPU Fault Handler IntDefaultHandler, // Bus Fault Handler IntDefaultHandler, // Usage Fault Handler IntDefaultHandler, // Reserved IntDefaultHandler, // Reserved IntDefaultHandler, // Reserved IntDefaultHandler, // Reserved IntDefaultHandler, // SVCall Handler IntDefaultHandler, // Debug Monitor Handler IntDefaultHandler, // Reserved IntDefaultHandler, // PendSV Handler IntDefaultHandler, // SysTick Handler //External Interrupts IntDefaultHandler, // Window WatchDog IntDefaultHandler, // PVD through EXTI Line detection IntDefaultHandler, // Tamper and TimeStamps through the EXTI line IntDefaultHandler, // RTC Wakeup through the EXTI line IntDefaultHandler, // FLASH IntDefaultHandler, // RCC EXTI_Line0_IntHandler, // EXTI Line0 IntDefaultHandler, // EXTI Line1 IntDefaultHandler, // EXTI Line2 IntDefaultHandler, // EXTI Line3 IntDefaultHandler, // EXTI Line4 IntDefaultHandler, // DMA1 Stream 0 IntDefaultHandler, // DMA1 Stream 1 IntDefaultHandler, // DMA1 Stream 2 IntDefaultHandler, // DMA1 Stream 3 IntDefaultHandler, // DMA1 Stream 4 IntDefaultHandler, // DMA1 Stream 5 IntDefaultHandler, // DMA1 Stream 6 IntDefaultHandler, // ADC1, ADC2 and ADC3s IntDefaultHandler, // CAN1 TX IntDefaultHandler, // CAN1 RX0 IntDefaultHandler, // CAN1 RX1 IntDefaultHandler, // CAN1 SCE EXTI_Line6_IntHandler, // External Line[9:5]s IntDefaultHandler, // TIM1 Break and TIM9 IntDefaultHandler, // TIM1 Update and TIM10 IntDefaultHandler, // TIM1 Trigger and Commutation and TIM11 IntDefaultHandler, // TIM1 Capture Compare IntDefaultHandler, // TIM2 IntDefaultHandler, // TIM3 IntDefaultHandler, // TIM4 IntDefaultHandler, // I2C1 Event IntDefaultHandler, // I2C1 Error IntDefaultHandler, // I2C2 Event IntDefaultHandler, // I2C2 Error IntDefaultHandler, // SPI1 IntDefaultHandler, // SPI2 IntDefaultHandler, // USART1 IntDefaultHandler, // USART2 IntDefaultHandler, // USART3 IntDefaultHandler, // External Line[15:10]s IntDefaultHandler, // RTC Alarm (A and B) through EXTI Line IntDefaultHandler, // USB OTG FS Wakeup through EXTI line IntDefaultHandler, // TIM8 Break and TIM12 IntDefaultHandler, // TIM8 Update and TIM13 IntDefaultHandler, // TIM8 Trigger and Commutation and TIM14 IntDefaultHandler, // TIM8 Capture Compare IntDefaultHandler, // DMA1 Stream7 IntDefaultHandler, // FSMC IntDefaultHandler, // SDIO IntDefaultHandler, // TIM5 IntDefaultHandler, // SPI3 IntDefaultHandler, // UART4 IntDefaultHandler, // UART5 IntDefaultHandler, // TIM6 and DAC1&2 underrun errors IntDefaultHandler, // TIM7 IntDefaultHandler, // DMA2 Stream 0 IntDefaultHandler, // DMA2 Stream 1 IntDefaultHandler, // DMA2 Stream 2 IntDefaultHandler, // DMA2 Stream 3 IntDefaultHandler, // DMA2 Stream 4 IntDefaultHandler, // Ethernet IntDefaultHandler, // Ethernet Wakeup through EXTI line IntDefaultHandler, // CAN2 TX IntDefaultHandler, // CAN2 RX0 IntDefaultHandler, // CAN2 RX1 IntDefaultHandler, // CAN2 SCE IntDefaultHandler, // USB OTG FS IntDefaultHandler, // DMA2 Stream 5 IntDefaultHandler, // DMA2 Stream 6 IntDefaultHandler, // DMA2 Stream 7 IntDefaultHandler, // USART6 IntDefaultHandler, // I2C3 event IntDefaultHandler, // I2C3 error IntDefaultHandler, // USB OTG HS End Point 1 Out IntDefaultHandler, // USB OTG HS End Point 1 In IntDefaultHandler, // USB OTG HS Wakeup through EXTI IntDefaultHandler, // USB OTG HS IntDefaultHandler, // DCMI IntDefaultHandler, // CRYP crypto IntDefaultHandler, // Hash and Rng IntDefaultHandler, // FPU }; // This is the code that gets called when the processor first starts execution // following a reset event. Only the absolutely necessary set is performed, // after which the application supplied entry() routine is called. Any fancy // actions (such as making decisions based on the reset cause register, and // resetting the bits in that register) are left solely in the hands of the // application. void ResetISR(void) { // // Call the application's entry point. // __iar_program_start(); } // This is the code that gets called when the processor receives a NMI. This // simply enters an infinite loop, preserving the system state for examination // by a debugger. static void NmiSR(void) { // // Enter an infinite loop. // while(1) { } } // This is the code that gets called when the processor receives a fault // interrupt. This simply enters an infinite loop, preserving the system state // for examination by a debugger. static void FaultISR(void) { // // Enter an infinite loop. // while(1) { } } // This is the code that gets called when the processor receives an unexpected // interrupt. This simply enters an infinite loop, preserving the system state // for examination by a debugger. static void IntDefaultHandler(void) { // // Go into an infinite loop. // while(1) { } } 

рдХреЗ рдЙрдкрдпреЛрдЧ
 @ ".intvec" 
рд▓рд┐рдВрдХрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рдЕрдиреБрднрд╛рдЧ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ __vector_table рдХреА рд╕реНрдерд┐рддрд┐ред рдлрд╝рд╛рдЗрд▓ рдХреЛ рдпрд╣рд╛рдБ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


рд░реЙрдо рдореЗрдореЛрд░реА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реА рд╕реЗрдХреНрд╢рди рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдкрддреЗ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЬреЛ STM32 рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреЗ рдкрддреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ):



IAR рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдФрд░ IAR рдХреЗ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рдХрд╛ рд╕рдВрдпреЛрдЬрди:
 #pragma segment="CSTACK" __sfe( "CSTACK" ) 
рдлреНрд▓реИрд╢ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╕реВрдЪрдХ рд▓рд┐рдЦрддрд╛ рд╣реИред

рддрд╛рд▓рд┐рдХрд╛ рд╕реНрд╡рдпрдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрддреЗ рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИ рдЬреЛ рдПрдХ рд╢рд╛рд╢реНрд╡рдд рдЪрдХреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдмреНрдпрд╛рдЬ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрд╡рд╛рдж рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 extern void EXTI_Line0_IntHandler(void); extern void EXTI_Line6_IntHandler(void); 

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдлрдВрдХреНрд╢рди рдмрд╕ рдЬрдВрдк рдХрд░рддрд╛ рд╣реИ
 extern void __iar_program_start(void); 
рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдореБрдЦреНрдп рд╣реИ ()ред рдпрджрд┐ рдЗрдЪреНрдЫрд╛ рдЙрдарддреА рд╣реИ рддреЛ рдкреНрд░рддреАрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рдПрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЙрди рд╕рднреА рдкрддреЛрдВ рдФрд░ рдмрд┐рдЯ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рд▓рд┐рдЦреЗрдВ рдФрд░ рдкреБрдирдГ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ
 //Definitions for SCB_AIRCR register #define SCB_AIRCR (*(unsigned volatile long*)0xE000ED0C) //acces to SCB_AIRCR #define SCB_AIRCR_GROUP22 0x05FA0500 //change priority data //Definitions for RCC_AHB1_ENR register #define RCC_AHB1_ENR (*(unsigned volatile long *)(0x40023830)) //acces to RCC_AHB1ENR reg #define RCC_AHB1_ENR_GPIOA 0x1 //GPIOA bitfield #define RCC_AHB1_ENR_GPIOC 0x4 //GPIOC bitfield #define RCC_AHB1_ENR_GPIOD 0x8 //GPIOD bitfield //Definitions for RCC_APB2_ENR register #define RCC_APB2_ENR (*(unsigned volatile long *)(0x40023844)) //acces to RCC_APB2ENR reg #define RCC_APB2_ENR_SYSCFG 0x4000 //SYSCFG bitfield //Definitions for GPIO MODE registers #define GPIOA_MODER (*(unsigned volatile long*)(0x40020000)) //acces to GPIOA_MODER reg #define GPIOC_MODER (*(unsigned volatile long*)(0x40020800)) //acces to GPIOC_MODER reg #define GPIOD_MODER (*(unsigned volatile long*)(0x40020C00)) //acces to GPIOD_MODER reg //GPIO ODR register definition #define GPIOD_ODR (*(unsigned volatile long*)(0x40020C14)) //acces to GPIOD_MODER reg #define GPIO_ODR_13PIN 0x2000 #define GPIO_ODR_14PIN 0x4000 //Bitfields definitions #define GPIO_MODER_0BITS 0x3 //Pin 0 mode bits #define GPIO_MODER_0IN 0x0 //Pin 0 input mode #define GPIO_MODER_6BITS 0x300 //Pin 6 mode bits #define GPIO_MODER_6IN 0x000 //Pin 6 input mode #define GPIO_MODER_13BITS 0xC000000 //Pin 13 mode bits #define GPIO_MODER_13OUT 0x4000000 //Pin 13 output mode #define GPIO_MODER_14BITS 0x30000000 //Pin 14 mode bits #define GPIO_MODER_14OUT 0x10000000 //Pin 14 output mode //GPIOC_PUPDR register definition #define GPIOC_PUPDR (*(unsigned volatile long*)(0x4002080C)) //acces to GPIOC_PUPDR reg #define GPIOC_PUPDR_6BITS 0x3000 //PC6 bitfield #define GPIOC_PUPDR_6PU 0x1000 //PC6 pull-up enable //SYSCFG_EXTIx registers definitions #define SYSCFG_EXTICR1 (*(unsigned volatile long*)0x40013808) //SYSCFG_EXTICR1 acces #define SYSCFG_EXTICR1_0BITS 0xF //EXTI 0 bits #define SYSCFG_EXTICR1_0PA 0x0 //EXTI 0 - port A #define SYSCFG_EXTICR2 (*(unsigned volatile long*)0x4001380C) //SYSCFG_EXTICR2 acces #define SYSCFG_EXTICR2_6BITS 0xF00 //EXTI 6 bits #define SYSCFG_EXTICR2_6PC 0x200 //EXTI 6 - port C //EXTI definitions #define EXTI_IMR (*(unsigned volatile long*)0x40013C00) //EXTI_IMR reg acces #define EXTI_LINE0 0x1 //LINE 0 definition #define EXTI_LINE6 0x40 //LINE 6 definition #define EXTI_RTSR (*(unsigned volatile long*)0x40013C08) //EXTI_RTSR reg acces #define EXTI_FTSR (*(unsigned volatile long*)0x40013C0C) //EXTI_FTSR reg acces #define EXTI_PR (*(unsigned volatile long*)0x40013C14) //EXTI_PR reg acces //NVIC registers and bits definitions #define NVIC_ISER0_REG (*(unsigned volatile long*)0xE000E100) //NVIC_ISER0 reg acces #define NVIC_ISER0_6VECT 0x40 //vect 6 definition #define NVIC_ISER0_23VECT 0x800000 //vect 30 definition #define NVIC_IPR0_ADD (0xE000E400) #define NVIC_IPR23_REG (*(unsigned volatile char*)(NVIC_IPR0_ADD + 23)) #define NVIC_IPR6_REG (*(unsigned volatile char*)(NVIC_IPR0_ADD + 6)) 

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

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕рдореВрд╣ рдмрдирд╛рдирд╛

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд░реБрдХрд╛рд╡рдЯ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рдореВрд╣ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ:
 SCB_AIRCR = SCB_AIRCR_GROUP22; 
.рдпрд╣ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЬрдЯрд┐рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕рдореВрд╣рди рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛ рдЧрд▓рдд рд╕рдВрдЪрд╛рд▓рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рдпреБрдХреНрдд рдкрд░рд┐рдзреАрдп рдХреА рдХреНрд▓реЙрдХрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░рдирд╛

рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдкрд░рд┐рдзреАрдп рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдЙрдирдХрд╛ рд╕рдордп рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 //Enable SYSCFG , GPIO port A and D clocking RCC_AHB1_ENR |= RCC_AHB1_ENR_GPIOA|RCC_AHB1_ENR_GPIOC|RCC_AHB1_ENR_GPIOD; RCC_APB2_ENR |= RCC_APB2_ENR_SYSCFG; 

рдЖрдк SYSCFG рдХреЗ рд╕рд╛рде рддреБрд░рдВрдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдЖрдкрдХреЛ рдХреБрдЫ рдЙрдкрд╛рдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЪрд▓рд┐рдП GPIO рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВред

GPIO рдкреНрд░рд╛рд░рдВрднрд┐рдХ

рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреА рддрд░рд╣ рд╣реА рдПрд▓ рдИ рдбреА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 //LED3 and LED5 initialization GPIOD_MODER = (GPIOD_MODER & (~GPIO_MODER_13BITS)) | GPIO_MODER_13OUT; GPIOD_MODER = (GPIOD_MODER & (~GPIO_MODER_14BITS)) | GPIO_MODER_14OUT; 

PA0 рдмрдЯрди рдФрд░ PC7 рдкрд┐рди рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 //PA0 and PC6 pins initialization GPIOA_MODER = (GPIOA_MODER & (~GPIO_MODER_0BITS)) | GPIO_MODER_0IN; GPIOC_MODER = (GPIOC_MODER & (~GPIO_MODER_6BITS)) | GPIO_MODER_6IN; 

рдмрд╕ рдкреАрд╕реА 6 рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╛рд╡рд░ рдкреБрд▓ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред GPIOC_PUPDR рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдХреНрд░рд┐рдпрдг рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 //Enable PC6 pull-up GPIOC_PUPDR = (GPIOC_PUPDR & (~GPIOC_PUPDR_7BITS)) | GPIOC_PUPDR_6PU; 


EXTI рд╕реЗрдЯрдЕрдк

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдкрдВрдХреНрддрд┐ 0 рдФрд░ 6 рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдкреНрдЯ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ, рдПрдХ рдмрдврд╝рддреЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд▓рд╛рдЗрди 0 рдЗрдВрдЯрд░рдкреНрдЯ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрди 6 рдХреЗ рд▓рд┐рдП - рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд░реБрдХрд╛рд╡рдЯ
 //Set up EXTI EXTI_RTSR |= EXTI_LINE0; EXTI_FTSR |= EXTI_LINE6; EXTI_IMR = EXTI_LINE0|EXTI_LINE6; 

рдпрд╣ рдЙрди рдкреЛрд░реНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ, рдЬреЛ рдкреЛрд░реНрдЯ EXTI рд▓рд╛рдЗрди рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ (рдПрдХ рдЕрдЬреАрдм рд╕рдорд╛рдзрд╛рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреЗрд▓рд╛рд░рд┐рд╕ рдПрдордХреЗ рдкрд┐рди рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, STM32 рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИ):
 //EXTI to port connection SYSCFG_EXTICR1 = (SYSCFG_EXTICR1&(~SYSCFG_EXTICR1_0BITS)) | SYSCFG_EXTICR1_0PA; SYSCFG_EXTICR2 = (SYSCFG_EXTICR2&(~SYSCFG_EXTICR2_6BITS)) | SYSCFG_EXTICR2_6PC; 


рдПрдирд╡реАрдЖрдИрд╕реА рд╕реЗрдЯрдЕрдк

рдпрд╣ рдмрд╛рдзрд┐рдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдореБрдЦреМрдЯрд╛ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдирд╡реАрдЖрдИрд╕реА_рдЖрдИрдкреАрдЖрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдмрд╛рдЗрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ , рдЬреЛ рдХреЗрд╡рд▓ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЗрдВрдЯрд░рдкреНрдЯ рд╡реИрдХреНрдЯрд░ рдХреЗ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрд╛рдЗрдЯреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд░реБрдХрд╛рд╡рдЯ рд╡реЗрдХреНрдЯрд░ рд╕рдВрдЦреНрдпрд╛ (рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВ) рдХреЗ рдореВрд▓реНрдп рд╕реЗ рд╕рд┐рд░реНрдл рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╛рдж рджрд┐рд▓рд╛ рджреЗрдВ рдХрд┐ EXTI рд▓рд╛рдЗрди 0 рдХреА рд╡реЗрдХреНрдЯрд░ рдЯреЗрдмрд▓ рдореЗрдВ рдирдВрдмрд░ 6 рд╣реИ, рдФрд░ EXTI рд▓рд╛рдЗрди 5_9 рдХреА рд╕рдВрдЦреНрдпрд╛ 23 рд╣реИред STM32 рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг 4 рдмрд┐рдЯреНрд╕ рдХрд╛ рдореВрд▓реНрдп рд╣реИ:
 //Set interrupts priority NVIC_IPR6_REG = 0xF0; NVIC_IPR23_REG = 0x0; 

рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред
рдЕрдм рдЖрдк рдЗрдВрдЯрд░рдкреНрдЯ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 //Enable interrupts NVIC_ISER0_REG |= NVIC_ISER0_6VECT | NVIC_ISER0_23VECT; 

рдЕрдм рд╕реЗ, рдмрдЯрди рджрдмрд╛рдиреЗ рдФрд░ PC6 рдФрд░ GND рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд╢рдГ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди EXTI_Line0_IntHandler рдФрд░ EXTI_Line6_IntHandler рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред

рдмрд╛рдзрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ

рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ, рдкрд╣рд▓реЗ рд░реБрдХрд╛рд╡рдЯ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдк рдПрд▓рдИрдбреА рдХреЛ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реНрдпрд╡рдзрд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдПрдХ рд╢рд╛рд╢реНрд╡рдд рд▓реВрдк рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рдЕрдирдиреНрдд рд▓реВрдк рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╛рдзрд╛ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреВрд╕рд░реА рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдЗрд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдкрд╣рд▓реЗ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рд╣реА рдЕрд╡рд░реЛрдз рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдореВрд▓реНрдпреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдиреЗрддреНрд░рд╣реАрди рджреЗрдЦреЗрдВ рдХрд┐ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ ( рдзреНрдпрд╛рди - рдмрд╛рдзрд╛ рд╕рдореВрд╣реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛! )ред
 void EXTI_Line0_IntHandler(void) { //Clear interrupt EXTI_PR = EXTI_LINE0; //Turn on LED 3 GPIOD_ODR |= GPIO_ODR_13PIN; } void EXTI_Line6_IntHandler(void) { //Clear interrupt EXTI_PR = EXTI_LINE6; //Turn LED4 GPIOD_ODR |= GPIO_ODR_14PIN; while(1); } 


рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп


рдмрд╕, рдореИрдВ рдкрд░рд┐рдгрд╛рдореА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдкреВрд░реА рд╕реВрдЪреА рджреВрдВрдЧрд╛ред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ
 //Definitions for SCB_AIRCR register #define SCB_AIRCR (*(unsigned volatile long*)0xE000ED0C) //acces to SCB_AIRCR #define SCB_AIRCR_GROUP22 0x05FA0500 //change priority data //Definitions for RCC_AHB1_ENR register #define RCC_AHB1_ENR (*(unsigned volatile long *)(0x40023830)) //acces to RCC_AHB1ENR reg #define RCC_AHB1_ENR_GPIOA 0x1 //GPIOA bitfield #define RCC_AHB1_ENR_GPIOC 0x4 //GPIOC bitfield #define RCC_AHB1_ENR_GPIOD 0x8 //GPIOD bitfield //Definitions for RCC_APB2_ENR register #define RCC_APB2_ENR (*(unsigned volatile long *)(0x40023844)) //acces to RCC_APB2ENR reg #define RCC_APB2_ENR_SYSCFG 0x4000 //SYSCFG bitfield //Definitions for GPIO MODE registers #define GPIOA_MODER (*(unsigned volatile long*)(0x40020000)) //acces to GPIOA_MODER reg #define GPIOC_MODER (*(unsigned volatile long*)(0x40020800)) //acces to GPIOC_MODER reg #define GPIOD_MODER (*(unsigned volatile long*)(0x40020C00)) //acces to GPIOD_MODER reg //GPIO ODR register definition #define GPIOD_ODR (*(unsigned volatile long*)(0x40020C14)) //acces to GPIOD_MODER reg #define GPIO_ODR_13PIN 0x2000 #define GPIO_ODR_14PIN 0x4000 //Bitfields definitions #define GPIO_MODER_0BITS 0x3 //Pin 0 mode bits #define GPIO_MODER_0IN 0x0 //Pin 0 input mode #define GPIO_MODER_6BITS 0x300 //Pin 6 mode bits #define GPIO_MODER_6IN 0x000 //Pin 6 input mode #define GPIO_MODER_13BITS 0xC000000 //Pin 13 mode bits #define GPIO_MODER_13OUT 0x4000000 //Pin 13 output mode #define GPIO_MODER_14BITS 0x30000000 //Pin 14 mode bits #define GPIO_MODER_14OUT 0x10000000 //Pin 14 output mode //GPIOC_PUPDR register definition #define GPIOC_PUPDR (*(unsigned volatile long*)(0x4002080C)) //acces to GPIOC_PUPDR reg #define GPIOC_PUPDR_6BITS 0x3000 //PC6 bitfield #define GPIOC_PUPDR_6PU 0x1000 //PC6 pull-up enable //SYSCFG_EXTIx registers definitions #define SYSCFG_EXTICR1 (*(unsigned volatile long*)0x40013808) //SYSCFG_EXTICR1 acces #define SYSCFG_EXTICR1_0BITS 0xF //EXTI 0 bits #define SYSCFG_EXTICR1_0PA 0x0 //EXTI 0 - port A #define SYSCFG_EXTICR2 (*(unsigned volatile long*)0x4001380C) //SYSCFG_EXTICR2 acces #define SYSCFG_EXTICR2_6BITS 0xF00 //EXTI 6 bits #define SYSCFG_EXTICR2_6PC 0x200 //EXTI 6 - port C //EXTI definitions #define EXTI_IMR (*(unsigned volatile long*)0x40013C00) //EXTI_IMR reg acces #define EXTI_LINE0 0x1 //LINE 0 definition #define EXTI_LINE6 0x40 //LINE 6 definition #define EXTI_RTSR (*(unsigned volatile long*)0x40013C08) //EXTI_RTSR reg acces #define EXTI_FTSR (*(unsigned volatile long*)0x40013C0C) //EXTI_FTSR reg acces #define EXTI_PR (*(unsigned volatile long*)0x40013C14) //EXTI_PR reg acces //NVIC registers and bits definitions #define NVIC_ISER0_REG (*(unsigned volatile long*)0xE000E100) //NVIC_ISER0 reg acces #define NVIC_ISER0_6VECT 0x40 //vect 6 definition #define NVIC_ISER0_23VECT 0x800000 //vect 30 definition #define NVIC_IPR0_ADD (0xE000E400) #define NVIC_IPR23_REG (*(unsigned volatile char*)(NVIC_IPR0_ADD + 23)) #define NVIC_IPR6_REG (*(unsigned volatile char*)(NVIC_IPR0_ADD + 6)) void EXTI_Line0_IntHandler(void); void EXTI_Line6_IntHandler(void); void main() { //NVIC SCB_AIRCR = SCB_AIRCR_GROUP22; //Enable SYSCFG , GPIO port A,C and D clocking RCC_AHB1_ENR |= RCC_AHB1_ENR_GPIOA|RCC_AHB1_ENR_GPIOC|RCC_AHB1_ENR_GPIOD; RCC_APB2_ENR |= RCC_APB2_ENR_SYSCFG; //LED3 and LED5 initialization GPIOD_MODER = (GPIOD_MODER & (~GPIO_MODER_13BITS)) | GPIO_MODER_13OUT; GPIOD_MODER = (GPIOD_MODER & (~GPIO_MODER_14BITS)) | GPIO_MODER_14OUT; //PA0 and PC6 pins initialization GPIOA_MODER = (GPIOA_MODER & (~GPIO_MODER_0BITS)) | GPIO_MODER_0IN; GPIOC_MODER = (GPIOC_MODER & (~GPIO_MODER_6BITS)) | GPIO_MODER_6IN; //Enable PC7 pull-up GPIOC_PUPDR = (GPIOC_PUPDR & (~GPIOC_PUPDR_6BITS)) | GPIOC_PUPDR_6PU; //Set up EXTI EXTI_RTSR |= EXTI_LINE0; EXTI_FTSR |= EXTI_LINE6; EXTI_IMR = EXTI_LINE0|EXTI_LINE6; //EXTI to port connection SYSCFG_EXTICR1 = (SYSCFG_EXTICR1&(~SYSCFG_EXTICR1_0BITS)) | SYSCFG_EXTICR1_0PA; SYSCFG_EXTICR2 = (SYSCFG_EXTICR2&(~SYSCFG_EXTICR2_6BITS)) | SYSCFG_EXTICR2_6PC; //Set interrupts priority NVIC_IPR6_REG = 0xF0; NVIC_IPR23_REG = 0x00; //Enable interrupts NVIC_ISER0_REG |= NVIC_ISER0_6VECT | NVIC_ISER0_23VECT; while(1) { } } void EXTI_Line0_IntHandler(void) { //Clear interrupt EXTI_PR = EXTI_LINE0; //Turn on LED 3 GPIOD_ODR |= GPIO_ODR_13PIN; } void EXTI_Line6_IntHandler(void) { //Clear interrupt EXTI_PR = EXTI_LINE6; //Turn LED4 GPIOD_ODR |= GPIO_ODR_14PIN; while(1); } 


рдмреАрдЪ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдФрд░ рд╡реНрдпрд╡рдзрд╛рди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ (рджреЛ рдмрд┐рдЯреНрд╕ - рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛, 2 рдмрд┐рдЯреНрд╕ - рд╕рдореВрд╣ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛)ред

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


All Articles