nRF52
NORDIC SEMICONDUCTOR社製のBLE搭載マイコン
ARM-CortexM4コアものってる
ppi
関数を用いず直接命令をつなげる,
EVENT,TASK?という概念で管理されていらしい,あるEVENTが発生した時,直接そのTASKを実行すると言うもの.
例
GPIOの変化(HI→LO,LO→HI,Toggle)というEVENTが発生した時,TIMERのカウントをSTARTさせるTASKを実行する,
TIMERでいえば,他にもSTOPやCAPTUREと言ったTASKも実行可能.
Adafruit Feather nRF52 Bluefruit LE
Adafruitの売ってるやつ.Adruinoでスケッチが書ける.
スイッチサイエンスで買える
基本的にはArduinoIDEからボードの追加でOK.シリコンラボのUSBCDCドライバも追加でインストールする必要ある.
しかし,MacOSやLinuxの場合はnrfutilというのを追加でインストールする必要あり
Pythonはver2.7でインストールする必要があるので注意!
MacOSにAnacondaで3.5をインストールしてたのでちょっと苦戦した.
pyenv使ってpythonを管理していたので,
pyenv global system
としてバージョンを2.7に切り替えて(MacOSの標準のPythonは2.7)
sudo easy_install pip
としてやればpipがインストールできる
Arduinoとしてではなく,nrf52832として開発したければ,J-Linkで書き込めばできた.pca10040のdebug OutのJTAGコネクタをBluefruit LEに接続してやれば勝手に外部に接続されている方に書き込んでくれた.
参考
https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide?view=all
https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-board-setup#1-select-the-board-target
https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
http://homemadegarbage.0t0.jp/bluefruit02