рдпрд╣ рдПрдХ рдЕрдиреБрд╡рд╛рдж рд╣реИред 27 рдордИ, 2018 рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЗрдЦ
рдлрд┐рдЯрдиреЗрд╕ рдЯреНрд░реИрдХрд░ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ disassembly рдХреЗ рдмрд╛рджрдЬрдм рдореИрдВ рд╡рд░реНрддрдорд╛рди рдХрдВрдкрдиреА рдореЗрдВ рдЖрдпрд╛, рддреЛ рдкрд╣рд▓реЗ рджрд┐рди рдореБрдЭреЗ рдЙрдкрд╣рд╛рд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдЙрдирдореЗрдВ рдПрдХ рдлрд┐рдЯрдиреЗрд╕ рдЯреНрд░реИрдХрд░ рд╡рд╛рд▓рд╛ рдпрд╣ рдмреНрд░реЗрд╕рд▓реЗрдЯ рдерд╛ред рд╢рд╛рд░реАрд░рд┐рдХ рд╡реНрдпрд╛рдпрд╛рдо рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреНрдпрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рдПрдХ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рддрдХрдиреАрдХреА рдмрд┐рдВрджреБ рд╕реЗ рдЧреИрдЬреЗрдЯ рд╢рд╛рдВрдд рд╣реИ:
- рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЫреЛрдЯрд╛ рд░реВрдк рдХрд╛рд░рдХ (рд▓рдЧрднрдЧ 15 ├Ч 40 рдорд┐рдореА);
- рдмреНрд▓реВрдЯреВрде рдХрдо рдКрд░реНрдЬрд╛ (BLE);
- OLED рдбрд┐рд╕реНрдкреНрд▓реЗ (96 ├Ч 32 рдкрд┐рдХреНрд╕реЗрд▓);
- рдмреИрдЯрд░реА;
- USB рдЪрд╛рд░реНрдЬ
- accelerometer;
- рдХрдВрдкрди рдореЛрдЯрд░;
- рдХреАрдордд рд▓рдЧрднрдЧ $ 10 (!) рд╣реИред
рдмрд╛рд╣рд░, рд░рд┐рдпрд░ рдкреИрдирд▓ рдкрд░ рдПрдХрдорд╛рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╕реНрдЯрд┐рдХрд░ "FCC ID: 2AHFTID115" рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ Google рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣
ID115 рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рдХреЗ
рдЗрдВрд╕рд╛рдЗрдб рдХреА рдХрдИ рддрд╕реНрд╡реАрд░реЗрдВ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрди рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ рд╕реЗ
рдПрдХ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрджрд┐ рдЖрдк рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдПрдХреАрдХреГрдд рд╕рд░реНрдХрд┐рдЯ (IC): N51822 рдХрд╛ рдирд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдПрдХ
рдиреЙрд░реНрдбрд┐рдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (MCU)
nRF51822 рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, 32-рдмрд┐рдЯ рдПрдЖрд░рдПрдо M0 рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрд┐рд▓реНрдЯ-рдЗрди BLE рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рд╣реИ, рдЬреЛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рдПрдХ рдмреНрд░реЗрд╕рд▓реЗрдЯ рдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЧреИрдЬреЗрдЯ рдХреЛ рдбрд┐рд╕рд╛рдЗрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛ рдФрд░ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐
рдХреБрдЫ рд╕рдорд╛рди рдХрдВрдЧрди рдореЗрдВ рдПрдХ рд╣реА рдЪрд┐рдк рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ред
рдУрдкрди рдорд╛рдорд▓реЗ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ред рдХрд╛рд▓реЗ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХрд╡рд░ рдХреЛ рдЧреНрд░реЗ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд┐рдкрдХрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЧреЛрдВрдж рдХреЛ рдирд░рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реЗрдпрд░ рдбреНрд░рд╛рдпрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдзреИрд░реНрдпрдкреВрд░реНрд╡рдХ рдЗрд╕реЗ рдЫреЛрдЯреЗ рдЪрд╛рдХреВ рд╕реЗ рдХрд╛рдЯ рджрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдиреБрдХрд╕рд╛рди рди рдкрд╣реБрдВрдЪреЗред рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ nRF51822 рд╣реИред рдмрд╛рдж рдореЗрдВ рдореИрдВрдиреЗ рдЯреЗрдХреНрд╕рд╛рд╕ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯ рд╕реЗ рд▓рдЧрднрдЧ рд╕рдорд╛рди рдПрдорд╕реАрдпреВ рдХрдВрдЧрди рдЦрд░реАрджрд╛ред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
nRF51822 рдФрд░ рд╕реНрдХреЗрд▓ рдХреЗ рд▓рд┐рдП рдмреЙрд▓рдкреЙрдЗрдВрдЯ рдкреЗрдирд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЦреЛрдЬрдирд╛
рдкреНрд░рд▓реЗрдЦрди рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЪрд┐рдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ / рдПрдЖрд░рдПрдо рдкрд░ рджреЛрд╣рд░реЗ рдЕрдВрддрд░рдлрд▓рдХ рдХреА рдорджрдж рд╕реЗ рдбрд┐рдмрдЧ
рд╕реАрд░рд┐рдпрд▓ рддрд╛рд░ рдбреАрдмрдЧ (SWD)ред рдЕрдЧрд░ рд╣рдо рдПрдХ рдЪрд┐рдк рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЪрд╛рд░ рдЪреИрдирд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рджреЛ рдЪреАрдЬреЗрдВ рд╣реИрдВ:
- рд╣рдореЗрдВ рдПрдХ SWD рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрдЧрд░ рдЬреЗ-рд▓рд┐рдВрдХ ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рд╣рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░, рдЕрд░реНрдерд╛рддреН SWDIO (рдбреЗрдЯрд╛) рдФрд░ SWDCLK (рдШрдбрд╝реА рджрд╛рд▓реЛрдВ) рдкрд░ рджреЛ SWD рдкрд┐рди рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдмреЛрд░реНрдб рдкрд░ рдХрдИ рдкреИрдб рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдпрджреНрдпрдкрд┐ рдЙрдирдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ, рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рдпрд╣ рд╕реЛрдЪрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреБрдЫ рд╢рд╛рдВрдд рдЗрдВрдЬреАрдирд┐рдпрд░ рдиреЗ рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдЙрдкрд╣рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╣рд╛рдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдЙрди рд╕рднреА рдХреЛ рдареАрдХ рд╕реЗ рд▓реЗрдмрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕реБрдЭрд╛рддрд╛ рд╣реВрдВ:

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

