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
Nucleo クロックソース
Nucleoの水晶振動子
Nucleo基板(F411RE)には、水晶振動子が二つあり、そのうち32.768KHz(X2)は実装されている。mbedのTickerで時間を刻むと、少し短めになった。1msに対して985usあたり、1~2%の誤差であり、これはセンシング精度としては大きい。会社業務で使用していたため、問題があった。回路図を見ると、X3は8MHzであるが実装されてない。NucleoのDocumenntには、実装すれば自動で切り替わると書いてある。Target基板を作った際、実装できるようにしてあったので、X3を実装したもののTickerの時間精度が上がらず(変わらず)外部クロックが機能していないようだった。
オシロスコープで発振子の振動波形を見たところ、まったく振動していない。しかも、X2もまったく振動していなかった。mbedの中で外部クロックが有効とされずに内部クロックで動いているように思えた。
target.json の中の"STM32F4"に、"clock-source"の記述でHSIを使うようになっていたので、記述をまねして、下記のようにプロジェクトの中のmbed_app.jsonに記述する。
mbed-os5でUSBSerial
os2からos5へ変えていきなさいということを言われているらしいので、数週間ずっとチャレンジしていました。
直近でやりたかったことは、Keil Studio Cloudのos2では実現できていたので、これをos5に移行する試みだった。os5はmbed-os-example-blinky5を作って、LEDの点滅動作ができていることを確認してのち、USBSerialを追加するもの。