рдПрдХ рд╕рд╕реНрддрд╛ рдлрд┐рдЯрдиреЗрд╕ рдХрдВрдЧрди рд╣реИрдХрд┐рдВрдЧ

рдпрд╣ рдПрдХ рдЕрдиреБрд╡рд╛рдж рд╣реИред 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
SWDCLKCLKSWD рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреНрд▓реЙрдХ рдЖрдЙрдЯрдкреБрдЯ

рдЙрджреНрдШрд╛рдЯрди рдХреЗ рдмрд╛рдж рд╕рд░реНрдЬрд░реА


рджреЛ рдПрд╕рдбрдмреНрд▓реНрдпреВрдбреА рдкреИрдб рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдФрд░ рдЕрдиреНрдп рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рдмрд╣реБрдд рдкрддрд▓реЗ рддрд╛рд░реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдпрд╛ред



рдмрд┐рдЯ 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.30P1рдбрд┐рдЬрд┐рдЯрд▓ GPIO
P0.00P2рдбрд┐рдЬрд┐рдЯрд▓ 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 ред рдмрд╣реБрдд рдЦреВрдмред рдореИрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рд▓рд┐рдЦрд╛ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмреНрд▓реВрдЯреВрде рдкрд░ рд╣рд░реЗ рд░рдВрдЧ рдПрд▓рдИрдбреА рдХреЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ (рд╕рд╛рде рдЗрд╕ рдЖрд╡реЗрджрди )ред рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдЙрдирдХрд╛ рдХрд╛рдо рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред

рдЖрдЧреЗ рдХреА рдпреЛрдЬрдирд╛


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

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


All Articles