n_shinichi’s blog

★記事一覧★から見てください...(すみません、メニュー、リンク、カテゴリー分けがうまくできてません) 日々の備忘録、誤記多し... 名古屋大学:非常勤講師、小学5年生:電磁石単元理科講師、学生フォーミュラ:EV技術指導員、魔改造の夜:Dンソーアドバイザ、CQ出版_Interface:制御技術関連執筆

MENU

BLEマイコン、Nordic の nRF52832 実装の MDBT42V BLE通信

Lチカまではあっさり行けたけど、BLE通信ができるまではけっこう手間取った。

 MDBT42VをArduinoIDEで使ってるのがそんなにたくさん見つからない。

 いくつか見つかったモノもについても書いてることが違ってたり。

 

いくつか組み合わせて順に試してうまく動くパターンは見つかった。 ので

 備忘録です。

 

そもそもコンパイルは普通に通って、BLEが繋がらないってのがしばらくあった。

 

けっこうハマったのが

Low Frequency Clock : "Synthesized" で動くのだけど

Crystal にするってのがもっともらしい感じの説明を最初に見てCrystal にしてて

なかなか動かなかった。


 RemoteXYで動作確認したスケッチ

 予想はしてたけどやはり...ってのがRemoteXYの使い回し。

  ESP32版の流用ができるってところ

  ライブラリがよくできてるんだろうなと感謝。

  RemoteXYのI/F使うのにRemoteXYのソフトでの編集は全くしてない。

  M5Stackでのコピペ。

 

MODEをnRF用に変えて、ライブラリをnRF用に変えただけ・・・

 

変えたのは この2行だけ

#define REMOTEXY_MODE__NRFCORE_BLEPERIPHERAL
#include <BLEPeripheral.h>

 

M5Stackではこちらの2行

#define REMOTEXY_MODE__ESP32CORE_BLE
#include <BLEDevice.h>

 

 

コンパイルのメッセージ、細かいとこはちゃんと見てない。

 

 

 

あと、クロックを32MHzクリスタルを有効にするのに

"C:\Users\ユーザー名\AppData\Local\Arduino15\packages\sandeepmistry\hardware\nRF5\0.8.0\cores\nRF5\SDK\components\toolchain\system_nrf52.c"に、外部クリスタルの周波数を変更するコードを追加です。

こちらの @KameLong さんの参考例です  nRF51ベースなのでnRF52に読み替えて

qiita.com

 

 

コンパ入りの始めに 6行ウォーニングが出る。

 これはArduinoIDEのバージョンが古いと出る? ような

 情報は外国のであったけど... Ver1.8.13だから?

 この辺はよくわからんかった・・・