
рдЖрдЬ рд╣рдо рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╢реНрдиреЛрдВ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗ: CMSIS рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдХреЛрдб рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЧрддрд┐ рдХреА рд╕рд╣реА рдЧрдгрдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВред рд╣рдо рджреВрд╕рд░реЗ рднрд╛рдЧ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдШрдбрд╝реА рдЖрд╡реГрддреНрддрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП LPC1114 рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВред
рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ "рд╢реНрд░рдо" рдХрд╛ рдореБрдЦреНрдп рд╕реНрд░реЛрдд рд╣реИ, рдЗрд╕рдХреЗ рдЬрдирд░реЗрдЯрд░ рдХреА рддреБрд▓рдирд╛ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рджрд┐рд▓ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХ рдПрдХ рдЕрд▓рдЧ рдЖрд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╣реА рдХреНрд░рд┐рд╕реНрдЯрд▓ (рдпрд╛ рдЕрдиреБрдирд╛рдж) рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдиреБрдирд╛рджрдХ рдФрд░ рдПрдХ рдмрд╛рд╣рд░реА рдЕрдиреБрдирд╛рджрдХ рдпрд╛ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдореВрд▓ рд░реВрдк рд╕реЗ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реЗрдЬрд╝реЛрдиреЗрдЯрд░ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рд▓рдЧрднрдЧ 1% рдХреА рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдФрд░ рднреА рдХрд╛рд░реНрдп рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдРрд╕реА рд╕рдЯреАрдХрддрд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рд╣рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЧреБрдВрдЬрдпрдорд╛рди рдпрдВрддреНрд░ рдкрд░ рд╕рдордп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддрд┐ рджрд┐рди рддреНрд░реБрдЯрд┐ 14 рдорд┐рдирдЯ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдЖрдк рд╣рд░ рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рдмрд╛рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рдкреИрдХреЗрдЯ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред рдПрдХ рдФрд░ рдмрд╛рдд рдЕрдЧрд░ рдЖрдк рдЕрд▓рд╛рд░реНрдо рдмрдирд╛рддреЗ рд╣реИрдВред