рдмреЛрд░реНрдб рдХреЗ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ SWDIO рдФрд░ SWDCLK рдкрд┐рди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИрдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБ-рдкрд░рдд рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЫреЗрдж рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдмреЛрд░реНрдб рдХреЗ рджреЛрдиреЛрдВ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдкрдЯрд░рд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрди рддрд╕реНрд╡реАрд░реЛрдВ рд╕реЗ, рдЖрдк рдЪрд┐рдк рдкрд░ рд╕рдВрдкрд░реНрдХреЛрдВ SWDIO рдФрд░ SWDCLK рд╕реЗ рдкреИрдб IO рдФрд░ CLK рддрдХ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдмреЛрд░реНрдб рдкрд░ рд╕реАрдПрд▓рдХреЗ рдХрд╛ рдирд┐рд╢рд╛рди MCU рдкрд░ SWDCLK рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдирд▓рд┐рд╕реНрдЯреЗрдб рд╕рдВрдкрд░реНрдХ SWDIO рдкрд┐рди рд╣реИред рдЕрдм рдЖрдк рд╣рдорд╛рд░реА рдкрд╣рд▓реА рдореИрдкрд┐рдВрдЧ рдЯреЗрдмрд▓ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
NRF51822 рдкрд┐рди | рдХреЛрд░реНрдЯ | рд╡рд┐рд╡рд░рдг |
---|
SWDIO | рдЖрдИрдУ | рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ SWD |
SWDCLK | CLK | SWD рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреНрд▓реЙрдХ рдЖрдЙрдЯрдкреБрдЯ |
рдЙрджреНрдШрд╛рдЯрди рдХреЗ рдмрд╛рдж рд╕рд░реНрдЬрд░реА
рджреЛ рдПрд╕рдбрдмреНрд▓реНрдпреВрдбреА рдкреИрдб рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдФрд░ рдЕрдиреНрдп рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рдмрд╣реБрдд рдкрддрд▓реЗ рддрд╛рд░реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдпрд╛ред

