mbed

[mbedノート]符号有り無しでどうなる?

ee9king に投稿

[mbedノートから移植]

unsigned short aa;
signed short bb;
bb=-300;
TFT.printf("%d[%04X]\n\r",bb,bb);
aa=(unsigned short)bb;
TFT.printf("%d[%04X]\n\r",aa,aa);
bb=(signed short)aa;
TFT.printf("%d[%04X]\n\r",bb,bb);
TFT.printf("%d\n\r",sizeof(signed short));
TFT.printf("%d\n\r",sizeof(unsigned short));

結果は、

-300[FFFFFED4]
65236[FED4]
-300[FFFFFED4]
2
2

と、符号ありのときのサイズが4になるのは、たぶん内部4バイト処理だからだろうけどか、わからないけど、変換はできているみたい。

 

mbed-ce難航しとります

ee9king に投稿

下記プロジェクトを使ってやってみましたが・・・(ToolChainのインストールでも一悶着あったが気がしてるんだが、忘れた。ずいぶんやり始めてから時間が経ったから)、環境はMacOS Sonoma14.7.2(intel)です。このマシンは今秋のUpdateには漏れてしまった。また初売りで買おうかな・・

VS-codeでビルドするところまでガイドに沿ってできていると思うのだが、

Project Setup: VS Code

OSをビルドする時点でエラーが出ている。というかこれはエラーなのか?

Nucleo mbedのSPI

ee9king に投稿

いまさら?、初めて知ったんですが、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 KL25Zのシリアル

ee9king に投稿

ふむ、どうもシリアル設定の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

ee9king に投稿

OS6はまだ使ったことがないが、いずれ使うことになるのかもと思っている。しかしこんな記事があった。

Hitchhiker’s Guide to Printf in Mbed 6 

いくつか、mbed_app.jsonで再定義しなくてはならないそうだ。

日本語のフォーラムに質問されているものをリンクする

https://forums.mbed.com/t/nucleo-keil-studio/22433