STM32F1xx - рдПрдХ рд╕рд╛рде arduino рдХреА рд▓рдд рдХрд╛ рдЗрд▓рд╛рдЬ

рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрдпрд╛рд░реЗ рдЦрд╛рдмрд░реЛрд╡рд┐рддреНрд╕!
рдмреЙрдордВрдХрд╛ рдореЗрдВ рд╕реНрдирд╛рддрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд░рдХреНрд╖рд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдПрдХ рд▓рдВрдмреЗ рдмреНрд░реЗрдХ рдХреЗ рдмрд╛рдж, рдореИрдВ рдлрд┐рд░ рд╕реЗ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реМрдЯ рдЖрдпрд╛ред рдЪреВрдВрдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВрдиреЗ рдПрдЖрд░рдПрдо рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рдХреЛрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрд╕рдЯреАрдПрдо 32 рдПрдл рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ 32-рдмрд┐рдЯ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣реА рдореЗрд░реА рдХрд╣рд╛рдиреА рд╣реИред рд▓реЗрдЦ рдореБрдЭреЗ рдЗрди рдЕрджреНрднреБрдд рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдХрджрдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдФрд░ рдбрд░рд╛рд╡рдирд╛ 32-рдмрд┐рдЯ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╕рдордп рдЖрд░рд╛рдорджрд╛рдпрдХ 8-рдмрд┐рдЯ AVR рдХреЗ рдмрд╛рдж рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЖрд╢рдВрдХрд╛рдУрдВ рдФрд░ рд╢рдВрдХрд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░реЗрдВрдЧреЗред
рддреЛ, рдХреЛрд░реНрдЯреЗрдХреНрд╕ рдХреНрдпреЛрдВ, рдПрд╡реАрдЖрд░ рдЦрд░рд╛рдм рдХреНрдпреЛрдВ рд╣реИрдВ?

рдЫрдд


рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдХреБрдЫ рднреА рдирд╣реАрдВред AVR рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рдХрдо рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдФрд░ рд╕реАрдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдПрдХ рдЦрд╝рд╛рд╕рд┐рдпрдд рд╣реИ - рдПрд╡реАрдЖрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдпрд╛рддреНрд░рд╛ рд╢реБрд░реВ рдХрд░рдирд╛, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ - рд╕рдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рдмрдбрд╝рд╛ AVR рд▓реВрдВрдЧрд╛ред рдФрд░ рднреАред рдлрд┐рд░ рднреА рдирд╣реАрдВ рдЪрдврд╝ рд░рд╣рд╛? рдореБрдЭреЗ рджреЛ AVR рдорд┐рд▓реЗрдВрдЧреЗ, рдореИрдВ Arduino рд╕реЗ рдЕрд▓рдорд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реВрдВрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рднреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рдИ рд╣реИ рд╡рд╣ рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдкреНрд╕ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдЧрд▓рдд рддрд░реАрдХрд╛ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ "рдЦреБрдж рдХреЗ рд▓рд┐рдПред" рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдШреГрдгрд┐рдд рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╣рдереМрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд╣рд░рд╛рдм рдХреЛ рддреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдШреБрдЯрдиреЗ рдкрд░ рд╢рд┐рд▓реНрдк рд╕реЗ рдкрд░реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдиреЗ рд╢реМрдХ рдХреЛ рдПрдХ рдирдП рд╕реНрддрд░ рдкрд░ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реВрдХреНрд╖реНрдо рд░реВрдк рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реИрд╕реЗ, рдПрдЖрд░рдПрдо рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рдкрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдЖрдк 8-рдмрд┐рдЯ рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рд╡реЗ рдПрдЖрд░рдПрдо рдкрд░ рдПрдХ рдирдпрд╛ рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рдмрд░реНрдмрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдПред STM32F10x рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдЫреЛрдЯреЗ рдореЙрдбрд▓ рдХреЛ 30p рдПрдкрд╛рдЗрдХ рдХреА рдХреАрдордд рдкрд░ рдЦрд░реАрджрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреАрдордд AVRs рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЗрд╕ рдХреАрдордд рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ 32-рдмрд┐рдЯ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ 24 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлреНрд▓реИрд╢ рдФрд░ рд░реИрдо рдХреА рдХреНрд╖рдорддрд╛ рд▓рдЧрднрдЧ ATMega88 рдЬреИрд╕реА рд╣реИред рдкреБрд░рд╛рдиреЗ рдореЙрдбрд▓реЛрдВ рдХреЛ 72 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рддрдХ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдлреНрд▓реИрд╢ / рд░реИрдо рд╡реЙрд▓реНрдпреВрдо 1M / 128K рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореЗрдЧрд╛ рдирд╣реАрдВ? рдлрд┐рд░, рдЬрдм рдЖрдк "рд╕реАрд▓рд┐рдВрдЧ" рдПрд╡реАрдЖрд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЖрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ "рд╕реАрд▓рд┐рдВрдЧ" рдЖрдорддреМрд░ рдкрд░ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдХрд╛рд░реНрдп (рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ) рд╣реИред рд╣рд╛рдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдбреАрдПрд╕рдкреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдореЗрдЧрд╛ рдореЗрдВ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдФрд░ рднреА рдЙрдкрдпреЛрдЧреА рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ, рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд╣реИред STM рдЪреБрдирдиреЗ рд╕реЗ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ?
  1. рдкреВрд░реНрдг 32-рдмрд┐рдЯ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧред рдЖрдкрдХреЛ 8 рдмрд┐рдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдЖрдХрд╛рд░ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреАрдорддреА рдШрдбрд╝рд┐рдпреЛрдВ рдХреЛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, ALU рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд░реЗрдЧрд╛ред
  2. рдбреАрдПрдордПред рдПрд╡реАрдЖрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбреАрдПрдордП рдирд┐рдпрдВрддреНрд░рдХ рдХреЗрд╡рд▓ рдкреБрд░рд╛рдиреЗ, рд░рд╛рдХреНрд╖рд╕реА рдореЙрдбрд▓ рдкрд░ рдЙрдкрд▓рдмреНрдз рдПрдХ рд▓рдХреНрдЬрд░реА рд╣реИред STM32F1xx рдореЗрдВ DMA рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдореЗрдВ рднреА рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдореЗрдореЛрд░реА рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдпреВрдПрдЖрд░рдЯреА рдФрд░ рдЙрдирдХреЗ рдЬреИрд╕реЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЛ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛, рдПрдбреАрд╕реА рд╕реЗ рдСрдбрд┐рдпреЛ рдХреИрдкреНрдЪрд░ рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░рдирд╛ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдбреАрдПрд╕реА рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред
  3. DACs рдХреА рдмрд╛рдд рдХрд░реЗрдВ - рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЙрдбрд▓реЛрдВ рдореЗрдВ, рдЬрд┐рдирдореЗрдВ рдпреБрд╡рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, 12-рдмрд┐рдЯ DAC рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕рдВрдЧреАрдд рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА рдбреАрдмрдЧрд┐рдВрдЧ рдПрдирд╛рд▓реЙрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдФрд░ рдкреАрдбрдмреНрд▓реВрдПрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рдЦрд┐рд▓реМрдиреЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВред
  4. рдПрдирд╡реАрдЖрдИрд╕реА, рдпрд╛рдиреА рдиреЗрд╕реНрдЯреЗрдб рд╡реЗрдХреНрдЯрд░ рдЗрдВрдЯрд░рдкреНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рдЗрдВрдЯрд░рдкреНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡реНрдпрд╡рдзрд╛рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░рдВрддрд░ рд╕рдордп рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ - рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рдХрдореА рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬред
  5. рдПрдХ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдирд┐рдпрдВрддреНрд░рдХ рдХреА рддрд░рд╣ рдПрдХ рд╕реБрдЦрдж рддрд┐рдкрд╣рд┐рдпрд╛ - рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рдЯреАрдПрдо рдкрд░ рдПрд╕рдкреАрдЖрдИ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реАрдЖрд░рд╕реА рдХрдВрдкреНрдпреВрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  6. рдХреБрдЫ рдбреАрдПрд╕рдкреА рдЖрджреЗрд╢реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ред рд╕рдЪ рдореЗрдВ, рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдбреАрдПрд╕рдкреА рдХреЛрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдРрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдЯреАрдЖрдИ рд╕реЗ рдбреАрдПрд╕рдкреА рдЬреИрд╕реЗ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреА рдЧреВрдВрдЬ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрд╡реАрдЖрд░ рднреА рдХрдордЬреЛрд░ рдирд╣реАрдВ рд╣реИред 32x32 рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЧреБрдгрдХ рдФрд░ рд╕рдВрдЪрдп рдЧреБрдгрди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдПрдо 3 рдкрд░ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред
  7. рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдореЙрдбрд▓реЛрдВ рдореЗрдВ рдПрдХ рдпреВрдПрд╕рдмреА рдирд┐рдпрдВрддреНрд░рдХ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдлреНрд▓реИрд╢ рд╡реЙрд▓реНрдпреВрдо рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдЖрдк рдЕрднреА рднреА рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ - рдПрд╕рдЯреАрдПрдо рдкрд┐рди рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧрдд рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреБрд░рд╛рдиреЗ рдореЙрдбрд▓ 64-рдлреБрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЦрд░реАрджреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдмреЛрд░реНрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЕрдм рдХрдорд┐рдпреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдореИрдВ рджреЛ рдиреЛрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
  1. STM32F1xx рдХреЗ рдорд╛рдорд▓реЗ рдПрдХ рд╣реА AVR рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдШрд░ рдкрд░ рдмрд╣реБрдд рдХрдо рдорд┐рд▓рд╛рдк рд╡рд╛рд▓реЗ рд╣реИрдВред рдмреЛрд░реНрдб рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреМрд╢рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
  2. рдЗрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ, рдкреНрд░рддрд┐ рдЯрд╛рдЗрдорд░ 12 рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИрдВ (рд╡реЗ рднреА 32-рдмрд┐рдЯ рд╣реИрдВ!), рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдо рдХреЛ рдорд╛рд╕реНрдЯрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдЖрдкрдХреЛ рдЙрдирдХреЗ рд╕рд╛рде рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред

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

рдЕрдм рдЕрдзрд┐рдХ рджрдмрд╛рд╡ рд╡рд╛рд▓реЗ рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред STM32F рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?

STM32F1xx рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдирд╛


рдХреБрдЫ рд╕рд╛рдерд┐рдпреЛрдВ рдХреА рд░рд╛рдп рдХреЗ рд╡рд┐рдкрд░реАрдд, 300r рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдРрд╕реЗ рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП: STM32VLDISCOVERY
рдЫрд╡рд┐
рдЗрд╕рдореЗрдВ рддреБрд░рдВрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдмреЛрд░реНрдб рдкрд░ STM32F100RB рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рдкрд╛рд░реНрдЯ рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕реЗ рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдореЙрдбрд▓ рдкрд░ рдЪреЛрдЯ рдирд╣реАрдВ рд▓рдЧрддреА: WBU-206
рдЫрд╡рд┐
рдЖрдкрдХреЛ рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдиреЗ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддреБрд░рдВрдд рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВред рд╕рдЪ рд╣реИ, рдЗрд╕ рдкрд░ рдЬрдЯрд┐рд▓ рд╕рд░реНрдХрд┐рдЯ рдШреГрдгрд┐рдд рджрд┐рдЦрддреЗ рд╣реИрдВ - рддрд╛рд░реЛрдВ рдХреА рддрдВрдЧ рдмреБрдирд╛рдИ рдирд╛рдЬреБрдХ рджрд┐рдорд╛рдЧреЛрдВ рдореЗрдВ рдбрд░рд╛рд╡рдиреА рдкреНрд░реЗрд░рдгрд╛ рджреЗ рд╕рдХрддреА рд╣реИ)