рдмрд┐рдЯ blinked
рдЕрдЧрд▓рд╛ рдХрд╛рд░реНрдп рдХреБрдЫ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
- рд╣рдордиреЗ SWDIO / SWDCLK рдХреЗ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ред
- SWD рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХрдорд╛рдВрдб рдЬрд╛рд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- рд╣рдо рдЖрд░реНрдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдиреЙрд░реНрдбрд┐рдХ рдПрд╕рдбреАрдХреЗ рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рд╣рдо рд╕рдВрдХрд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЪрд┐рдк рдореЗрдВ рдлреНрд▓реИрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЪрд┐рдк рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд▓реЛрдб рдХрд░рддреА рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, "рд╣реИрд▓реЛ, рджреБрдирд┐рдпрд╛" рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрд▓рдИрдбреА рдХреЛ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреЛрд░реНрдб рдкрд░ рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрд▓рдИрдбреА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдПрдХ рдмрд╛рд╣рд░реА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрднреА рднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕реНрдерд╛рдирд┐рдХ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЖрдпрд╛рдо рдХрд╣рддреЗ рд╣реИрдВред рдореБрдлреНрдд рдкрдиреАрд░ рдкреНрд░рдореЗрдп рдХреА рдХрдореА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВрдиреЗ рдмрд╕ рджреЛ рдПрд▓ рдИ рдбреА рдХреЛ рдкрд┐рди
P1
рдФрд░
P1
2 рд╕реЗ рдЬреЛрдбрд╝рд╛, рдЗрд╕ рдЙрдореНрдореАрдж рдХреЗ рд╕рд╛рде рдХрд┐ рд╣рдо рдПрдорд╕реАрдпреВ рдХреЗ рд╕рд╛рде рдЗрди рдкреИрдбреНрд╕ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдмреБрд░рд╛ рджрд┐рдирдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЬрдореНрдореВ-рд▓рд┐рдВрдХ SWD рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢-рдкрдВрдХреНрддрд┐ рдЙрдкрдХрд░рдг рдкрд░ рдЭреВрда
Segger рд╡реЗрдмрд╕рд╛рдЗрдЯ ред рдпрджрд┐ рдЖрдк
caskroom/drivers/segger-jlink
рдкрд░ рд╣реИрдВ рдФрд░ Homebrew рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ
caskroom/drivers/segger-jlink
рдореЗрдВ рдХрд╛рд╕реНрдХ рдлреЙрд░реНрдореВрд▓рд╛ рджреЗрдЦреЗрдВред SWD рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░
JLinkExe
рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди
JLinkExe
рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рддрдм рдореИрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛
рдиреЙрд░реНрдбрд┐рдХ nRF5 рдПрд╕рдбреАрдХреЗ (рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рд╕рдВрд╕реНрдХрд░рдг 12.3.0 )ред рдПрд╕рдбреАрдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдХрдореНрдкрд╛рдЗрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЖрд░реНрдо рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ
gcc-arm-embedded
(Homebrew рдкрд░ рднреА рдЙрдкрд▓рдмреНрдз) рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред
рдПрд╕рдбреАрдХреЗ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдиреЙрд░реНрдбрд┐рдХ рдбреЗрд╡рд▓рдкрд░ рдордВрдЪреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрдирдХреЗ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░
рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрд╕рдбреАрдХреЗ рдРрд╕реЗ рдмреЛрд░реНрдбреЛрдВ рдХреЗ рдХрдИ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдо рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдЫ рдПрд╕рдбреАрдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ nRF5 рдХреЛ рд╕рдордЭрдиреЗ
рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдЕрднреА рднреА рдЪрд┐рдк рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реЛ рдЧрдпрд╛ рдерд╛! рдкрд░
рд╡реАрдбрд┐рдпреЛ рд╢реЛ рджреЛ рдПрд▓рдИрдбреА рдлрд╝реНрд▓реИрд╢рд┐рдВрдЧред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдореИрдВ рдПрдХ рдмрдирд╛рдпрд╛ рд╣реИ
Github рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдХрд╛рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛
Makefile
ред рдореБрдЦреНрдп рд░рд╣рд╕реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рдерд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ nRF51822 рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдФрд░ рдЦрд╛рди рдореЗрдВ рдХреЗрд╡рд▓ 16 KB рдореЗрдореЛрд░реА рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрднреА рднреА
рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ
рдареАрдХ рдХрд░рдирд╛ рдерд╛ред
рдбрд┐рдЬрд┐рдЯрд▓ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛, рдПрд▓рдИрдбреА рдЪрдордХрддреА рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдиреЗ рдХреБрдЫ рдЖрд╢рд╛рдПрдВ рдФрд░ рдПрдХ рдкреНрд░рд╣рд╛рд░ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХреА, рдЬреЛ рдПрдорд╕реАрдпреВ рд╕рдВрдкрд░реНрдХреЛрдВ рдореЗрдВ рд╕реЗ
P1
рдФрд░
P1
P2
, рдЬрд╣рд╛рдВ рдПрд▓рдИрдбреА рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рд╕рдмрд╕реЗ рд╕рд░рд▓ рд░рдгрдиреАрддрд┐ рдмрджрд▓реЗ рдореЗрдВ рд╕рднреА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдмрджрд▓реЗ рдореЗрдВ рдЙрдЪреНрдЪ рдФрд░ рдирд┐рдореНрди рд╡реЛрд▓реНрдЯреЗрдЬ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рдПрд▓ рдИ рдбреА рдкреНрд░рдХрд╛рд╢! рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдореИрдВ рдЬрдм рдХрдВрдкрди рдореЛрдЯрд░ рдЕрд░реНрдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдерд╛!
рддреЛ, рдкреНрд░рд╣рд╛рд░ рд╡рд┐рдзрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛:
NRF51822 рдкрд┐рди | рдХреЛрд░реНрдЯ | рд╡рд┐рд╡рд░рдг |
---|
P0.30 | P1 | рдбрд┐рдЬрд┐рдЯрд▓ GPIO |
P0.00 | P2 | рдбрд┐рдЬрд┐рдЯрд▓ GPIO |
P0.01 | - | рдХрдВрдкрди рдореЛрдЯрд░ |
printf
рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИред J- рд▓рд┐рдВрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЪрд┐рдк рд╕реЗ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕рдВрдЪрд░рдг (RTT) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред RTT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
#include "SEGGER_RTT.h"
рдФрд░
SEGGER_RTT_WriteString()
рдХреЙрд▓
SEGGER_RTT_WriteString()
ред рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
jlinkrttlogger
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди
jlinkrttlogger
рдХреЙрд▓ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ J-Link рдХреЗ рд╕рд╛рде рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ рд╣реИред
OLED
рдПрдХ рдФрд░ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо - рдХрд╛рдо OLED рдХреЛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдмрд╛рдЬрд╛рд░ рдкрд░ рд╕рдмрд╕реЗ рдЖрдо OLED
ssd1306 рдбреНрд░рд╛рдЗрд╡рд░ / рдирд┐рдпрдВрддреНрд░рдХ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдорддреМрд░ рдкрд░ MCU рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рддреЛ
SPI рдпрд╛
I┬▓C рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
Adafruit рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг ред
рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рджреБрдХрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдФрд░ 96 ├Ч 32 рдХрд╛ рдЖрдХрд╛рд░ рдЧреИрд░-рдорд╛рдирдХ рд╣реИред рдбрд┐рд╕реНрдкреНрд▓реЗ рдкрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ QT1316P01A рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЦреЛрдЬ рдЪреАрдиреА рд╕рд╛рдЗрдЯреЛрдВ рдЬреИрд╕реЗ Aliexpress рдХреЛ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдирд╛рдо рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ:
Aliexpress рдХреЗ рд╕рд╛рде OLED рдкрд┐рди рдирд╛рдордХрд░рдгрдпрджрд┐ рд╕реВрдЪреА рдЭреВрда рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдВрдкрд░реНрдХ
SCL
,
SDA
рдФрд░
RES#
рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдпрд╣ рдПрдХ I┬▓C рд╡рд┐рдХрд▓реНрдк рд╣реИред рдпрджрд┐ nRF51822 рдХреЗ рддреАрди рдкрд┐рди рдФрд░ OLED рдХреЗ рдЗрди рддреАрди рдкрд┐рдиреЛрдВ рдХреЗ рдмреАрдЪ рдЯреНрд░реИрдХ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рдХрджрдо рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдВрдЧреЗред рдЪрд▓реЛ рдорд╛рдЗрдХреНрд░реЛрд╕реНрдХреЛрдк рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВред

