рд╕реНрдЯреЗрд▓рд╛рд░рд┐рд╕ LM4F120 рдмреЛрд░реНрдб рдореЗрд░реА рдореЗрдЬ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкрдбрд╝рд╛ рдерд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╣рдо рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рдмреЛрд░реНрдб рдкрд░ рд▓рдЧреЗ рдмрдЯрди рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдмреЛрд░реНрдб рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдПрд▓ рдИ рдбреА рдХреЛ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╕рдЦреНрдд рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд▓реЗрдЦ рдЗрд╕ рдкрд░ рдЕрдкрдиреА рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рд╕рд╣реА рд╢рдмреНрдж рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╕рд╣реА рдХрд░реЗрдВред
рдЯреНрд░реЗрдирд┐рдВрдЧ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
- рд╕рдВрдХрд▓рдХ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг
- рдПрд╕рдбреАрдХреЗ (рд╕реНрдЯреЗрд▓рд╛рд░рд┐рд╕рд╡реЗрдпрд░)
- рдбреАрдмрдЧ рдореЙрдбреНрдпреВрд▓ рдбреНрд░рд╛рдЗрд╡рд░
- рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо
- рдкреНрд░рд▓реЗрдЦрди
рд╕рдВрдХрд▓рдХ рдФрд░ рдЖрдИрдбреАрдИ рдХреЗ рд╕рд╛рде, рдЯреЗрдХреНрд╕рд╛рд╕ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреНрд╕ рдПрдХ
рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧреНрд░рд╣рдг-рдЖрдзрд╛рд░рд┐рдд рдХреЛрдб рдХрдореНрдкреЛрдЬрд╝рд░ рд╕реНрдЯреВрдбрд┐рдпреЛ (рдпрд╛ рддреЛ рдЕрд▓рдЧ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ), рдЖрдИрдПрдЖрд░ рдПрдВрдмреЗрдбреЗрдб рд╡рд░реНрдХрдмреЗрдиреНрдЪ, рдХреЗрдЗрд▓ рдФрд░ рдореЗрдВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕реЙрд░реЗрд░реА рдХреЛрдбрдмреЗрдВрдЪ:
рд╕реАрд╕реАрдПрд╕ рдХрд╛ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк EK-LM4F120XL-CCS рдХреЗ рднрд╛рдЧ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдкреА "рд╕реАрдбреА" рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдВрдЧреНрд░рд╣ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреБрдЫ рдкреБрд░рд╛рдиреА рд╣реИ рдФрд░ рдЕрджреНрдпрддрди рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рд╕рдм рдХреБрдЫ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдХреЛрдб рдХрдореНрдкреЛрдЬрд╝рд░ рд╕реНрдЯреВрдбрд┐рдпреЛ , рд╕реНрдЯреЗрд▓рд╛рд░рд┐рд╕рд╡реЗрдпрд░, SW-EK-LM4F120XL рдХреЗ рднрд╛рдЧ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдкреАрдЫреЗ
рдпрд╣рд╛рдВ рдЫрд┐рдкрд╛
рд╣реИ ,
рд╕реНрдЯреЗрд▓рд╛рд░рд┐рд╕ ICDI рдбреНрд░рд╛рдЗрд╡рд░ ,
LMFlash рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ ,
рдЗрд╡реИрд▓реНрдпреВрдПрд╢рди рдмреЛрд░реНрдб рдпреВрдЬрд░ рдореИрдиреБрдЕрд▓ ,
рдбреЗрдЯрд╢реАрдЯ ред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ StellarisWare рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рде рдбреЙрдХреНрд╕ рдХреЛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣рд╛рдВ, рдореБрдЦреНрдп рд░реБрдЪрд┐ рдлрд╝рд╛рдЗрд▓ SW-DRL-UG-9453.pdf рд╣реИ (рд╕рдВрдЦреНрдпрд╛ SW рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ) - рдПрд╕рдбреАрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдкреНрд░рд▓реЗрдЦрди (рдпрджрд┐ рдЖрдк SW-EK-LM420120XL-UG-9453.pdf рдХреЛ рджреЗрдЦреЗрдВ, рддреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдПрд▓рдИрдб рдФрд░ рдмрдЯрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдлрд╝рдВрдХреНрд╢рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреЗрдбреА рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ: рдХреНрдпрд╛ рд╣рдо рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?
рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЯреАрдЖрдИ рдиреЗ рдХреБрдЫ
рдирд╛рдо рдмрджрд▓рд╛ , рдФрд░ рдмреЛрд░реНрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ LM4F120H5QR рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдХреНрд░рдорд╢рдГ TM4C1233H6PM рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛, рдЗрд╕ рд╕рдордп, рджреВрд╕рд░реЗ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реВрдЪрдирд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдк рдЯреЗрдХреНрд╕рд╛рд╕ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреНрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдмреЛрд░реНрдб рдФрд░
рдореБрджреНрд░рд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд╡реАрдбрд┐рдпреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдмреЛрд░реНрдб рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
рдпреВрдПрд╕рдмреА рдХреЗрдмрд▓ рдХреЛ рдбреАрдмрдЧрд░ рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкрд╛рд╡рд░ рд╕реНрд╡рд┐рдЪ (рдпреВрдПрд╕рдмреА рдкреЛрд░реНрдЯ рдХреЗ рдмрдЧрд▓ рдореЗрдВ) "рдбреАрдмрдЧ" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЧреНрд░реАрди рдкрд╛рд╡рд░ рдПрд▓рдИрдбреА рдХреЛ рдЫреЛрдбрд╝рдХрд░, "рд░реАрд╕реЗрдЯ" рдмрдЯрди рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрд▓рдИрдбреА рдХреЛ рд╣рд▓реНрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдлреНрд▓реИрд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд╝реИрдХреНрдЯрд░реА рдлрд░реНрдорд╡реЗрдпрд░ рд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ рдлреНрд▓реИрд╢ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдерд╛)ред
рд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдиреЛрдЯред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЬреЛ ICDI рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ: Win + I тЖТ рдкрд╛рд╡рд░ рджрдмрд╛рдПрдВ, Shift рджрдмрд╛рдПрдВ рдФрд░ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдорд░рдореНрдордд рд╡рд┐рдХрд▓реНрдк рд╡рд╛рд▓рд╛ рдПрдХ рдореЗрдиреВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг тЖТ рдЙрдиреНрдирдд рд╡рд┐рдХрд▓реНрдк тЖТ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ тЖТ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдореЗрдиреВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ "рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╡рд░реНрддрди рдЕрдХреНрд╖рдо рдХрд░реЗрдВ" рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдмрд╣реБрдд рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд рдХреА рд╣рд░ рдЪреАрдЬрд╝ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдпрд╣ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред CCS рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБ: рдлрд╝рд╛рдЗрд▓ тЖТ рдирдпрд╛ тЖТ CCS рдкреНрд░реЛрдЬреЗрдХреНрдЯред рд╣рдо рдЗрд╕реЗ рдЪрд┐рддреНрд░ рдХреЗ рд╕рдорд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ:
рд╣рдореЗрдВ рд╡рд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╛рд░ рджреЛ рдлрд╛рдЗрд▓реЗрдВ
lm4f120h5qr_startup_ccs.c
: рдЦрд╛рд▓реА
main.c
рдФрд░
lm4f120h5qr_startup_ccs.c
ред рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрдЯрд░рдкреНрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдкреНрдЯ рдЯреЗрдмрд▓ рдФрд░ рд╕реНрдЯрдм рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИред
рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рддреБрд░рдВрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдореЗрдиреВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЬрд╛рдПрдВ тЖТ рдЧреБрдг, рдлрд┐рд░:
рдмреЗрд╢рдХ, рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдЦреБрдж рд╕реЗ рдмрджрд▓реЗрдВред
#include
рдХреЛ
main.c
рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рд╣реИ:
#include <inc/hw_types.h> #include <inc/hw_gpio.h> #include <inc/hw_memmap.h> #include <driverlib/sysctl.h> #include <driverlib/gpio.h> int main(void) { return 0; }
рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕реБрдзрд╛рд░реЗрдВ, рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡реГрддреНрддрд┐
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЙрд╕ рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░рд╛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЕрдзрд┐рдХрддрдо рдЖрд╡реГрддреНрддрд┐ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ 80 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕рдВрднрд╡ рд╣реИред рдбреЗрдЯрд╛ рд╢реАрдЯ рдХреА рдзрд╛рд░рд╛ 5.2.5 рд╣рдореЗрдВ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдХреИрд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЪрд┐рддреНрд░ 5-5 рдореЗрдВ рдбрд░рд╛рд╡рдирд╛ рд╣реИ:
рдлрд┐рд▓рд╣рд╛рд▓, рд╣рдо "рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓реЙрдХ" рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рд╢реАрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдШрдбрд╝реА рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдЖрдВрддрд░рд┐рдХ рдУрдПрд╕рд╕реА 16 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ
- рдореБрдЦреНрдп OSC (рдЗрд╕ рдмреЛрд░реНрдб рдкрд░ Y1 рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рдЖрд╡реГрддреНрддрд┐ 16 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╣реИ)
- рдЖрдВрддрд░рд┐рдХ OSC 30 kHz
- рд╣рд╛рдЗрдмрд░рдиреЗрд╢рди OSC (32.768 kHz) - Y2 рдмреЛрд░реНрдб рдкрд░
- рдкреАрдПрд▓рдПрд▓
- 4 рд╡рд┐рднрдХреНрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдЖрдВрддрд░рд┐рдХ OSC
рдЗрди рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд╕реЗ, рджреЛ рдмрд╛рд╣рд░реА рд╣реИрдВ, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (рдореБрдЦреНрдп рдУрдПрд╕рд╕реА рдФрд░ рд╣рд╛рдЗрдмрд░рдиреЗрд╢рди рдУрдПрд╕рд╕реА) рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдмрд╛рдХреА рдЗрд╕рдХреЗ рдЕрдВрджрд░ рд╣реИрдВред
рдЖрд░реЗрдЦ рдореЗрдВ SYSDIV рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреЛ 1x - 64x рдЖрд╡реГрддреНрддрд┐ рдореЗрдВ рдХрдореА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ PLL рдХреЛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ DIV400 рдмрд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдЕрддрд┐рд░рд┐рдХреНрдд 2-рдмрд┐рдЯ рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рд╡рд┐рднрдХреНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо)ред PLL рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдорд╛рд╕реНрдЯрд░ рдкрд▓реНрд╕ рдЬрдирд░реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреА рдЖрд╡реГрддреНрддрд┐ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред PLL рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХрддрдо рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд╛рдЧрд▓ рдЖрд╡реГрддреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред рдкреАрдПрд▓рдПрд▓ рдХреНрд▓реЙрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдмрд╛рд╣рд░реА рдХреНрд░рд┐рд╕реНрдЯрд▓ рдФрд░ рдЖрдВрддрд░рд┐рдХ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
StellarisWare
SysCtlClockSet
рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдШрдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдПрдХ рд╣реА рдЭрдЯрдХреЗ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╣ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ рдЭрдВрдбреЗ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ:
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо PLL (
SYSCTL_USE_PLL
) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдХреБрдЫ рдФрд░ (
SYSCTL_USE_OSC
) - рдЖрд░реЗрдЦ рдкрд░ BYPASS рдзреНрд╡рдЬред
рдпрджрд┐ рд╣рдо PLL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдорд╛рд╕реНрдЯрд░ рдСрд╕рд┐рд▓реЗрдЯрд░ рдХреМрди рд╣реЛрдЧрд╛: рдореБрдЦреНрдп OSC (
SYSCTL_OSC_MAIN
) рдпрд╛ рдкреНрд░реЗрд╕рд┐рдЬрди рдЖрдВрддрд░рд┐рдХ OSC (
SYSCTL_OSC_INT
)ред рдпрджрд┐ рд╣рдо рдореБрдЦреНрдп OSC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡реГрддреНрддрд┐ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ,
SYSCTL_XTAL_16MHZ
) рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрджрд┐ рд╣рдо PLL рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
- рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдЖрдВрддрд░рд┐рдХ OSC -
SYSCTL_OSC_INT
- 4 -
SYSCTL_OSC_INT4
рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдЖрдВрддрд░рд┐рдХ OSC - рдореБрдЦреНрдп OSC -
SYSCTL_OSC_MAIN
- рдЖрдВрддрд░рд┐рдХ OSC -
SYSCTL_OSC_INT30
- рд╣рд╛рдЗрдмрд░рдиреЗрд╢рди OSC -
SYSCTL_OSC_EXT32
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рд╡рд┐рднрдХреНрдд рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
SYSCTL_SYSDIV_1
рд▓рд┐рдП
SYSCTL_SYSDIV_64
рд╕реЗ
SYSCTL_SYSDIV_1
рддрдХ
SYSCTL_SYSDIV_64
ред рдпрджрд┐ рдЖрдк PLL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ macros
SYSCTL_SYSDIV_2_5
(/ 2.5) -
SYSCTL_SYSDIV_63_5
(/63.5) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ,
SysCtlClockSet
рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
SysCtlClockSet
PLL рдЖрд╡реГрддреНрддрд┐ рдХреЛ 200 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред 80 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, 2.5 рдХрд╛ рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░,
SysCtlClockSet
рдХреЙрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИ:
рдпрд╛ рддреЛ:
рдпрд╛ рдЖрдкрдХреЛ рдЬреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗред
рдкрд▓рдХ рдЭрдкрдХрддреЗ рдПрд▓рдИрдбреА
рдпрд╣ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдПрд▓ рдИ рдбреА рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░реНрдХрд┐рдЯ рд╣реИ:
рдпрд╛рдиреА рдПрд▓ рдИ рдбреА 1-3 рдЬреАрдкреАрдЖрдИрдУ рдкреЛрд░реНрдЯ рдПрдл рдХреЗ рдкреИрд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ (рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрд╡рд░реЛрдзрдХ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдФрд░ рдЙрддреНрд╕рд░реНрдЬрдХ рдХреЗ рдмреАрдЪ рдХреНрдпреЛрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдмрддрд╛рдПрдВ, рдФрд░ рдпрд╣ рд╕рдВрдХреЗрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?)ред GPIO рдкреЛрд░реНрдЯ рдореЗрдВ рдЖрда рдкреИрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЗрдирдкреБрдЯ рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдЦрди рдФрд░ рдкрдврд╝рдирд╛ рдПрдХ рд╕рд╛рде рд╕рднреА рдкреИрд░реЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦрдХрд░ рдпрд╛ рдореЗрдореЛрд░реА рдореЗрдВ рдореИрдк рдХрд┐рдП рдЧрдП
GPIODATA
рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ
GPIODATA
(рдХреНрд░рдорд╢рдГ, рд╣рдо рдПрдХ-рдПрдХ рдмрд╛рдЗрдЯ - рд╕рднреА рдкреИрд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдврд╝рддреЗ / рд▓рд┐рдЦрддреЗ рд╣реИрдВ)ред рдкреЛрд░реНрдЯ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ: рдПрдбрд╡рд╛рдВрд╕реНрдб рдкреЗрд░реАрдлреЗрд░рд▓ рдмрд╕ (APB) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдПрдбрд╡рд╛рдВрд╕реНрдб рд╣рд╛рдИ-рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдмрд╕ (ABB) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ "рдкреБрд░рд╛рдирд╛" рдФрд░ рдзреАрдорд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдЖрдзреБрдирд┐рдХ рдФрд░ рддреЗрдЬрд╝ рд╣реИред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЙрдирдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ (рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЖрдзрд╛рд░ рдкрддреЗ рдЕрд▓рдЧ рд╣реИрдВ), рдореИрдВрдиреЗ рдПрдкреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдкреЛрд░реНрдЯ рдПрдл рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдкрддрд╛ 0x40025000 рд╣реИред
рддреЛ, рдПрд▓рдИрдбреА рдХреЛ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрд░ рдкрд░ рдПрдХ рдЙрдЪреНрдЪ рд╡реЛрд▓реНрдЯреЗрдЬ рд╕реНрддрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛рдиреА рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдЯ рдкрд░ 1 рд▓рд┐рдЦреЗрдВред рдЖрдорддреМрд░ рдкрд░, рдПрдХ рдмрд┐рдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╡рд╛рдВрдЫрд┐рдд рдмрд┐рдЯреНрд╕ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдорд╛рди рдХреЛ рд╡рд╛рдкрд╕ рд▓рд┐рдЦреЗрдВред рдореЗрдореЛрд░реА рд╕рдВрдЪрд╛рд▓рди рдзреАрдорд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдХ рд░рд┐рдХреЙрд░реНрдб (рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрдврд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛) рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ: рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ рдПрдХ рдкрддреЗ рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЖрдзрд╛рд░ рдкрддреЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ 1024 рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрддреЗ рдХреЗ 2-9 рдмрд┐рдЯреНрд╕ рдореЗрдВ рдмрд┐рдЯреНрд╕ рдХрд╛ рдПрдХ рдореБрдЦреМрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╛рдиреА рдЕрдЧрд░ рд╣рдо 1 рд╕реЗ рдмрд┐рдЯ рдирдВрдмрд░ 1 рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдорд╛рд╕реНрдХ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: 0x02, рдЗрд╕реЗ 2 рдмрд┐рдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрд╛рдИрдВ рдУрд░ рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореА рдорд╛рди рдХреЛ рдЖрдзрд╛рд░ рдкрддреЗ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ - рд╣рдореЗрдВ рд╡рд╣ рдкрддрд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкреЛрд░реНрдЯ рд╕реНрдерд┐рддрд┐ (0x02 рдпрд╛ 0xFF) рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдпрд╣ рдЕрднреА рднреА рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдмрд┐рдЯ)ред
рд╡рд╛рдВрдЫрд┐рдд рдмрд┐рдЯреНрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
void pinWrite(unsigned int base, unsigned char pins, unsigned char value) { *((unsigned char *)base + ((unsigned int)pins << 2)) = value; }
StellarisWare рдПрдХ рд╣реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде
GPIOPinWrite
рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ
GPIOPinWrite
рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЧрд╛рдпрдм рд╣реИ: рдЖрдкрдХреЛ рдкреЛрд░реНрдЯ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдФрд░ рдкреИрд░реЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрд▓рдИрдб рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдЬреЛ рд▓реЛрдЧ рдПрд╕рдбреАрдХреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдбреЗрдЯрд╛ рд╢реАрдЯ рдХреА рдзрд╛рд░рд╛ 10.3 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред StellarisWare рдХреЗ рд╕рд╛рде, рдпрд╣
SysCtlPeripheralEnable
рдФрд░
GPIOPinTypeGPIOInput
/
GPIOPinTypeGPIOOutput
рдХрд╣рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
#include <inc/hw_types.h> #include <inc/hw_gpio.h> #include <inc/hw_memmap.h> #include <driverlib/sysctl.h> #include <driverlib/gpio.h> const unsigned int LED_RED = 0x02; const unsigned int LED_GREEN = 0x08; const unsigned int LED_BLUE = 0x04; const unsigned int LEDS_ALL = 0x02 | 0x08 | 0x04; int main(void) { SysCtlClockSet(SYSCTL_USE_PLL | SYSCTL_SYSDIV_2_5 | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN); SysCtlPeripheralEnable(SYSCTL_PERIPH2_GPIOF); SysCtlDelay(2); GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, LEDS_ALL); const unsigned long int delay = 80000000 / 3 / 2; // 80 , 3 , 1/2 while (1) { GPIOPinWrite(GPIO_PORTF_BASE, LEDS_ALL, LEDS_ALL); SysCtlDelay(delay); GPIOPinWrite(GPIO_PORTF_BASE, LEDS_ALL, 0); SysCtlDelay(delay); } return 0; }
SysCtlDelay
рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЦрд╛рд▓реА рд▓реВрдк рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд▓рдВрдмрд╛рдИ рдХреА рджреЗрд░реА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ 3 рдШрдбрд╝реА рдЪрдХреНрд░ рддрдХ рд░рд╣рддрд╛ рд╣реИред рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ, рднрд╛рдЧреЛ (рд╕реАрд╕реАрдПрд╕ рдореЗрдВ рдПрдл 11, рдлрд┐рд░ рдЖрдкрдХреЛ рдПрдл 8 рдХреЛ рджрдмрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рд░рд╛рдо рдмрд┐рдВрджреБ рд╣реИ)ред рдмреЛрд░реНрдб рдкрд░ рдПрд▓рдИрдбреА рдХреЛ рдПрдХ рд╕реЗрдХрдВрдб рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рд╕рдлреЗрдж рдЭрдкрдХреА рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐
LEDS_ALL
рдмрдЬрд╛рдп
LEDS_ALL
рдкрд╣рд▓реА рдХреЙрд▓ рдХрд╛ рддреАрд╕рд░рд╛ рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
LED_GREEN
, рддреЛ рдпрд╣ рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ рдЭрдкрдХреА рджреЗрдЧрд╛ред
рдмрдЯрди!
рджреЛ рдмрдЯрди рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ GPIO рдкреЛрд░реНрдЯ F рдХреЗ рдкреИрд░ 0 рдФрд░ 4 рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ:
рдпрд╣ рдЖрд░реЗрдЦ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмрдЯрди рджрдмрд╛рдиреЗ рд╕реЗ рдкреИрд░ рдЬрдореАрди рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рд▓рд╛рдЧреВ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкреИрд░ рдХрд╣реАрдВ рднреА рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдмреБрд░рд╛ рд╣реИ, рдЬрдм рдЖрдк рдПрдХ рдЕрд╕рдВрдмрджреНрдз рдкреИрд░ рд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рднреА рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдмрдЯрди рджрдмрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдкреБрд▓-рдЕрдк (рдкреБрд▓-рдЕрдк) рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреИрд░ рдХреЛ рдкреНрд░рддрд┐рд░реЛрдзрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЬрдм рдЙрд╕ рдкрд░ рдмрдЯрди рджрдмрд╛рдпрд╛ рди рдЬрд╛рдП, рддреЛ рдкреБрд▓-рдЕрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд┐рдЬрд▓реА рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА, рдФрд░ рдЬрдм рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдкрд░ рд╡рд░реНрддрдорд╛рди рдЬрдореАрди рдкрд░ рдЬрд╛рдПрдЧреА, рдпрд╛рдиреА рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдмрдЯрди рдХреЛ рдмрдВрджрд░рдЧрд╛рд╣ рдореЗрдВ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕реЗ рд╢реВрдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рджрдмрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкреИрд░ 0 рдФрд░ 4 рд╕реЗрдЯ рдХрд░реЗрдВ, рдкреБрд▓-рдЕрдк рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:
GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, GPIO_PIN_0 | GPIO_PIN_4); GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_0 | GPIO_PIN_4, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
GPIOPadConfigSet
рдлрд╝рдВрдХреНрд╢рди
GPIOPadConfigSet
рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдкреИрд░ (2, 4 рдпрд╛ 8 рдПрдордП) рдФрд░ рдЗрд╕рдХрд╛ рдореЛрдб рдмрд╛рд╣рд░ рджреЗ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдХреБрдЫ GPIO рдкреЛрд░реНрдЯ (рдЬреЛ рдХрд┐ JTAG / SWD рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ) (рдкреЛрд░реНрдЯ C рдХреЗ 0-3 рдмрд┐рдЯреНрд╕) рдпрд╛ рдХрд┐рд╕реА рдЕрдирдорд╛рд╕реНрдХ рдЗрдВрдЯрд░рдкреНрдЯ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП - NMI (рдкреЛрд░реНрдЯ рдбреА рдФрд░ 0 рдмрд┐рдЯреНрд╕ рдХреЗ рдмрд┐рдЯреНрд╕) рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдорд┐рд▓рддреА рд╣реИред port F)): рдЗрди рдЯрд╛рдВрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреБрд▓-рдЕрдк / рдкреБрд▓-рдбрд╛рдЙрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓рдирд╛ рдХреЗрд╡рд▓ рддрднреА рд╕рдВрднрд╡ рд╣реИ рдЬрдм 1.
GPIOCR
рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реЛред
GPIOCR
рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗрд╡рд▓ рддрднреА рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм
GPIOCR
рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ "рдореИрдЬрд┐рдХ рдирдВрдмрд░" рд▓рд┐рдЦрд╛ рд╣реЛред
рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛:
#include <inc/hw_types.h> #include <inc/hw_gpio.h> #include <inc/hw_memmap.h> #include <driverlib/sysctl.h> #include <driverlib/gpio.h> const unsigned int LEDS_ALL = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3; const unsigned int SW1 = GPIO_PIN_0; const unsigned int SW2 = GPIO_PIN_4; void crSet(unsigned int base, unsigned char value); int main(void) { int led = 2; SysCtlClockSet(SYSCTL_USE_PLL | SYSCTL_SYSDIV_2_5 | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN); SysCtlPeripheralEnable(SYSCTL_PERIPH2_GPIOF); SysCtlDelay(2); GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, LEDS_ALL); GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, SW1 | SW2); HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD; crSet(GPIO_PORTF_BASE, 1); GPIOPadConfigSet(GPIO_PORTF_BASE, SW1 | SW2, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); crSet(GPIO_PORTF_BASE, 0); HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = 0; while (1) { unsigned int state = ~GPIOPinRead(GPIO_PORTF_BASE, SW1 | SW2); led = ((state & SW1) << 1) | ((state & SW2) >> 1); GPIOPinWrite(GPIO_PORTF_BASE, LEDS_ALL, led); } return 0; } void crSet(unsigned int base, unsigned char value) { unsigned long v = (HWREG(GPIO_PORTF_BASE + GPIO_O_CR) & 0xFFFFFF00) | value; HWREG(base + GPIO_O_CR) = v; }
рдпрд╣ рдЕрджреНрднреБрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ 12 рд░реБрдкрдпреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реБрд▓реНрдХ, рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдкрдХреЛ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдХрдо рднрд╛рдЧреЛрдВ рдХреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдпреЛрдЬрдирд╛рдмрджреНрдз рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, 10 рд░реВрдмрд▓ рдХреА рдХреАрдордд, рдмрдзрд╛рдИ!