рдпрд╣рд╛рдВ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдФрд░ рд╕рднреА рд▓реЛрд╣реЗ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдХрд╛рдо рдХреА рдиреАрдВрд╡ рдореЗрд░реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕рдореНрдорд╛рдирд┐рдд рджрд┐рд╣рд▓реНрдЯ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдИ рдЧрдИ рдереА , рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЦреБрдж рдХреЛ рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛ рдФрд░ рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд▓реЗрдЦ рдХрд╛ рдХреЛрдИ рднреА рдкрд╛рдардХ рдХреЗрдЗрд▓ рдореЗрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдлреНрд▓реИрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ easyelectronics.ru рдкрд░ рдЬрд╛рдПрдВ ред
рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдмрд╛рдК рдирд╣реАрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрди рдПрд▓ рдИ рдбреА рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╕рднреА рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡реЛ рдХреЗ рд╕рд╛рдеред рд╕рд░реНрд╡реЛ рдбреНрд░рд╛рдЗрд╡ рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ рдореЛрдЯрд░ рд╣реИ рдЬрд┐рд╕реЗ рд╕рд░реНрд╡реЛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдлреНрдЯ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдлреАрдбрдмреИрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрд┐рдпрд░рдмреЙрдХреНрд╕ рдХреЗ рдХрд┐рд╕реА рдПрдХ рдкрд░ рдПрдХ рдкреЛрдЯреЗрдВрд╢рд┐рдпреЛрдореАрдЯрд░ рд░рдЦрдХрд░ред
рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рд╣рдореЗрдВ рдЙрд╕ рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдкреЛрдЯреЗрдВрд╢рд┐рдпреЛрдореАрдЯрд░ рд╕реЗ рд╕рд░реНрд╡реЛ рд╢рд╛рдлреНрдЯ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдЬрд┐рд╕ рдкрд░ рдпрд╣ рдЕрдм рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореЛрдЯрд░ рд╡рд╛рдЗрдВрдбрд┐рдВрдЧ рдкрд░ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рд╡реЛрд▓реНрдЯреЗрдЬ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдЪреАрдиреА рдХреЙрдорд░реЗрдб рдмрд╣реБрдд рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рдбрд╝реЛрдВ рдореЗрдВ рд░реЗрдВрдЧрддреЗ рд╣реИрдВ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ: рдЯреЙрд╡рд░ рдкреНрд░реЛ MG90S
рдЫрд╡рд┐
рдЙрдирдХреА рдХреАрдордд 200r рд╕реЗ рдХрдо рд╣реИ, рдбрд┐рд▓реАрд╡рд░реА рдореБрдлреНрдд (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рдлреА рд▓рдВрдмреА рд╣реИ), рдЧрд┐рдпрд░рдмреЙрдХреНрд╕ рдзрд╛рддреБ рд╣реИ, рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдирд╣реАрдВред рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ, рд╕рд░реНрд╡реЛ рдХреЛ рдкреАрдбрдмреНрд▓реВрдПрдо рд╕рд┐рдЧреНрдирд▓ рджреНрд╡рд╛рд░рд╛ 20-60 рд╣рд░реНрдЯреНрдЬ (рдиреЛрдЯ, рд╣рд░реНрдЯреНрдЬ , рдХрд┐рд▓реЛрд╣рд░реНрдЯреНрдЬрд╝ рдирд╣реАрдВ) рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд░реНрддрд╡реНрдп рдЪрдХреНрд░ рд░реЛрдЯреЗрд╢рди рдХреЛрдг рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореВрд▓реНрдп рд╕рд░реНрд╡реЛ рдореЛрдЯрд░ рдкрд░ рд╣реА рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЬрд╛рдиреЗ рдкрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдбреАрдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдЗрди рдореЛрдЯрд░реЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдлрд╝реНрдпреВрдЯрд╛рдмрд╛ рдЬрд╛рдкрд╛рдиреА рд╕рд░реНрд╡реЛрд╕ рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ - рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЪреАрдиреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдорд╛рдирдХреЛрдВ рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рдЪрд▓рд┐рдд рдирд╣реАрдВ рд╣реБрдП, рдФрд░ рд╕рд░реНрд╡рд░ рдиреЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛ред рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп STM32F1xx рдкрд░ рдПрдХ рдЯрд╛рдЗрдорд░ рд╢реБрд░реВ рдХрд░рдирд╛, рдПрдХ PWM рд╕рд┐рдЧреНрдирд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдФрд░ рдЗрд╕ PWM рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪреАрдиреА рд╕рд░реНрд╡реЛ рдХреЛ рдЯреНрд╡рд┐рд╕реНрдЯ рдХрд░рдирд╛ рд╣реИред
рдЖрдЗрдП рд▓реЛрд╣реЗ рдХреА рдУрд░ рдореБрдбрд╝реЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рд░реНрдХрд┐рдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдкрд░ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рд╕рд░реНрд╡реЛ рдХреЛ рдЗрд╕рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдорд╛рдирдХ рд╕рд░реНрд╡реЛрдореЛрдЯрд░ рдореЗрдВ 3 рддрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ - рдЬрдореАрди, рд╢рдХреНрддрд┐ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг (рдЖрдорддреМрд░ рдкрд░ рдЪрд┐рддреНрд░рд┐рдд рдХрд╛рд▓реЗ, рд▓рд╛рд▓ рдФрд░ рдирд╛рд░рдВрдЧреА, рдХреНрд░рдорд╢рдГ)ред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдИ рдЧрдИ MG90S рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд▓рд┐рдП, рдмрд┐рдЬрд▓реА 4.8 рд╕реЗ 6V рддрдХ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЦрдкрдд, рдореЗрд░реЗ рдорд╛рдк рдХреЗ рдЕрдиреБрд╕рд╛рд░, 40 рдПрдордП рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдиреНрд╣реЗрдВ рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХреЗ 5V рдкрд┐рди рд╕реЗ рд╕реАрдзреЗ рдмрд┐рдЬрд▓реА рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдмреЛрд░реНрдб рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ PWM рдлрд╝реАрдб рдХрд░реЗрдВрдЧреЗред рдкреНрд░рддреНрдпреЗрдХ рдЯрд╛рдЗрдорд░ рдореЗрдВ 4 рд╕реНрд╡рддрдВрддреНрд░ рдкреАрдбрдмреНрд▓реВрдПрдо рдЪреИрдирд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрдирд╛рд╡ рдХреЗ рдПрдХ рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде 4 рд╕рд░реНрд╡реЛ рддрдХ рд╕реНрдкрд┐рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЯрд╛рдЗрдорд░ 1 рдФрд░ 8 рдмрд╛рдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд╣реИрдВ - рд╡реЗ рдЖрдзреЗ-рдкреБрд▓ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлрд╝реАрд▓реНрдб-рдЗрдлреЗрдХреНрдЯ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ (рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╡реЗ рд╕рд░рд▓ PWM рд╕рд┐рдЧреНрдирд▓ рднреА рдкреИрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЯрд╛рдЗрдорд░ рдирдВрдмрд░ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢реНрдп рдЯрд╛рдЗрдорд░ рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдЪреИрдирд▓ 3 рдФрд░ 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛ред рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЪреИрдирд▓ 3 рдФрд░ 4 рдкрд┐рди рдкреАрдП 2 рдФрд░ рдкреАрдП 3 рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВред
рддреЛ, рдЕрдВрдд рдореЗрдВ, рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд╕реНрдкреНрд░рд┐рдВрдЧрдмреЛрд░реНрдб STM32VLDISCOVERY рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рд╣реИ рдЬреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ USB рдФрд░ рджреЛ рдЯреЙрд╡рд░ рдкреНрд░реЛ MG90S рд╕рд░реНрд╡реЛрд╕ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ (рдХрд╛рд▓рд╛ рддрд╛рд░) рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХреЗ GND рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рд╢рдХреНрддрд┐ рдЗрд╕рдХреЗ 5V рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝реА рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рддрд╛рд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИред рд╕рд░реНрд╡ рдХреНрд░рдорд╢рдГ рдкрд┐рди PA2 рдФрд░ PA3 рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рдЪреИрдирд▓ рдХреЛ PA2, PA3 рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрддреНрдкрдиреНрди рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рддреБрд░рдВрдд рдирд┐рд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЕрдм рдХреЛрдб рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднрд╛рдЧ


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

рддреЛ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рд╕реНрдерд┐рддрд┐ Keil uVision рдореЗрдВ рдХрдиреЗрдХреНрдЯреЗрдб CMSIS рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛрдЧреА:

#include "stm32f10x.h" int main() { while(1); } 

рдпрд╣ рд╕рдм рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдореЛрд░реА рдореЗрдВ рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдбреАрдмрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдИрдЬреАрд▓реЗрдХреНрдЯреНрд░реЛрдирд┐рдХреНрд╕ рдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рдкрдврд╝рддреЗ рд╣реИрдВред
рдХреЛрдбрд╛рдВрддрд░рдХ рдлрд╝рд╛рдЗрд▓ (рдореЗрд░рд╛ рдирд╛рдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк_stm32f10x_md_vl.s рд╣реИ ) рд╕реЗ рд╢реБрд░реБрдЖрддреА рдХреЛрдб рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдХреА рдШреЛрд╖рдгрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ CMSIS рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ core_cm3.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд SystemInit рдлрд╝рдВрдХреНрд╢рди рдХреЛ рднреА рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рд░рдЬрд┐рд╕реНрдЯрд░ рдЗрд╕рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬреЛ рдШрдбрд╝реА рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ - рдпрд╣ рд╕рдм рд╣рдорд╛рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдлрд╝рд╛рдЗрд▓ рдореЗрдВ SystemInit рдХреЙрд▓ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо_stm32f10x.c рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрд╡реГрддреНрддрд┐ рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИ, рдЬрд╣рд╛рдВ SYSCLK_FREQ_24MHz , 24000000 рдХреЗ рдмрд░рд╛рдмрд░, рд▓рд╛рдЗрди 76 рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

  RCC->APB1ENR|= RCC_APB1ENR_TIM2EN; RCC->APB2ENR|= RCC_APB2ENR_IOPAEN; 

рдЗрди рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рд╣рдо APB1ENR рдФрд░ APB2ENR рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдХреНрд░рдорд╢рдГ APB1 рдФрд░ APB2 рдкреЗрд░рд┐рдлреЗрд░рд▓ рдХреНрд▓реЙрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ TIM2EN рдмрд┐рдЯреНрд╕ (рдШрдбрд╝реА рдХреЛ рдЯрд╛рдЗрдорд░ 2 рдХреЛ рдлреАрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдФрд░ IOPAEN (рдкреЛрд░реНрдЯ рдП рдХреЛ рдШрдбрд╝реА рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП) рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдЖрддреА рд╣реИ:

  GPIOA->CRL |=GPIO_CRL_MODE2; GPIOA->CRL &=~GPIO_CRL_CNF2_0; GPIOA->CRL |=GPIO_CRL_CNF2_1; GPIOA->CRL |=GPIO_CRL_MODE3; GPIOA->CRL &=~GPIO_CRL_CNF3_0; GPIOA->CRL |=GPIO_CRL_CNF3_1; 

рд╣рдо рджреЛрдиреЛрдВ рдкрд┐рди, PA2, PA3 рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрд╕рдЯреАрдПрдо рдореЗрдВ GPIO рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдПрдХ рдкреГрдердХреНрдХрд░рдг рд╣реИред рдпрджрд┐ рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдкрд┐рди рд╕реНрдЯреЗрдЯ рдХреЛ 1 рдпрд╛ 0 рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдСрдкрд░реЗрд╢рди рдЖрдЙрдЯрдкреБрдЯ рдкреБрд╢-рдкреБрд▓ рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдУрдкрди рдбреНрд░реЗрди рдХрд╛ рдореЛрдб рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЬрд╛рдП рдХрд┐ рдХреБрдЫ рдкрд░рд┐рдзреАрдп рдЙрдкрдХрд░рдг рдЬреИрд╕реЗ рдХрд┐ рдЯрд╛рдЗрдорд░, рдЬреЛ рдХрд┐ рдЕрд▓реНрдЯрд░рдиреЗрдЯ рдлрдВрдХреНрд╢рдВрд╕ рдХреЙрд▓рдо рдореЗрдВ рдкрд┐рдирдЖрдЙрдЯ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╢реАрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдЧрд╛, рддреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдкреБрд╢-рдкреБрд▓ рдпрд╛ рдЕрд▓реНрдЯрд░рдиреЗрдЯрд┐рд╡ рдлрдВрдХреНрд╢рди рдУрдкрди рдбреНрд░реЗрди рдореЛрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдореЛрдб рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯрд╛рдЗрдорд░ рдкреАрдбрдмреНрд▓реВрдПрдо рд╕рд┐рдЧреНрдирд▓ рдирд╣реАрдВ рджреЗ рдкрд╛рдПрдЧрд╛ред
рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ - рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд░реНрдЯ рдореЗрдВ рджреЛ рдирд┐рдпрдВрддреНрд░рдг рд░рдЬрд┐рд╕реНрдЯрд░ рд╕реАрдЖрд░рдПрд▓ рдФрд░ рд╕реАрдЖрд░рдПрдЪ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ , рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реИрдВред рд╕реАрдЖрд░рдПрд▓ рдореЗрдВ , рдкрд┐рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ 0-4 рд╕реАрдЖрд░рдПрдЪ - 8-15 рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рди рдХреЗ рд▓рд┐рдП 4 рдмрд┐рдЯреНрд╕ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рджреЛ, MODE , рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб рдореЗрдВ рдкрд┐рди рдХреА рдЕрдзрд┐рдХрддрдо рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЗрдирдкреБрдЯ-рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рд╕реАрдорд╛ рдХреА рджрд┐рд╢рд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ, рдЕрдиреНрдп рджреЛ, CNF , рд╕рдорд╛рди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред
рдХреБрд▓ рдореЗрдВ, рдпрд╣ рд╣рдореЗрдВ рдЖрда рд╕рдВрднрд╛рд╡рд┐рдд рдкрд┐рди рд╕реНрдЯреЗрдЯреНрд╕ рджреЗрддрд╛ рд╣реИ:
  1. рдЗрдирдкреБрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ ( MODE [1: 0] = 00, CNF [1: 0] = 01)
  2. рд╡рд┐рджреНрдпреБрдд рдЖрдкреВрд░реНрддрд┐ рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рдЗрдирдкреБрдЯ ( MODE [1: 0] = 00, CNF [1: 0] = 10, 1 рдХреЛ рдкреЛрд░реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ)
  3. рдЬрдореАрди рдкрд░ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рдЗрдирдкреБрдЯ ( MODE [1: 0] = 00, CNF [1: 0] = 10, 0 рдкреЛрд░реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ)
  4. рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ ( MODE [1: 0] = 00, CNF [1: 0] = 00) - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, Schmitt рдЗрдирдкреБрдЯ рдЯреНрд░рд┐рдЧрд░ рдФрд░ рдкреБрд▓-рдЕрдк рдкреНрд░рддрд┐рд░реЛрдзреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд┐рди Z-рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред
  5. рдЖрдЙрдЯрдкреБрдЯ, рдЦреБрд▓реА рдирд╛рд▓реА GPIO ( MODE [1: 0]! = 00, CNF [1: 0] = 01)
  6. рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ, рдкреБрд╢-рдкреБрд▓ GPIO ( MODE [1: 0]! = 00, CNF [1: 0] = 00)
  7. рдЖрдЙрдЯрдкреБрдЯ, рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдЦреБрд▓реА рдирд╛рд▓реА ( MODE [1: 0]! = 00, CNF [1: 0] = 11)
  8. рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдкреБрд╢-рдкреБрд▓ ( MODE [1: 0]! = 00, CNF [1: 0] = 10)

рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкреБрд╢-рдкреБрд▓ рдореЛрдб рдореЗрдВ рдкрд░рд┐рдзреАрдп рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдкрд┐рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, MODE2 [1: 0] рдФрд░ MODE3 [1: 0] рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ 00 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╛рди рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, 11 рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ CNF2 [1: 0] рдФрд░ CNF3 [1: 0] - рдорд╛рди 10 рддрдХ
рд╢реЗрд╖ рдкрд░рд┐рдзреАрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ RM0008, STM32F1xx рд╕рдВрджрд░реНрдн рдореИрдиреБрдЕрд▓ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдИрдбреАрдЖрд░ рдФрд░ рдУрдбреАрдЖрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рдкреЛрд░реНрдЯ рдХреЗ рдкрд┐рди рдкрд░ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ, рдмреАрдПрд╕рдЖрд░рдЖрд░ рдУрдбреАрдЖрд░ рдореЗрдВ рдмрд┐рдЯреНрд╕ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ / рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдмреАрдЖрд░рдЖрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕реЗ рдкрд░рдорд╛рдгреБ рд░реВрдк рд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдСрдкрд░реЗрд╢рди рдПрдХ рдмрд╕ рдЪрдХреНрд░ рдФрд░ рдЗрд╕рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд░реБрдХрд╛рд╡рдЯ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЕрдВрддрд┐рдо рдкреЛрд░реНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░, LCKR рдЖрдкрдХреЛ рдкрд┐рди рд╡реИрд▓реНрдпреВ рдХреЛ "рд▓реЙрдХ" рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рд╣реЛрдиреЗ рддрдХ рдмрджрд▓рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред

рдЕрдЧрд▓рд╛, рдЯрд╛рдЗрдорд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╛рдП рдЧрдП рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреАрдбрдмреНрд▓реВрдПрдо рдЕрд╡рдзрд┐ рдХреЛ 20 рд╕реЗ 60 рд╣рд░реНрдЯреНрдЬ рддрдХ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рджрд╛рд▓реЛрдВ рдХреА рдЪреМрдбрд╝рд╛рдИ рд▓рдЧрднрдЧ 1 рдПрдордПрд╕ рдХрд╛ рдорддрд▓рдм 0 рдбрд┐рдЧреНрд░реА, 1.5 рдПрдордПрд╕ - 90 рдбрд┐рдЧреНрд░реА рдФрд░ 2 рдПрдордПрд╕ - 180 рд╣реИред
рдЫрд╡рд┐
PWM рдХреНрд╖рдорддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдХреЛрдИ рднреА рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡реЛ рдкреЛрдЬрд┐рд╢рдирд┐рдВрдЧ рд╕рдЯреАрдХрддрд╛ рдЕрднреА рднреА рдкрд░рд┐рдорд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ 12 рдмрд┐рдЯреНрд╕ рдХреЛ рдЪреБрдирд╛ред рдпрд╣ рднреА рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ 12 рдмрд┐рдЯреНрд╕ рдЕрдкрдиреА рдЕрд╡рдзрд┐ рдХреЗ рдмрд░рд╛рдмрд░ 0 рдПрдордПрд╕ рд╕реЗ рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рд╕рд░реНрд╡рд░ 1 рд╕реЗ 2 рдПрдордПрд╕ рддрдХ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА 12 рдмрд┐рдЯреНрд╕ рд╣рдорд╛рд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдЖрдпрд╛:

рдкреАрдбрдмреНрд▓реВрдПрдо рдХреА рдЖрд╡реГрддреНрддрд┐ 35 рд╣рд░реНрдЯреНрдЬ рдФрд░ 12 рдмрд┐рдЯреНрд╕ рдХреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ рдкреВрд░реА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП 4096 рдорд╛рди рдорд┐рд▓рддреЗ рд╣реИрдВ, 0x50 0.56 рдПрдордПрд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ 0x150 рд╕реЗ 2.34 рдПрдордПрд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд▓рдЧрднрдЧ 180 рдбрд┐рдЧреНрд░реА рдкрд░ 256 рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдкреНрд░рддрд┐ рдирдореВрдирд╛ рд▓рдЧрднрдЧ 40 рдЪрд╛рдк рдорд┐рдирдЯ рдХреА рдЕрд╕рдВрдЧрддрд┐ред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдЯреАрдХ рд╕реАрдорд╛ рдореВрд▓реНрдпреЛрдВ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдбреНрд░рд╛рдЗрд╡ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд╕рдХрддреА рд╣реИред
рддреЛ, рдирд┐рдореНрди рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ 2 рдЯрд╛рдЗрдорд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ:

  TIM2->PSC = 0x00A7; TIM2->ARR = 0x0FFF; TIM2->CCR3 = 0x050; TIM2->CCR4 = 0x0150; 

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╣реА рддреБрдЪреНрдЫ рд╣реИ: PSC рд░рдЬрд┐рд╕реНрдЯрд░ (рдкреНрд░реАрд╕реНрдХреВрд▓рд░) рдкреНрд░реА-рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, ARR рд░рдЬрд┐рд╕реНрдЯрд░ (рдСрдЯреЛ-рд░реАрд▓реЛрдб рд░рдЬрд┐рд╕реНрдЯрд░) рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЯрд╛рдЗрдорд░ рдЯрд┐рдХ рдЬрд╛рдПрдЧрд╛ред ARR рдореЗрдВ 0xFFF рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж , рд╣рдореЗрдВ 12-рдмрд┐рдЯ рдЯрд╛рдЗрдорд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдЧрд┐рдирддреА рдХреА рдЕрд╡рдзрд┐ 0xFFF рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА, рдЬреЛ рдХрд┐ 24000000/4096 = 5859 рд╣реИред рдЗрд╕ рдорд╛рди рдХреЛ рджреВрд╕рд░реЗ 0xA7 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ 5859/167 = 35 Hz рдорд┐рд▓рддрд╛ рд╣реИред
CCR3 рдФрд░ CCR4 (рдХреИрдкреНрдЪрд░ рдХрдореНрдкреЗрд░рд┐рдЬрди рд░рдЬрд┐рд╕реНрдЯрд░) рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рдХрд╛рдЙрдВрдЯрд░ рд╡реИрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ PWM рдбреНрдпреВрдЯреА рдЪрдХреНрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЯрд╛рдЗрдорд░ рдореЛрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:

 TIM2->CCMR2 |= TIM_CCMR2_OC3M_1|TIM_CCMR2_OC3M_2; TIM2->CCER |= TIM_CCER_CC3E; TIM2->CCMR2 |= TIM_CCMR2_OC4M_1|TIM_CCMR2_OC4M_2; TIM2->CCER |= TIM_CCER_CC4E; TIM2->CR1 |= TIM_CR1_CEN; 

рдкреЛрд░реНрдЯ рд╕реЗрдЯрдЕрдк рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рди рд╣реИ - рджреЛ рдХреИрдкреНрдЪрд░ рдФрд░ рддреБрд▓рдирд╛ рдореЛрдб рд░рдЬрд┐рд╕реНрдЯрд░ рд░рдЬрд┐рд╕реНрдЯрд░, CCMR1 , CCMR2 рдХреНрд░рдорд╢рдГ рдЪреИрдирд▓реЛрдВ 1,2 рдФрд░ 3,4 рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдХрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ, рдФрд░ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕рдВрджрд░реНрдн рдореИрдиреБрдЕрд▓ рдкрдврд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрджрд┐ рдЕрд╡рд▓реЛрдХрди - рд░рдЬрд┐рд╕реНрдЯрд░ рдЯрд╛рдЗрдорд░ рдкрд░ рдкреАрдбрдмреНрд▓реВрдПрдо рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рдореЛрдб рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред CCxS рдмрд┐рдЯреНрд╕, рдЬрд╣рд╛рдВ x рдЪреИрдирд▓ рдирдВрдмрд░ рд╣реИ, рдЗрд╕ рдЪреИрдирд▓ рдХреЛ рдЗрдирдкреБрдЯ рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд╕реЗрдЯ OCxM рдмрд┐рдЯреНрд╕ [2: 0] рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдХрд┐ рдЪреИрдирд▓ рдХрд╛рдЙрдВрдЯрд░ рдорд╛рди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЧрд╛ (рдЬреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рд╡реИрд╕реЗ, рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ
TIM2-> CNT ) рдФрд░ CCRx рд░рдЬрд┐рд╕реНрдЯрд░ред рдХреБрд▓ 8 рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВ:
  1. 000 - рддреБрд▓рдирд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИ
  2. 001 - рдпрджрд┐ рдЪреИрдирд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдорд╛рди рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ 1 рд╕реЗрдЯ рд╣реИ
  3. 010 - рдпрджрд┐ рдЪреИрдирд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдорд╛рди рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ 0 рд╕реЗрдЯ рд╣реИ
  4. 011 - рдЬрдм рдорд╛рди рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рд╡рд┐рдкрд░реАрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
  5. 100 - рдЖрдЙрдЯрдкреБрдЯ рд╣рдореЗрд╢рд╛ 0 рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ
  6. 101 - рдЖрдЙрдЯрдкреБрдЯ рд╣рдореЗрд╢рд╛ 1 рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ
  7. 110 - PWM, рдореЛрдб 1, рд╕рд╛рдорд╛рдиреНрдп (рдЬрдмрдХрд┐ рдЖрдЙрдЯрдкреБрдЯ 1 рдореЗрдВ CCRx < CNT рдореЗрдВ рдорд╛рди, рдЕрдиреНрдпрдерд╛ 0)
  8. 111 - PWM, рдореЛрдб 2, рдЙрд▓рдЯрд╛ (рдЬрдмрдХрд┐ CCRx < CNT рдореЗрдВ рдореВрд▓реНрдп, рдЖрдЙрдЯрдкреБрдЯ 0 рдкрд░, рдЕрдиреНрдпрдерд╛ 1)

рдореЛрдб рдХреЛ 110 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рдкреАрдбрдмреНрд▓реВрдПрдоред CCER рдХреЛ рдмрд┐рдЯрдХреЙрдЗрди рдХреЛ CCER (рдХреИрдкреНрдЪрд░ / рдЗрдиреЗрдмрд▓ рд░рдЬрд┐рд╕реНрдЯрд░ рд░рдЬрд┐рд╕реНрдЯрд░) рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ - рд╕рдВрдмрдВрдзрд┐рдд рдЪреИрдирд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо CR1 рд░рдЬрд┐рд╕реНрдЯрд░ (рдирд┐рдпрдВрддреНрд░рдг рд░рдЬрд┐рд╕реНрдЯрд░ 1) рдореЗрдВ CEN рдмрд┐рдЯ рд╕реЗрдЯ рдХрд░рдХреЗ рдкреВрд░реЗ рдЯрд╛рдЗрдорд░ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣реА рд╣реИ, рдкреАрдбрдмреНрд▓реВрдПрдо рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рд╕реБрдВрджрд░ рддрд╕реНрд╡реАрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕рд░реНрд╡реЛ рдХреЛ рд╡рд┐рдкрд░реАрдд рд╕реНрдерд┐рддрд┐ рд▓реЗрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдмреНрд░реЗрдХрд░ рдХреЛ рд╕рднреА рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдмрд╛рдж рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдкрд░рд┐рдзреАрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Cale рдореЗрдВ рдмрд┐рд▓реНрдЯ-рдЗрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рддреБрд░рдВрдд рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рд┐рдЧреНрдирд▓ рдбреНрдпреВрдЯреА рдЪрдХреНрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рд╕рд░реНрд╡реЛ рд╢рд╛рдлреНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм, рд╕реНрд╡-рд╢рд┐рдХреНрд╖рд╛ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдмрдирд╛рдПрдВ - рд╣рдо рдХреЛрдг рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХрддрдо рд╕реЗ рдиреНрдпреВрдирддрдо рддрдХ рдмрджрд▓ рджреЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдПрдЖрд░рдПрдо рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рдХреЗ рдореВрд▓ рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рд╕рд┐рдХрдЯрд┐рдХ рдЯрд╛рдЗрдорд░ рд╢рд╛рдорд┐рд▓ рд╣реИ - рдпрд╣ рдПрдХ 24-рдмрд┐рдЯ рдЯрд╛рдЗрдорд░ рд╣реИ рдЬрд┐рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдЗрдВрдЯрд░рдкреНрдЯ рдХреА рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯрд╛рдЗрдорд░ рдХреЛ SysTick_Config (uint32_t Ticks) рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╕реАрдПрдордПрд╕рдЖрдИрдПрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЬреЛ рд╕реНрдЯреИрдВрдбрд░реНрдб рдкреЗрд░рд┐рдлреЗрд░рд▓реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ "рдореМрд▓рд┐рдХ" рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдпрджрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░реВрдиреА рднрд╛рдЧ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ, рддреЛ рдЖрдк CMSIS (рдлрд╝рд╛рдЗрд▓ core_cm3.h , рд▓рд╛рдЗрди 1137) рдХреЗ рдЖрдВрддреЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдлрд╝рдВрдХреНрд╢рди рдХреБрдЫ рднреА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ 24 рдмрд┐рдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗ рдкрд╛рд╕ рджрд┐рдП рдЧрдП рдЯрд┐рдХреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд╣ рд░рдЬрд┐рд╕реНрдЯрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ:
тАв SysTick-> LOAD рдЗрди рд╡реИрд▓реНрдпреВ рдЯрд┐рдХреНрд╕ - рдпрд╣ рдЯрд╛рдЗрдорд░ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реИ, рдЗрд╕ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
тАв SysTick-> 0 рдкрд░ рд╡реИрд▓ рдХрд░реЗрдВрдЯ рдХрд╛рдЙрдВрдЯрд░ рд╡реИрд▓реНрдпреВ рд╣реИ
тАв рдмрд┐рдЯреНрд╕ рдХреНрд▓рд┐рдХреНрд╕ , рдЯрд┐рдХрдЯ , рд╕рдХреНрд╖рдо рд░рдЬрд┐рд╕реНрдЯрд░ SysTick-> CTRL 1 рдореЗрдВред

CLKSOURCE рдмрд┐рдЯ рдЯрд╛рдЗрдорд░ рдХреЗ рд▓рд┐рдП рдШрдбрд╝реА рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдХреЛрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдпрд╣ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░рд╛ рд╕рдВрдХреЗрдд рдХреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдкрд╣рд▓рд╛ рд╣рдореЗрд╢рд╛ рд╕рд┐рд╕реНрдЯрдо рдШрдбрд╝реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдмрд┐рдЯ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред STM32F рдореЗрдВ, рджреВрд╕рд░рд╛ рдмреНрд▓реЙрдХрд┐рдВрдЧ рд╕рд┐рдЧреНрдирд▓ SystemCoreClock / 8 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рдмрд┐рдЯ рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ, рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓реЙрдХ рдХреЗ рд╕реНрд░реЛрдд рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
TICKINT рдмрд┐рдЯ рдЯрд╛рдЗрдорд░ рдУрд╡рд░рдлреНрд▓реЛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдмрд╛рдзрд╛ (рдпрд╛ рдмрд▓реНрдХрд┐, рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди) рдХреА рдкреАрдврд╝реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ 1 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)
рд╕рдХреНрд╖рдо рдмрд┐рдЯ рдЯрд╛рдЗрдорд░ рдкрд░ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд░реНрдгрд┐рдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, SysTick_Config рдлрд╝рдВрдХреНрд╢рди рднреА 240 рдкрд░ рд░реБрдХрд╛рд╡рдЯ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рдХрдо рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ 0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ -3, рд▓реЗрдХрд┐рди 0 рд╕реЗ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВ)ред
рдЪреВрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдкреАрдбрдмреНрд▓реВрдПрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ 0 рд╕реЗ 180 рдбрд┐рдЧреНрд░реА рддрдХ 256 рдЪрд░рдгреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ, рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдорд░ рд╕реЗрдЯ рдХрд░реЗрдВ
SystemCoreClock / 256, рддрд╛рдХрд┐ рдпрд╣ рд╕рд░реНрд╡реЛ рдкрде 1 рд╕реЗрдХрдВрдб рдореЗрдВ рдкрд╛рд╕ рд╣реЛ рдЬрд╛рдП:

 SysTick_Config(SystemCoreClock/256); 