рдбреЗрдЯрд╛ OLED рд╕рдВрдкрд░реНрдХ рдЯреНрд░реИрдХрд╣рдо рдкрддреНрд░рд╛рдЪрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:
NRF51822 рдкрд┐рди | рдХреЛрд░реНрдЯ | рд╡рд┐рд╡рд░рдг |
---|
P0.21 | - | рдирд┐рд╖реНрдХрд░реНрд╖ OLED SDA |
P0.22 | - | OLED SCL рдкрд┐рди |
P0.24 | - | рдЖрдЙрдЯрдкреБрдЯ OLED RES # |
I┬▓C рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рд╛рдзрд╛рд░рдг рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдЙрдиреНрдирдд рд╣реИ
UART ред рдПрдХ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реА рдмрд╕ рдореЗрдВ рдХрдИ рдорд╛рд╕реНрдЯрд░ рдФрд░ рджрд╛рд╕ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИ: рдХрдо рд╕реЗ рдХрдо рдЖрдкрдХреЛ рдПрдорд╕реАрдпреВ рдХреЛ рдмрддрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рджрд╛рд╕ рдЖрджреЗрд╢ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░, рднреМрддрд┐рдХ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдУрдПрд▓рдИрдбреА рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд╛ "рддрд╛рд░реНрдХрд┐рдХ" рдкрддрд╛ рднреА рд╣реИред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, nRF5 SDK рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг I scannerC рд╕реНрдХреИрдирд░ рд╣реИред рд╡рд╣ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рддрд╛рд░реНрдХрд┐рдХ рдкрддреЛрдВ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд╣рд╛рдБ рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореЗрд░реЗ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг
рдпрд╣рд╛рдБ ред рдпрд╣ рдПрдХ рд▓реЙрдЧ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ:
$ make
# ...
$ make flash
# ...
$ make log
# ...
TWI scanner.
TWI device detected at 0x3c.
рдмрдбрд╝реА рдЦреБрд╢рдЦрдмрд░реА! рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдареАрдХ рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк I┬▓C рд╣реИред рдПрдХ
0x3c
рдЦреЛрдЬ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐
0x3c
рдРрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрддрд╛ рд╣реИред
рдЕрдм рд╣рдо рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЗрдВ рдХреБрдЫ рдкрд┐рдХреНрд╕реЗрд▓ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╡рд╣рд╛рдБ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдИ рдЕрдореВрд░реНрдд рд╣реИред рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП
ssd1306 рдкреНрд░рд▓реЗрдЦрди
рджреЗрдЦреЗрдВ ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдУрд░рд┐рдПрдВрдЯреЗрд╢рди, рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореЛрдб, рд╕рд╛рдЗрдЬрд╝ рдЖрджрд┐ рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░рджрд░реНрд╢рди рд╕реНрдореГрддрд┐ (GDDRAM) рдмрд╛рдЗрдЯреНрд╕ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЕрдиреБрдХреНрд░рдо рднреЗрдЬ рджрд┐рдпрд╛ред
рдЙрдЪрд┐рдд рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛
Adafruit рд╕реЗ ssd1306 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрд╕ рд╕рдордп рдХреЗ рд╢реЗрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХреНрдпрд╛ рдерд╛ред рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдмрд╣реБрдд рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп рдерд╛, рдФрд░ рдлрд┐рд░ рднреА рдореИрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
рдПрдХ рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдд рдмрд┐рдЯрдореИрдк рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб
рдпрд╣рд╛рдБ ред
рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде, рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ 4 рдкрдВрдХреНрддрд┐рдпреЛрдВ (рдкреЗрдЬ) рдФрд░ 96 рдХреЙрд▓рдо рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдкреЗрдЬ 8 рдкрд┐рдХреНрд╕рд▓ рд▓рдВрдмреЗ рд╣реИрдВред рднреЗрдЬрд╛ рдЧрдпрд╛ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдХреЗ рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ "рд▓рдВрдмрд╡рдд" рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ред рджреВрд╕рд░рд╛ рдмрд╛рдЗрдЯ рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рддреАрд╕рд░рд╛ рдФрд░ рдЗрд╕реА рддрд░рд╣, 96 рд╡реЗрдВ рдХреЙрд▓рдо рддрдХ, рдЬрдм рдпрд╣
рд╡рд╛рдкрд╕ рдЖрдПрдЧрд╛ рдФрд░ рджреВрд╕рд░реЗ рдкреЗрдЬ рдкрд░ рдкрд╣рд▓реЗ рдХреЙрд▓рдо рд╕реЗ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред
рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░
рдХреА рдЙрдореНрдореАрдж рд╣реИред рдЬреИрд╕рд╛
рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ,
рдордирд╛рдпрд╛ рдЧрдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрд▓рдЧ рд╣реИ: рдкрд╣рд▓реЗ рд╡рд┐рд╖рдо рдХреЙрд▓рдо рднрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдпрд╣ рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдкрд░ рд▓реМрдЯрддрд╛ рд╣реИред
рдореИрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдРрд╕реЗ рдмреЗрд╡рдХреВрдл рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП рдХрд╛рд░рдг рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗред рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдореЗрд░реА рд╢рд╛рди рдирд┐рдЧрд▓ рд▓рд┐рдпрд╛ рдФрд░ рдЕрднреА рднреА рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрдЬреАрдм рдкреНрд░рддрд┐рдкрд╛рджрди рддрд░реНрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЗрд╕ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
Arduino рдХреА рдпрд╛рддреНрд░рд╛
Arduino рдХреЗ рд▓рд┐рдП
Adafruit ssd1306 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдкрд╣реБрдВрдЪрддреЗ рд╣реБрдП , рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ nRF51822 рдкрд░ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ Arduino рдмрд┐рдЯреНрд╕ рдХрд╛ "рдЕрдиреБрдХрд░рдг" рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рд▓реЛрдЧреЛрдВ рдиреЗ рднреА рд╕реЛрдЪрд╛ рдерд╛ - рдпрд╣ рдЕрджреНрднреБрдд
рд╕реИрдВрдбрдкреАрдорд┐рд╕реНрдЯреНрд░реА / рдЖрд░реНрдбрд┐рдиреЛ-рдПрдирдЖрд░рдПрдл 5 рдкрд░рд┐рдпреЛрдЬрдирд╛
рд╣реИ ред рдпрд╣ nRF5 SDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореБрдЦреНрдп Arduino рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде, рд╣рдо Arduino IDE рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, nRF5 рдмреЛрд░реНрдб рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдореАрд░ Arduino рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдХрд╛рдВрдЯрд╛ рд▓рдЧрд╛рдпрд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдХрдВрдЧрди рд╕реЗ рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ред рдпрд╣ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдореЗрдиреВ рдореЗрдВ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ,
Tools > Board > ID115 Fitness Bracelet (nRF51822)
ред

