mbed
7セグLED基板
7セグメントLEDを連送する基板です
Nucleo mbedのSPI
いまさら?、初めて知ったんですが、mbedのNucleoでSPIを宣言するとき、MISOをNCにするとプログラムが全く動かなくなる。
SPI name(mosi, miso, sclk);
マスタ側の宣言でデータ送信しかしないとき、例えばHC595にデータを送るようなとき、MISOを使わないのでLATなどに割り振ってmisoにNCを入れて宣言すると、プログラムが動かない。下記例、FRDM-K64ではこれは動く
SPI spi(PTD2,NC,PTD1);
DigitalOut Latch(PTD3);
Nucleoの場合、miso部分に使わないがmiso端子を割り当てる必要があるということが分かった
そんなことより、はやくmbed-ceを使えるようにしないと・・・
mbedリタイア予告
いきなり、mbedリタイア予告が表示される
https://os.mbed.com/blog/entry/Important-Update-on-Mbed/
2年後。それまでに代わりの方法を見つけるか、どうするかを考えろとのこと。問題点も含めて現状(持っているTargetを)のまま使い続けたい。どうすればいいのか・・・
mbed KL25Zのシリアル
ふむ、どうもシリアル設定の8bit以外がサポートされていないようだが? うまく動かず悩むのをTerminalで見るとエラーはいてるし
++ MbedOS Error Info ++
Error Status: 0x80FF0144 Code: 324 Module: 255
Error Message: Assertion failed: data_bits == 8
Location: 0x5B71
File: /extras/mbed-os.lib/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/serial_api.c+168
Error Value: 0x0
For more info, visit: https://mbed.com/s/error?error=0x80FF0144&tgt=KL25Z
-- MbedOS Error Info --
OS6のprintf
OS6はまだ使ったことがないが、いずれ使うことになるのかもと思っている。しかしこんな記事があった。
Hitchhiker’s Guide to Printf in Mbed 6
いくつか、mbed_app.jsonで再定義しなくてはならないそうだ。
日本語のフォーラムに質問されているものをリンクする
https://forums.mbed.com/t/nucleo-keil-studio/22433
Replicant Nucleo UNIT3
Nucleo UNIT2と同サイズでピン配置も同じにしました。青いのがUNIT2で、白いのが今回のUNIT3です。ちなみに、以前から思ってましたがこの白レジストはElecrowでは仕上がりがイマイチですね。ところどころ切れてますしSolderMaskのキレがイマイチです。白だから余計目立つと言うことかもしれませんが。
VisualStudioでシリアル送受信
mbedでシリアル通信部分を作成し、Teratermで送受信するのはよくやることであるが、大量のデータあるいは、もっと高速にするとなると、teratermの画面表示がボトルネックで追いつかなくなる。たとえば、PCの清野にもよるだろうが、1ms間隔でデータを受け取るなど。。
そこで、pyserialを使ってpythonで受信する方法があるが、これはこれで遠くに課題はないのだが、唯一止めたいときに、consoleでCTRL-Cを押してブレークしないといけないところ。また人にこうやってというにはpythonの導入から始まりどうやって使うかを教えてあげないといけないという敷居がある。そこで、アプリにできないかな、と考えた。
SerialPort
VisualStudio2022のそのままだと、SerialPortのToolが出てこない。ググった結果、プロジェクトにあるNugetパッケージの管理で追加でパッケージを入れればよいようだ。
まずは、何か適当なプロジェクトを作って、Nugetパッケージ管理を選ぶ
K64FからVisualStudioでシリアル受信する
受信だけできるようにするのにかなり手間取りました。
SerialPort
普通にインストールしたら、SerialPortというツールボックスが出てこない。
USBSerialの送受信
これ、もしかしたらK64Fだけかもしれないが、SDA経由のCOMだと普通に送受信できたのに、USBSerialだと、teratermでは送受信できるのにVisualStudioからだと、だんまり。
どうも、ハンドシェークが必要らしい(そういう意味じゃないのかもしれないが)
serialPort1.DtrEnable = true;
serialPort1.Open();
serialPort1.DiscardInBuffer();
ここに似た情報があった。
とりあえず、ここまで。
M5Stack用Sigfoxモジュール
SNOCのSigfox Breakout Board [BRKWS01]が購入できなくなった。今だけかもしれないが市場にはなさそうである。共立にたくさん在庫があったようだが、販売終了になっていた。開発キットを拡販することはもう終わりにして事業収益に特化するような動きになっているのかもしれない。
23年5月時点で入手できたものに、M5Stack用のモジュールがある。スイッチサイエンスで、現時点で在庫が10個。売り尽くしたら販売終了となると考えられる。