(
LPC111x рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреБрд╕реНрддрд┐рдХрд╛ рд╕реЗ рдЫрд╡рд┐)
рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдШрдбрд╝реА рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдУрд╡рд░рд╡реНрдпреВ рдЖрд░реЗрдЦ рдКрдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред
тУ╡ рдореБрдЦреНрдп рдЖрд╡реГрддреНрддрд┐
MAINCLKSEL
рдмреЗрд╕ рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд▓рдЧрднрдЧ рд╣рд░ рдХреЛрдИ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрдИ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдПрдХ рдЖрдИрдЖрд░рд╕реА рд╣реИ - рдЖрдВрддрд░рд┐рдХ рдЧреБрдВрдЬрдпрдорд╛рди рдпрдВрддреНрд░ред рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдЖрд╡реГрддреНрддрд┐ 12 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реИ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕реЗ рдЫреЛрдЯреА рд╕реАрдорд╛рдУрдВ рдХреЗ рднреАрддрд░ рдЯреНрдпреВрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рддреНрд░реБрдЯрд┐ рд▓рдЧрднрдЧ 1% рд╣реИред рдпрд╣ рдпрд╣рд╛рдВ рд╕реЗ рд╣реИ рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рдордп рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рднреА рдмреВрдЯ рдХреЛрдб рдХреЛ 12 рд╣рд░реНрдЯреНрдЬ рдХреА рдШрдбрд╝реА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдк рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓ рд╣реИ (рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ), рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рд╣рд░реА рдШрдЯрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕рдХреА рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ: рдЧреБрдВрдЬрдпрдорд╛рди рдпрдВрддреНрд░, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдХреБрдЫ рд╣рдж рддрдХ рдЧрд▓рдд рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ 12 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдкрд░ рдХреЛрд░ рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рдЬрдм рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ 50 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рджреВрд╕рд░реЗ, рдореБрдЦреНрдп рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдПрдХ рдФрд░ рдЖрдВрддрд░рд┐рдХ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╡реЙрдЪрдбреЙрдЧ рдСрд╕рд┐рд▓реЗрдЯрд░, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╡реЙрдЪрдбреЙрдЧ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ to 40% рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде 9.4 kHz рд╕реЗ 2.3 MHz рддрдХ рдЧрддрд┐ (рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓) рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, - рдРрд╕рд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдпрд╣ рдореБрдЦреНрдп рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реА рддрд░рдл, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЕрджреНрднреБрдд рдФрд░ рдКрд░реНрдЬрд╛-рдХреБрд╢рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдкрд░рд┐рдзреАрдп рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдХрд░реНрдиреЗрд▓ рдХреЛ рд╕реНрд▓реАрдк рдореЛрдб рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддреАрд╕рд░рд╛, рд╣рдо
PLL рдХреЗ рдкрд╣рд▓реЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рд╕реЗ рдореМрд▓рд┐рдХ рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЕрдм PLL рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рд╣реА рдмрдбрд╝рд╛ рд╡рд┐рд╖рдп рд╣реИред рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ "3.11 рд╕рд┐рд╕реНрдЯрдо PLL рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╡рд┐рд╡рд░рдг" рдЦрдВрдб рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
тУ╢ рд╕рд┐рд╕реНрдЯрдо рдСрд╕рд┐рд▓реЗрдЯрд░
рд╕рд┐рд╕реНрдЯрдо рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рдЙрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рдореЗрдВ рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╢рдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ - рдПрдХ рдХреНрд░рд┐рд╕реНрдЯрд▓ (рдпрд╛ рдПрдХ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдЧреБрдВрдЬрдпрдорд╛рди рдпрдВрддреНрд░), рдЬреЛ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ XTALIN / XTALOUT рдкрд┐рди рд╣реИрдВред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, LPC1114 (рд╣рд╛рд▓рд╛рдВрдХрд┐, LPC111x рд▓рд╛рдЗрди рдХреЗ рдмрд╛рдХреА рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рддрд░рд╣) 1 MHz рд╕реЗ 25 MHz рддрдХ рджреЛрд▓рди рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рджреЛ рдХреИрдкреЗрд╕рд┐рдЯрд░ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдорд╛рди рдЪрдпрдирд┐рдд рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдореИрдВ рдЖрдкрдХреЛ
рдбреЗрдЯрд╛рд╢реАрдЯ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдЦрдВрдб 12.3 (XTAL рдЗрдирдкреБрдЯ) рдореЗрдВ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдЖрд░реЗрдЦ рдФрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдВрдзрд╛рд░рд┐рддреНрд░ рдХреНрд╖рдорддрд╛ рд╡рд╛рд▓реА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рджреЛрдиреЛрдВ рд╣реИред рдЯреЗрд╕реНрдЯ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рдореИрдВрдиреЗ 12 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, 20 рдкреАрдПрдл рдХреА рдПрдХ рд▓реЛрдб рдХреИрдкреЗрд╕рд┐рдЯреЗрдВрд╕ рдФрд░ 39 рдкреАрдПрдл рдХреЗ рджреЛ рдХреИрдкреЗрд╕рд┐рдЯрд░, рд▓реЗрдХрд┐рди рдСрдкрд░реЗрд╢рди рдХреЗ рдЗрд╕ рдореЛрдб рдХреЛ рдЖрдЧреЗ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмрд╛рд╣рд░реА рдШрдбрд╝реА рд╕реНрд░реЛрдд рд╣реИ, рддреЛ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ XTALIN рдкрд┐рди рд╕реЗ рд▓реА рдЧрдИ рд╣реИред
рд╕рд┐рд╕реНрдЯрдо рдСрд╕рд┐рд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рдПрдХ рдореМрд▓рд┐рдХ рдЖрд╡реГрддреНрддрд┐ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдкрд╣рд▓реЗ рдЗрд╕реЗ PLL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
тУ╖ PLL
рдЗрд▓реЗрдХреНрдЯреНрд░реЛрдореИрдХреЗрдирд┐рдХреНрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рдкреАрдПрд▓рдПрд▓ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрдирдкреБрдЯ рдШрдбрд╝реА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрдирдкреБрдЯ рдкрд░, рдкреАрдПрд▓рдПрд▓ рдПрдХ рдЖрдИрдЖрд░рд╕реА рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рд╕реЗ рдПрдХ рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореМрд▓рд┐рдХ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдкреАрдПрд▓рдПрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрдирд░рд▓реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЦрддрд░рдирд╛рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдПрдирдПрдХреНрд╕рдкреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдзрд░реНрдорд╛рдиреНрддрд░рд┐рдд рдФрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдмрд╕ рдЗрдирдкреБрдЯ рдСрд╕рд┐рд▓реЗрдЯрд░ рдЖрд╡реГрддреНрддрд┐ рдФрд░ рдЕрдВрддрд┐рдо рдЖрд╡реГрддреНрддрд┐ рдЬрд┐рд╕реЗ рдЖрдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛ред
рдкреАрдПрд▓рдПрд▓ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ 50 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдИрдЖрд░рд╕реА рдЖрд╡реГрддреНрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ
рджрд┐рд▓рдЪрд╕реНрдк рдиреЛрдЯ рд╣реИ , рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
тУ╕ рдкреНрд░рдгрд╛рд▓реА рдХреА рдЖрд╡реГрддреНрддрд┐
рдЖрдорддреМрд░ рдкрд░ рдХреЛрд░ (рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 0) рдореБрдЦреНрдп рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдореБрдЦреНрдп рдЖрд╡реГрддреНрддрд┐ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (255 рддрдХ рдХреЗ рдореВрд▓реНрдп рддрдХ), рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рд┐рд╕реНрдЯрдо рдЖрд╡реГрддреНрддрд┐ рд╣реЛрддреА рд╣реИред рдХреЛрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, SPI рдФрд░ UART рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА, рд░реИрдо рдФрд░ рд╕рднреА рдкреЗрд░рд┐рдлреЗрд░рд▓реНрд╕ рдЗрд╕ рдлреНрд░реАрдХреНрд╡реЗрдВрд╕реА рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрд╣рд╛рдВ рдЕрдзрд┐рдХрддрдо рдЖрд╡реГрддреНрддрд┐ 50 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реИред
тУ╣ SPI рдФрд░ UART рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдЗрди рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдорд░реНрдкрд┐рдд рдЖрд╡реГрддреНрддрд┐ рдбрд┐рд╡рд╛рдЗрдбрд░ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, UART рдореЗрдВ, рдпрд╣ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдмрд┐рдЯрд░реЗрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдХреБрдЫ рдЧреИрд░-рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореБрдЦреНрдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдЖрд╡реГрддреНрддрд┐ рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдорд┐рд▓рддреА рд╣реИред
рдмрд┐рдЯ рджрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдПрдХ рдХрдард┐рди рдХрд╛рдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореИрдВ рдЖрдкрдХреЛ рдирд┐рд░реНрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реВрдВ - "13.5.15 UART рдлреНрд░реИрдХреНрд╢рдирд▓ рдбрд┐рд╡рд╛рдЗрдбрд░ рд░рдЬрд┐рд╕реНрдЯрд░ (U0FDR - 0x4000 8028)"ред рдПрдХ рдЧрдгрдирд╛ рд╕реВрддреНрд░ рд╣реИ, рдФрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рднрд┐рдиреНрдирд╛рддреНрдордХ рддрд░реНрдХ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рджрд┐рдП рдЧрдП рдмрд┐рдЯрд░реЗрдЯ рдФрд░ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рд╣реИред
рдПрд╕рдкреАрдЖрдИ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрд╕ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдЖрд╡реГрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдХреА рдбрд┐рд╡рд╛рдЗрд╕ рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - рдПрдХреНрд╕рдЯреНрд░реВрдорд▓ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ рдПрдХ рднрд╛рдЬрдХред рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ - рдЬрдм рдкреНрд░реЛрд╕реЗрд╕рд░ рдорд╛рд╕реНрдЯрд░ рдореЛрдб рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдиреНрдпреВрдирддрдо рд╡рд┐рднрдХреНрдд 2 рд╣реЛрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, 48 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдкреНрд░рдгрд╛рд▓реА рдЖрд╡реГрддреНрддрд┐ рдкрд░, рдПрд╕рдкреАрдЖрдИ рдореЗрдВ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдЧрддрд┐ 24 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реЛрдЧреАред
UPD : рдЬреИрд╕рд╛ рдХрд┐
рд╡реЗрд▓рд░рд┐рдпрдХ рдиреЗ рдареАрдХ рд╕реЗ рдиреЛрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SPI рдХреЗ рд▓рд┐рдП, рд╡рд╛рд╣рдХ рдЖрд╡реГрддреНрддрд┐ рдХреА рдЧрдгрдирд╛ рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ:
PCLK / (CPSDVSR * (SCR + 1))
, рдЬрд╣рд╛рдВ PCLK рдкрд░рд┐рдзреАрдп рдЖрд╡реГрддреНрддрд┐ рд╣реИ; рд╕реАрдкреАрдПрд╕рдбреАрд╡реАрдПрд╕рдЖрд░ - "рдкреНрд░реА-рд╕реНрдкреНрд▓рд┐рдЯрд░"; SCR - рдкреНрд░рддрд┐ рдЖрдЙрдЯрдкреБрдЯ рдмрд┐рдЯ рдореЗрдВ рдкреНрд░реАрд▓реЛрдбрд░ рдЪрдХреНрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ред
Of рдЬреАрд╡рди рд░рдХреНрд╖рдХ рдкрд░ рдкрд╣рд░рд╛
рд╡реЙрдЪрдбреЙрдЧ, рдЗрд╕рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╕реЗ, рдПрдХ рдкреГрдердХ рдШрдЯрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдЧреНрд░рдгреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рд╕рд┐рд╕реНрдЯрдо, рдЖрдИрдЖрд░рд╕реА рдпрд╛ рдПрдХ рдЕрд▓рдЧ рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реА рддрд░рд╣, рд╡реЙрдЪрдбреЙрдЧ рдХрд╛ рдЕрдкрдирд╛ рд╕рдорд░реНрдкрд┐рдд рдбрд┐рд╡рд╛рдЗрдбрд░ рд╣реИред
рдкреНрд░рд╣рд░реА рдХреЛ рдПрдХ рдЕрд▓рдЧ рдШрдбрд╝реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдпрджрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЧрд▓рддреА рд╕реЗ рдореБрдЦреНрдп рдЬрдирд░реЗрдЯрд░ рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ! рдлрд┐рд░ рдЙрд╕реЗ рд╡реЙрдЪрдбреЙрдЧ рдЯрд╛рдЗрдорд░ рджреНрд╡рд╛рд░рд╛ рд░реАрд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓реЗрдЧрд╛ред
тУ╗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
рдЕрдВрдд рдореЗрдВ, рдкреНрд░реЛрд╕реЗрд╕рд░ CLKOUT рдкрд┐рди (GPIO 0.1 рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рдкрд░ рдПрдХ рдШрдбрд╝реА рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧреНрд░рдгреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЙрдкрд▓рдмреНрдз рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдСрд╕рд┐рд▓реЗрдЯрд░ (IRC, рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рд╡реЙрдЪрдбреЙрдЧ) рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА (PLL рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдпрд╣ рдЪрд╛рд▓реВ рд╣реИ) рд╕реЗред рдареАрдХ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреЗ рднрд╛рдЬрдХред
рдереЛрдбрд╝рд╛ рд╕рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд╣рдордиреЗ LPC1114 рдореЗрдВ рдШрдбрд╝реА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХреА, рд▓реЗрдХрд┐рди LPC1768 рдХрд╛ рдХреНрдпрд╛? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓рд╛рдЗрди рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрдкрдирд╛ рд╡рд┐рд╢реЗрд╖ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред LPC1768 рдореЗрдВ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ - IRC рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ 12 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдореБрдЦреНрдп рд╣реИ) (рдореБрдЦреНрдп) рдПрдХ рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рдХреЗ рд╕рдорд╛рди рд╣реИред рдШрд╛рд╕ рдХрд╛рдЯрдиреЗ рдХреА рдорд╢реАрди рдкрд░, рдПрдХ 12 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдШрдбрд╝реА (RTC) рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░рд┐рд╕реНрдЯрд▓ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЦреНрдп рдкреАрдПрд▓рдПрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реИ рдЬреЛ рдпреВрдПрд╕рдмреА рдХреА рдХрд╛рд░реНрдп рдЖрд╡реГрддреНрддрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдкрд░рд┐рдзреАрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рдорд╛рдпреЛрдЬреНрдп рдбрд┐рд╡рд╛рдЗрдбрд░ рд╣реЛрддреЗ рд╣реИрдВред
рдЖрд╡реГрддреНрддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдХрдИ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдЯрд╛рдЗрдорд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдкреБрди: рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд╣рд╛рдВ рд╡рд╛рд╣рдХ рдЖрд╡реГрддреНрддрд┐ (UART, USB) рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЕрдВрдд рдореЗрдВ, рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдЙрдкрд╛рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреА рд╣реИред LPC1114 рдореЗрдВ 3 рдШрдбрд╝реА рдЪрдХреНрд░реЛрдВ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИ (50 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рддрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдЖрд╡реГрддреНрддрд┐, FLASHCFG рд░рдЬрд┐рд╕реНрдЯрд░ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВ), рдЬреЛ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╣реИред рд▓реЗрдХрд┐рди LPC1768 рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди 4 рдЪрдХреНрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ 80 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рддрдХ рдХреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдЖрд╡реГрддреНрддрд┐ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдкрд░рд┐рдЪрд╛рд▓рди рдлрд╛рдпрджреЗрдордВрдж рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдПрдВрдмреЗрдбреЗрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рдЕрдкрдирд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рд╕реНрд▓реАрдк рдореЛрдб рдореЗрдВ рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдЬрд┐рддрдиреА рддреЗрдЬреА рд╕реЗ рд╡реЗрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЙрддрдиреА рд╣реА рдХрдо рдКрд░реНрдЬрд╛ рд╡реЗ рдЕрдВрдд рдореЗрдВ рдЦрд░реНрдЪ рдХрд░реЗрдВрдЧреЗред
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП!
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрд╡рд╢реНрдпрдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕рд╛рдорд╛рди рд╣реИ, рдФрд░ рд╣рдо рдЕрдкрдиреЗ рдЬреНрдЮрд╛рди рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ - рдПрд▓рдИрдбреА рдмреНрд▓рд┐рдВрдХ рдХреЛ рдирд┐рдпрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 1 рдмрд╛рд░ред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рджреЗрдЦрд╛ рдерд╛, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд░рдЬрд┐рд╕реНрдЯрд░ рдФрд░ рд░реАрдбрд┐рдВрдЧ рд░рдЬрд┐рд╕реНрдЯрд░ (рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░,
рд╕рднреА рдХрд╛рд░реНрдп рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред рдПрдЖрд░рдПрдо рдиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдмрдВрдзреЗ рд╣реБрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕реА рдХреЛрдб рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ CMSIS рдореМрдЬреВрдж рд╣реИ - рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред рд╡рд┐рдХреНрд░реЗрддрд╛ рдЖрдорддреМрд░ рдкрд░ рдкрд░рд┐рдзрд┐ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
CMSIS рдХреЗ рд╕рд╛рде рдореБрд╢реНрдХрд┐рд▓ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХрд╣рд╛рдВ рдЦреЛрдЬрдирд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдореВрд▓ рд╕реЗрдЯ
рдПрдЖрд░рдПрдо рд╕реЗ рд╕реАрдзреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдЦрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдордп 3.01 рд╡рд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдЖрд░рдПрдо рдбреАрдПрд╕рдкреА (рдЬреЛ рдЕрднреА рднреА рд╣рдорд╛рд░реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ) рдкрд░ рд╡рд┐рд╡рд┐рдз рдЬрдЯрд┐рд▓ рдЧрдгрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдмрджрддрд░ рд╣реИред NXP рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, LPC1114 рдХреЗ рд▓рд┐рдП CMSIS, CMSIS 1.30 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдФрд░ LPC1768 рдХреЗ рд▓рд┐рдП рдпрд╣ 2.10 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░рд┐рдзреАрдп рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕реЗрдЯ рдореЗрдВ рдХреЛрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рдФрд░ TI рдЪрд┐рдкреНрд╕ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ Google рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЦреЛрдЬрдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рд╕реЗ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛрдб рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП "рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ": рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдбреЗрдЯрд╛рд╢реАрдЯ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХрд╛ рдореБрдЦреНрдп рд╕рд╛рд╣рд┐рддреНрдп рд╣реИред рджреВрд╕рд░реЗ, рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╕реНрд╡рдпрдВ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдпрд╣ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдФрд░ рдЕрдХреНрд╕рд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рдВрджрд░реНрдн рд╕рд╛рдордЧреНрд░реА рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛, рдЕрдЧрд░ рдХреБрдЫ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ - рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореИрдиреБрдЕрд▓ рдзреВрдореНрд░рдкрд╛рди рдХрд░реЗрдВред
рд╕реНрд░реЛрдд рдХреЛрдб рдЕрдм рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдпрд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ, рдЕрдм рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЖрдЬ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
farcaller / arm-demos (рдирдП
рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!)ред
рд╕реНрд░реЛрдд рд╡реГрдХреНрд╖ рдЕрднреА рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдВрдШреА рдирд╣реАрдВ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдЖрджрд┐рдо
boot.s
рдФрд░
memmap.ld
рдЫреБрдЯрдХрд╛рд░рд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЕрдЧрд▓рд╛ рднрд╛рдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд┐рдВрдХрд░ рдХреЗ рдореБрджреНрджреЛрдВ (рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдФрд░ .data рдФрд░ .bss рдХреЗ рдЙрдЪрд┐рдд рдкреНрд░рд╛рд░рдВрдн рд╕рд╣рд┐рдд) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рд╣рдо рд╕рднреА рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдореБрджреНрджреЛрдВ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред рд╕рднреА рдХреЛрдб рдХреЛ рддреАрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
app/
"рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдХреА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ - рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛрдбред рдпрд╣
setup()
рдФрд░
loop()
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд░реНрдбрд┐рдиреЛ рд╢реИрд▓реА рдореЗрдВ рд╕реНрдЯрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо
platform/
рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ (
platform/common
рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬрд┐рдирдХреА рдлрд╛рдЗрд▓реЗрдВ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реЗ рдЬреБрдбрд╝реА рд╣реИрдВ) рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реЛрддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ,
cpu/
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП CMSIS рд╣реИрдВред
рдпрд╣ рдкреВрд░рд╛ рдХреЙрдореНрдмрд┐рдиреЗрд╢рди рдереЛрдбрд╝рд╛ рдлрдиреА рд░рд╛реЕрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╢рд╛рдпрдж, рдХрд┐рд╕реА рдХреЛ рдореЗрдХ рдХреЗ рд╕рд╛рде рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдмрдбрд╝реЗ рдХрд░реАрдиреЗ рд╕реЗ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХрд░рдг 1.9 рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдиреЗ рд░рдЧрдбрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдШрдбрд╝реА рдХрд╛рдо
рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдореБрдЭреЗ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реИ, рд╣рдореЗрдВ рдПрдХ рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдмрд╛рд░ рдПрд▓рдИрдбреА рдХреЛ рдмреНрд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рд╣рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯрд╛рдЗрдорд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, LPC- рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрдИ рдЯрд╛рдЗрдорд░ рд╣реИрдВ, рд╣рдо рд╕рдмрд╕реЗ рдПрдХреАрдХреГрдд - SysTick рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдЯрд╛рдЗрдорд░ рдХреЛ рд╕реАрдзреЗ CMSIS рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЗрд╕ рдмрд╛рдд рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рд╣реЛрдЧрд╛ред рдУрдПрд╕ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рд╕рдордп рдХреНрд╡рд╛рдВрдЯрд╛ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╕рд░рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред
SysTick рдПрдХ рд╕рд░рд▓ рдЯрд╛рдЗрдорд░ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдореВрд▓реНрдп рд╕реЗ рд╢реВрдиреНрдп рддрдХ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдмрд┐рдЯ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд░реБрдХрд╛рд╡рдЯ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реЗ рдЧрд┐рдирддреА рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
platform/common/systick.c
:
void platform_systick_setup(unsigned int load) { SysTick->CTRL = 0x04; SysTick->LOAD = load < 0xffffff ? load : 0xffffff; SysTick->VAL = 0; SysTick->CTRL = 0x05; }
рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпреЗ рдЕрджреНрднреБрдд рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╕реАрдПрдордПрд╕рдЖрдИрдПрд╕ рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЖрдкрдХреЛ рдЕрдм рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реИрдВ, рдФрд░ рдЦреЗрддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдорд╣рд╕реВрд╕ рдХреА рдЬрд╛рддреА рд╣реИред
рдЯрд╛рдЗрдорд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрдВрдЯреНрд░реЛрд▓ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ 4 рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдЯрд╛рдЗрдорд░ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЕрдЧрд░ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЕрд╡рд░реЛрдз рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SysTick рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ (рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ 12 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реИ)ред рдЕрдЧрд▓рд╛, рд╣рдо SYST_RVR рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рд╕рдВрджрд░реНрдн рдмрд┐рдВрджреБ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХрддрдо 16777215 рддрдХ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЯрд╛рдЗрдорд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдм рд╣рдо рдХреИрд╕реЗ рдПрдХ рд╕реЗрдХрдВрдб рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
void platform_systick_wait() { volatile int i; i = SysTick->CTRL; while((i & 0x00010000) == 0) { i = SysTick->CTRL; } }
рд╣рдо SYST_CSR рд░рдЬрд┐рд╕реНрдЯрд░ рд╕реЗ COUNTFLAG рдХрд╛ рдореВрд▓реНрдп рдкрдврд╝рддреЗ рд╣реИрдВред COUNTFLAG рдПрдХ рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХрд╛рдЙрдВрдЯрд░ рдПрдХ рдирдП рд╕рд░реНрдХрд▓ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрдврд╝рддреЗ рд╕рдордп рд╢реВрдиреНрдп рдкрд░ рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм рддрдХ рдХрд╛рдЙрдВрдЯрд░ рдУрд╡рд░рдлреНрд▓реЛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣рдо рдПрдХ рдЪрдХреНрд░ рдореЗрдВ рд░рд╣реЗрдВрдЧреЗред
рдЖрдЗрдП рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
app/systick-blink.c
:
#include "platform.h" void setup() { platform_led_setup(); #if PLATFORM == MBED platform_systick_setup(4000000); #elif PLATFORM == PROTOBOARD platform_systick_setup(12000000); #else #error Unknown platform #endif } void loop() { platform_led_toggle(1); platform_systick_wait(); platform_led_toggle(0); platform_systick_wait(); }
рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╣рдо рдПрд▓рдИрдбреА рдФрд░ рдЯрд╛рдЗрдорд░ рдХреЗ "рдбреНрд░рд╛рдЗрд╡рд░" рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЪрдХреНрд░ рдореЗрдВ рд╣рдо рджреЗрд░реА рдХреЗ рд╕рд╛рде рдПрд▓рдИрдбреА рдХреЛ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВред рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдПрдХ рдЕрд▓рдЧ рд╢реБрд░реБрдЖрддреА рдЯрд╛рдЗрдорд░ рдореВрд▓реНрдп (рдЖрдИрдЖрд░рдмреА рдСрди рдореЗрдмреЗрдб рдФрд░ рдкреНрд░реЛрдЯреЛрдмрд╛рд░реНрдб рдХрд╛рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдкрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрд▓рдИрдбреА рдХрд╛ рдХреЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
platform/protoboard/led.c
:
#include "LPC11xx.h" #define LED_PIN (1<<9) void platform_led_setup() { LPC_GPIO1->DIR |= LED_PIN; } void platform_led_toggle(int on) { LPC_GPIO1->MASKED_ACCESS[LED_PIN] = on ? LED_PIN : 0; }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, CMSIS рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрдардиреАрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред рдХреЗрд╡рд▓ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп GPIO рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдмрдЬрд╛рдп, рдЕрдм рд╣рдо рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рд╕реНрдХ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдорд╛рд╕реНрдХ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП GPIO рдмрд┐рдЯреНрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЖрдк рдмрд╕ рдпрд╣ рд╕реЛрдЪрдХрд░ рдмрд┐рдирд╛ рд╡рд╛рдВрдЫрд┐рдд рдореВрд▓реНрдп рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдкрдбрд╝реЛрд╕реА рдкрд┐рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕ (рдФрд░ рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ) рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: "12.4.1 рдбреЗрдЯрд╛ рдСрдкрд░реЗрд╢рди рд▓рд┐рдЦреЗрдВ / рдкрдврд╝реЗрдВ"ред
рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ mbed рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИред
platform/mbed/led.c
:
#include "LPC17xx.h" #define LED_PIN (1<<18) #define LED_PIN_IN_B2 (1<<2) void platform_led_setup() { LPC_GPIO1->FIODIR |= LED_PIN; } void platform_led_toggle(int on) { LPC_GPIO1->FIOMASK2 |= ~LED_PIN_IN_B2; if (on) { LPC_GPIO1->FIOSET2 = LED_PIN_IN_B2; } else { LPC_GPIO1->FIOCLR2 = LED_PIN_IN_B2; } }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИред LPC1768 рдореЗрдВ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдкрддреЗ рдореЗрдВ рд╕реАрдзреЗ рдорд╛рд╕реНрдХ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рддрдХ рдмрд╛рдЗрдЯ-рдмрд╛рдп-рдмрд┐рдЯ рдПрдХреНрд╕реЗрд╕ рд╣реИ, рдЬреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдХреБрд╢рд▓ рдЕрд╕реЗрдВрдмрд▓рд░ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
рдЖрдк
rake build_protoboard
рдпрд╛
rake build_mbed
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
rake build_protoboard
рдкреНрд░реЛрдЬреЗрдХреНрдЯ
rake build_protoboard
рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рддреБрд░рдВрдд рдлреНрд▓реИрд╢ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
rake upload_protoboard TTY=/dev/ftdi/tty/device
рдпрд╛
rake upload_mbed MOUNT=/Volumes/MBED
ред рдЕрдм рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдПрд▓рдЗрдбреА рдкрд▓рдХ рдЭрдкрдХрддреЗ рд╣реИрдВред
рдЪрд▓реЛ рдПрдХ рдЖрд╡реГрддреНрддрд┐ рдЦреЗрд▓рддреЗ рд╣реИрдВ?
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ - рдПрд▓рдИрдбреА рд╕рд╣реА рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЭрдкрдХреА рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдХреБрдЫ рдФрд░ рд░рд╣рддрд╛ рд╣реИред LPC1114 рдХреА рдЕрдзрд┐рдХрддрдо рдХрд╛рд░реНрдп рдЖрд╡реГрддреНрддрд┐ 50 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реИ, рдФрд░ LPC1768 рдореЗрдВ рдФрд░ рднреА рдЕрдзрд┐рдХ - 100 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реИ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдПрдХ рддрд┐рд╣рд╛рдИ рдмрд▓ рджреЗрддреЗ рд╣реИрдВ!
рдпрд╣ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдЙрдЪрд┐рдд рдЖрд░рдВрднреАрдХрд░рдг рдХрд╛ рд╕рдордп рд╣реИред
platform/protoboard/init.c
:
#define CLOCK_MODE_IRC 0
LPC1114 рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рддреАрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: IRC рд╕реЗ рдорд╛рдирдХ 12 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ, IRC рд╕реЗ 48 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ PLL рд╕реЗ рд╣реЛрдХрд░ рдЧреБрдЬрд░реЗ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдСрд╕рд┐рд▓реЗрдЯрд░ рд╕реЗ 48 MHz PLL рд╕реЗ рд╣реЛрдХрд░ рдЧреБрдЬрд░реЗред рдмрд╛рдж рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рддрд░реАрдХрд╛ рд╣реИред
void platform_init() {
рдпрджрд┐ рд╣рдо рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд╛ рдХреА рдереА, рдЕрдЧрд░ рдерд▓рдЪрд░ рдЗрдирдкреБрдЯ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрдиреНрди рдШрдбрд╝реА рд╕рдВрдХреЗрдд рдореМрдЬреВрдж рд╣реИ рддреЛ рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж, рдереЛрдбрд╝реА рджреЗрд░реА рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд▓рд╛, рд╣рдо рдкреАрдПрд▓рдПрд▓ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ (рдЖрдИрдЖрд░рд╕реА рдХреЗ рдмрдЬрд╛рдп) рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрдВрддреНрд░ рд╣реИ: 0 рд▓рд┐рдЦреЗрдВ, 1 рд▓рд┐рдЦреЗрдВ, рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ - рд░рдЬрд┐рд╕реНрдЯрд░ 1 рд▓реМрдЯрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред
рджреВрд╕рд░рд╛ рднрд╛рдЧ PLL рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рд╕реНрддрд░ рдкрд░ IRC рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдСрд╕рд┐рд▓реЗрдЯрд░ рд╕реЗ рдЗрдирдкреБрдЯ рдкрд░ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╣рдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдкреАрдПрд▓рдПрд▓ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЕрд╡рд░реБрджреНрдз рди рд╣реЛ рдЬрд╛рдПред рдЖрдИрдЖрд░рд╕реА рд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рдж рдореБрдЦреНрдп рдЖрд╡реГрддреНрддрд┐, рд╣рдо рдЗрд╕реЗ рдкреАрдПрд▓рдПрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди "рд╡реНрдпрд╡рд╕реНрдерд┐рдд" рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред
SysTick рдХреЗ рд▓рд┐рдП 48 MHz рдкрд░ рд╣рдореЗрдВ 48000000 рдЪрдХреНрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕рдХреЗ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рдЯрд╛рдЗрдорд░ рдЪрдХреНрд░реЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ
platform_systick_wait_loop
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛
platform_systick_wait_loop
(рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк 32-рдмрд┐рдЯ CT32B0 рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред
LPC1768 рдХреЛрдб, рдлрд┐рд░ рд╕реЗ, рдЖрдорддреМрд░ рдкрд░ рд╕рдорд╛рди рд╣реИред рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдкреАрдПрд▓рдПрд▓ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдЗрдирдкреБрдЯ рдкрд░ рдХрдо рд╕реЗ рдХрдо 275 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - 100 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдо рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЙрдкрд╛рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕реЗ рдХрдо рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
platform/mbed/init.c
:
рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреЛрдб
рдХреЗрд╡рд▓ LPC1768 рдХреЗ рд▓рд┐рдП mbed рдкрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдЖрд╡реГрддреНрддрд┐ рд╕реЗ рдмрдВрдзрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк LPC1768 "рд╕реАрдзреЗ" рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдмреВрдЯрд▓реЛрдбрд░ IRC рдХреЗ рд╕рд╛рде PLL
рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдореЗрдВ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣рдирд╛
рдореИрдВ рдЖрдЬ рднреА CLKOUT рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рд╣рдо рдПрдХ рд▓реЙрдЬрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдпрд╛ рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рдХреЗ рд╕рд╛рде рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдХреЛ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓реЗрдЦ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛ред CLKOUT, 32-рдмрд┐рдЯ рдЯрд╛рдЗрдорд░, рдЗрдВрдЯрд░рдкреНрдЯ, рдФрд░ рд╕реНрд▓реАрдк рдореЛрдб - рдпрд╣ рд╕рдм рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рд╕реНрдЯреЗрд▓рд╛рд░рд┐рд╕ рд▓реЙрдиреНрдЪрдкреИрдб рдХреЗ рд╕рд╛рде рдПрдХ рдмреЙрдХреНрд╕ рдорд┐рд▓рд╛, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреВрдВрдЧрд╛ рдХрд┐ рдХрд╣рд╛рдиреА рдХреЛ рдмрд┐рдирд╛ рдЙрдбрд╝рд╛рдП рдПрдХ рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред
рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, LPC1114 рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрди рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдкрд╣рд▓реЗ рдЗрд╕ рдкрд░ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рдПрдВрдЧреЗредрдореИрдВ "рдмрд╣реБ-рдкреБрд╕реНрддрдХ" рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБ, рдлрд┐рд░ рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрдердХ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛редрдкреАрдПрд╕ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЗрд▓реЗрдХреНрдЯреНрд░реЛрдореИрдХреЗрдирд┐рдХреНрд╕ рдкрд░ рдкрд╛рда рдФрд░ рдЕрдореВрд▓реНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдлреИрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж ред рдФрд░ PLL :-) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рдпрд╣ рдХрд╛рдо рдХреНрд░рд┐рдПрдЯрд┐рд╡ рдХреЙрдордиреНрд╕ рдПрдЯреНрд░рд┐рдмреНрдпреВрд╢рди-рдиреЙрди-рдХреЙрдорд░реНрд╢рд┐рдпрд▓-рдиреЛрдПрд░реНрдбреАрд╡реНрд╕ 3.0 рдЕрдирдкреЛрд░реНрдЯреЗрдб рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ ред рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЯреЗрдХреНрд╕реНрдЯ рдпреВрдиреАрд▓реЗрдВрд╕ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЙрдкрд▓рдмреНрдз рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рд╣реЗрдбрд░ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдпрд╣ рдХрд╛рд░реНрдп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд▓реЗрдЦрдХ рдХреЗ рд╡рд░реНрддрдорд╛рди рдпрд╛ рдкрд┐рдЫрд▓реЗ рдирд┐рдпреЛрдХреНрддрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрджреНрдз рдирд╣реАрдВ рд╣реИред