Adafruit ssd1306 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдкрдиреЗ рдореВрд▓ рд░реВрдк рдореЗрдВ (рдКрдкрд░) рдФрд░ рдПрдХ рдкреИрдЪ рдХреЗ рд╕рд╛рде (рдиреАрдЪреЗ)рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдЕрдм рд╣рдо
Adafruit OLED рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдФрд░ рд░рд╛рд╣рдд рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рдмрд╛рдд рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдЕрдЬреАрдм рднрд░рдиреЗ рдХреЗ рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рд╣реБрдЖ, рдФрд░ рдлрд┐рд░ рднреА рдХреНрд░рдорд╛рдВрдХрд┐рдд рдХреЙрд▓рдо OLED! рдореИрдВрдиреЗ рдЦрд╝реБрд╢реА
рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ
рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдФрд░ рд╡рд╣реА рд╣реИрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢рд╛рдВрдд рд╕рд╛рд░ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдкрд╛рда рдЖрдЙрдЯрдкреБрдЯ:
рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд "Hello, world!"рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ
рдбрд┐рдЬрд┐рдЯрд▓ рдСрди / рдСрдл рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛, nRF51822 рдореЗрдВ рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП 10 рдкрд┐рди рд╣реИрдВред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рдмреИрдЯрд░реА рдЪрд╛рд░реНрдЬ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдПред рдкреНрд░рд▓реЗрдЦрди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдПрдирд╛рд▓реЙрдЧ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ 10-рдмрд┐рдЯ рдорд╛рди рдкреИрджрд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЗрдирдкреБрдЯ рдкрд░
0
0V
, рддреЛ рд╣рдо
0
рдкрдврд╝реЗрдВрдЧреЗ, рдФрд░ рдЕрдЧрд░
VCC
, рддреЛ рд╣рдо рдЙрдирдХреЗ рдмреАрдЪ рдордзреНрдпрд╡рд░реНрддреА рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде
1023
рдкрдврд╝реЗрдВрдЧреЗред
рдореИрдВ рдХрднреА рдХрднреА рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ рдФрд░ рдмрдирд╛рдпрд╛ рдЪрд╛рд░реНрдЯ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдореВрд▓реНрдп рдкрдврд╝реЗрдВ:

рдХрд╛рд░реНрдб рдорд┐рд▓рд╛рддреЗ рд╣реБрдП рдФрд░ рдПрдирд╛рд▓реЙрдЧ рдЖрджрд╛рдиреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмреИрдЯрд░реА рдЪрд╛рд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдЕрд╕рд░рдореИрдВ рдЖрд╢реНрд╡рд╕реНрдд рд╣реВрдБ рдХрд┐ рд╕рдВрдкрд░реНрдХ
P0.05
, рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓реНрдп рдмрдврд╝ рдЬрд╛рддреА рд╣реИ рдмреИрдЯрд░реА рдЪрд╛рд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЪрд╛рд░реНрдЬ рдФрд░ рдирд┐рд░реНрд╡рд╣рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдкрд┐рди
P0.26
рдПрдХреНрд╕реАрд▓рд░реЛрдореАрдЯрд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдЖрдк рдмреЛрд░реНрдб рдХреЛ рд╣рд┐рд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкрд╛рдЧрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдкрд░реНрдХ
P0.03
рдФрд░
P0.04
рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рднреА рдЬреБрдбрд╝реЗ рд╣реЛ
рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЗрдирдкреБрдЯ рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рджреВрд╕рд░реЗ рдХреНрд░рдо рдХрд╛ рдкреНрд░рднрд╛рд╡ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реА рдЧреНрд░рд╛рдл рдиреЛрдЯ рдореЗрдВ рдХреИрд╕реЗ рдмреИрдЯрд░реА рд╕реНрддрд░ (рдкрд┐рди 5) рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм accelerometer рдФрд░ рдЕрдзрд┐рдХ рдКрд░реНрдЬрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рджреВрд╕рд░реЗ рдХреНрд░рдо рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
рдЗрд╕ рд╕реНрдХреЗрдЪ рдореЗрдВ рдХреЛрдб рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕рд╛рдЬрд┐рд╢ рд░рдЪрдиреЗ
рдпрд╣рд╛рдБ ред рдЕрдм рдЖрдк рд╣рдорд╛рд░реЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
NRF51822 рдкрд┐рди | рдХреЛрд░реНрдЯ | рд╡рд┐рд╡рд░рдг |
---|
P0.05 | - | рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ - рдмреИрдЯрд░реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ |
P0.26 | - | рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ - рдПрдХ рдПрдХреНрд╕рд┐рд╕ рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ |
P0.03 | - | рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ - рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдХрд╛ рдПрдХ рдЕрдХреНрд╖ (рд╕рдВрднрд╛рд╡рдирд╛) |
P0.04 | - | рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ - рдПрдХ рдзреБрд░реА accelerometer (рд╢рд╛рдпрдж) |
рдмрдЯрди
рдореВрд▓ рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдкрд░ рдХрдВрдЧрди рдХреЛ рдЫреВрдиреЗ рд╕реЗ рдбрд┐рд╕реНрдкреНрд▓реЗ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдХрд╛рд▓рдХреНрд░рдо рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдпрд╛рдж рд╣реИред рдпрд╣ рдПрдХ рднреМрддрд┐рдХ рдмрдЯрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдХреИрдкреЗрд╕рд┐рдЯрд┐рд╡ рдЯрдЪ рдЪреАрдЬрд╝ рд╣реИ рдЬреЛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдбрд┐рдЬрд┐рдЯрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ
MCU (рд╡реАрдбрд┐рдпреЛ) рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХрд╛ рд╕реНрдерд╛рди рдорд┐рд▓рд╛ ред
рдХреЛрдб рд╣реИ
рдпрд╣рд╛рдБ ред
NRF51822 рдкрд┐рди | рдХреЛрд░реНрдЯ | рд╡рд┐рд╡рд░рдг |
---|
P0.10 | - | рдбрд┐рдЬрд┐рдЯрд▓ рдЗрдирдкреБрдЯ - рдирд┐рд░реНрдорд┐рдд рдмрдЯрди |
рдмреНрд▓реВрдЯреВрде рдХрдо рдКрд░реНрдЬрд╛ (BLE)
NRF5 рдЪрд┐рдкреНрд╕ рдкрд░ BLE рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕реЙрдлреНрдЯрдбреЗрд╡рд┐рд╕ рдирд╛рдо рдХреА рдЪреАрдЬрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ BLE рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рдмрд╛рдЗрдирд░реА рд╣реИред рдпрд╣ рдЖрд╡реЗрджрди рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рд┐рд▓реЗ рд╣реИред рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЪрд┐рдк рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЙрдлреНрдЯрдбреЗрд╡рд┐рд╕ рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВред
рдкреНрд░рд▓реЗрдЦрди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ)ред рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдПрд╕рдбреАрдХреЗ рдЪрд┐рдк рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ - рдФрд░ рд╕реЙрдлреНрдЯрдбреЗрд╡рд┐рд╕ рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪрд┐рдк, рдЗрд╕ рдЪрд┐рдк 256 рдХреЗрдмреА рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдореЗрдВ QFAAH0 рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд░рд╛рдо рдХреЗ 16 рдХреЗрдмреА рдФрд░ SoftDevice S130 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдХреА рдШреЛрд╖рдгрд╛ рдХреАред
рдореЗрд░реЗ SDK рд╕рдВрд╕реНрдХрд░рдг 12.3 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА SoftDevice s130 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдкрд┐рдЫрд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬреЛ рд╕реАрдзреЗ
0x0
рдкрддреЗ рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдкреНрд╕ рдореЗрдВ рд╡рд╛рдпрд░реНрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЕрдм рдЖрдкрдХреЛ рдПрдбреНрд░реЗрд╕
0x0
рд╕реЗ рд╕реЙрдлреНрдЯрдбрд╛рдЗрд╕рд┐рд╕ рдФрд░ рдПрдбреНрд░реЗрд╕
0x1b000
рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ рдЦреБрдж рдХреЛ
0x1b000
ред рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдмрд╛рдЗрдирд░реА SoftDevice рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдпрд╣ рдкрддрд╛ рдФрд░ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЙрд╕реА рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрд▓рдХ рдЭрдкрдХрддреЗ рдПрд▓ рдИ рдбреА рдХреЗ рд╕рд╛рде рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реЙрдлреНрдЯрдбреЗрд╡рд┐рд╕ рдлрд░реНрдорд╡реЗрдпрд░ (
рдХреЛрдб ) рдХреЗ рд▓рд┐рдП рдмрджрд▓ рджрд┐рдпрд╛ред рджреЗрдЦреЗ рдЧрдП рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЖрдкрдХреЛ рд╕реЙрдлреНрдЯрд╡реЗрдЗрд╕ рдХреЛ рдкреВрд░реНрд╡-рдлреНрд▓реИрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
$ make
# ...
$ make flash-softdevice
# ...
$ make flash
# ...
$ make log
# ...
Hello, world!
рдмреНрд▓реВрдЯреВрде рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЖрд╡реЗрджрди - рдЙрдкрдХрд░рдг рдореЛрдбрд╝
рдкрд░ рдирдЬрд░ ред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗрд╡рд▓ рдЕрдкрдиреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд╣реА рдПрдХ рдЙрджрд╛рд╣рд░рдг SDK рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ
ble_app_beacon
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ SoftDevice
s130
рдкрд╣рд▓реЗ
s130
рд╣реА рдлреНрд▓реИрд╢ рд╣реИред
рдпрд╣рд╛рдВ, рдЪрд┐рдк рдХреЗ рд╕рд╛рде рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рдВрдЪрд╛рд░ рдПрд╕рдбреАрдХреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред рд░реИрдо рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдПрд▓рдИрдбреА рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдпрд╣ рдЬреНрдЮрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрдард┐рди рдерд╛), рдПрдХ рдФрд░ рд╣рд╛рд░реНрдб-рдЯреВ-рдЯреНрд░реИрдХ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдордиреЗ рдЖрдИ рдереАред рдЬреИрд╕рд╛ рд╕рд╛рдордиреЗ рдЖрдпрд╛, рд╕рдордп рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХрд╛рд░реНрдпреЛрдВ BLE рдвреЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдПрдХ рдШрдбрд╝реА рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдПрд╕рдбреАрдХреЗ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдмрд╛рд╣рд░реА рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рджреЛрд▓рдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдорд╛рдиред рдЬрдм рдореИрдВ рдХреЗ рдмрд╛рдж рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдХрд┐ рд╣рдЬрд╛рд░реЛрдВ рдХрд╛ рдПрд╣рд╕рд╛рд╕
printf
, рд╡рд┐рдиреНрдпрд╛рд╕ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдШрдбрд╝реА рдЬрдирд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЭрдВрдбрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдмреАрдХрди рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб
рдпрд╣рд╛рдБ рд╣реИ ред
BLE + Arduino
BLE рдХрд╛ рдЙрджрд╛рд╣рд░рдг nRF5 SDK рдХреЗ рд╕рд╛рде рдЕрд░реНрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд░реИрдо рдФрд░ рдПрдХ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдЬрд╛рд▓ рдЬрд╛рдирддреЗ рд╣реБрдП рднреА, рдореИрдВ Arduino рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рд╡рд╛рдкрд╕ рджреЗрдЦрд╛ред рдФрд░ рдлрд┐рд░ рд╕реЗ, рд╢рд╛рдирджрд╛рд░
рд╕реИрдВрдбрдкреАрдорд┐рд╕реНрдЯреНрд░реА / рдЖрд░реНрдбрд┐рдиреЛ-рдмреАрдПрд▓рдИрдкрд░рд┐рдлреЗрд░рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдЙрд╕реА рд▓рдбрд╝рдХреЗ рд╕реЗ рдЖрд░реНрдбрд┐рдиреЛ-рдПрдирдЖрд░рдПрдл 5!) рдерд╛, рдЬреЛ рдЖрдВрддрд░рд┐рдХ рдмреАрдПрд▓рдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЙрддреНрдХреГрд╖реНрдЯ рд╕рд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрд╛рдВрдЯрд╛ рднреА рдирд╣реАрдВ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛ред рдкрд░рд┐рдпреЛрдЬрдирд╛ arduino-nrf5 рдмрд┐рддрд╛рдП рдЧрдП рд╕рдордп рдХреЗ рд▓реЗрдЦрдХ рдФрд░ рд╕рднреА рдмреЛрд░реНрдбреЛрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдм рд╕рд╣реА рдШрдбрд╝реА рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЪрдпрди SoftDevice рдбреНрд░реЙрдк рдбрд╛рдЙрди рдореЗрдиреВ, рд╕реЗ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдХрд░рдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд▓рд┐рдП
Tools > Low Frequency Clock > Synthesized
ред рдмрд╣реБрдд рдЦреВрдмред рдореИрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рд▓рд┐рдЦрд╛
рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмреНрд▓реВрдЯреВрде рдкрд░ рд╣рд░реЗ рд░рдВрдЧ рдПрд▓рдИрдбреА рдХреЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ (рд╕рд╛рде
рдЗрд╕ рдЖрд╡реЗрджрди )ред
рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдЙрдирдХрд╛ рдХрд╛рдо
рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
рдЖрдЧреЗ рдХреА рдпреЛрдЬрдирд╛
рдЕрдирдЧрд┐рдирдд рдШрдВрдЯреЛрдВ рддрдХ рдЗрд╕ рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдЙрдкрджреНрд░рд╡ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рд╣рд╛рде рдХрдИ рд╣рдлреНрддреЛрдВ рддрдХ рдЦреБрдЬрд▓реА рдХрд░рддреЗ рд░рд╣реЗ рдФрд░ рдЗрд╕реЗ рд╡реЙрд╢рд┐рдВрдЧ рдорд╢реАрди рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рднреВрд▓ рдЧрдПред