SystemCoreClock рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ system_stm32f10x.c , рд▓рд╛рдЗрди 114 рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ 1 s рдореЗрдВ рдХреЛрд░ рдШрдбрд╝рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдЕрд░реНрдерд╛рдд 24000000ред
рдпрд╣ рдЯрд╛рдЗрдорд░ рдмрд╛рдзрд┐рдд рд╣реИрдВрдбрд▓рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛!

 int8_t ChannelDir[2]={1,-1}; volatile uint16_t *DutyCycle[2]={TIM2->CCR3,&TIM2->CCR4}; void SysTick_Handler() { uint8_t i; for(i=0;i<2;i++) { *DutyCycle[i]+=ChannelDir[i]; if(*DutyCycle[i]<0x50) ChannelDir[i]=1; if(*DutyCycle[i]>0x150) ChannelDir[i]=-1; } } 

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

 volatile uint16_t *DutyCycle[2]={&TIM2->CCR3,&TIM2->CCR4}; 

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

рд╣рдо рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рддрдорд╛рд╢рд╛ рдХрд╛ рдЖрдирдВрдж рд▓реЗрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдореИрдВрдиреЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИред



рдкреВрд░реНрдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 #include "stm32f10x.h" int8_t ChannelDir[2]={1,-1}; volatile uint16_t *DutyCycle[2]={&TIM2->CCR3,&TIM2->CCR4}; void SysTick_Handler() { uint8_t i; for(i=0;i<2;i++) { *DutyCycle[i]+=ChannelDir[i]; if(*DutyCycle[i]<0x50) ChannelDir[i]=1; if(*DutyCycle[i]>0x150) ChannelDir[i]=-1; } } int main() { RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; GPIOA->CRL |=GPIO_CRL_MODE2; GPIOA->CRL &=~GPIO_CRL_CNF2_0; GPIOA->CRL |=GPIO_CRL_CNF2_1; GPIOA->CRL |=GPIO_CRL_MODE3; GPIOA->CRL &=~GPIO_CRL_CNF3_0; GPIOA->CRL |=GPIO_CRL_CNF3_1; TIM2->PSC = 0x00A7; TIM2->ARR = 0x0FFF; TIM2->CCR3 = 0x050; TIM2->CCR4 = 0x0150; TIM2->CCMR2 |= TIM_CCMR2_OC3M_1|TIM_CCMR2_OC3M_2; TIM2->CCER |= TIM_CCER_CC3E; TIM2->CCMR2 |= TIM_CCMR2_OC4M_1|TIM_CCMR2_OC4M_2; TIM2->CCER |= TIM_CCER_CC4E; TIM2->CR1 |= TIM_CR1_CEN; SysTick_Config(SystemCoreClock/256); while(1); } 


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

рдпреБрдкреАрдбреА:
рджреВрд░ рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:

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


All Articles