mbed-ce でelecrowのe-paper動かせた
やっと、ここまできた?、、という感じかな
mbed-ce難航中3
この波線が消えんのよ!
このままでもビルドはできて、できたバイナリは正常に動作するのだが。気持ち悪い。これはTargetがF411で、
problemsのところに、『ソース ファイルを開けません "stm32f4xx.h" (dependency of "mbed.h")』 と出てる。
インテリセンス?構文のヒントというか定義への説明などはうまくできてない感じがするねー。いくつかググったのをやったりずっとしてるんだけど。そもそも、いつから波線になったのかが不明だし。
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を使えるようにしないと・・・
Replicant Nucleo UNIT3
Nucleo UNIT2と同サイズでピン配置も同じにしました。青いのがUNIT2で、白いのが今回のUNIT3です。ちなみに、以前から思ってましたがこの白レジストはElecrowでは仕上がりがイマイチですね。ところどころ切れてますしSolderMaskのキレがイマイチです。白だから余計目立つと言うことかもしれませんが。
sigfox+Nucleo
sigfox、開発キットの1年間無料枠がなくなったが、2台目を購入した。稼働しているmsp430の内蔵温度センサは継続するとして、BME280の環境センサーを使った、温湿度気圧を同時に蓄積しようとかんがえたが、MSP430のI2Cがどうにもうまく設定できない。
MSP430のI2CはG2452のUSIでよく使っているので、気にしてなかったが、G2553のUSCIだとどうにもうまく設定できず、通信できたりできなかったりでつまづいたまま。USIはSPIとI2Cのみサポートしている。USCIはUARTもサポートしている。チャンネルは複数使えるはずだし端子も間違ってない。sigfoxDevKitはUARTなので、G2553を使うしかないのだが、現在あきらめ中。
そこで、Nucleoのmbedで実験していみた。簡単に実現できるのだが、OS5.15だからか?単3乾電池新品で半月ってところ・・・う〜っむ、マイコンしか乗ってない基板を作り直してるので、OSじゃなければ、そんなことないと思うけどなー。
Nucleo SPI CLK
Nucleo(F411RE)のSPIクロックが想定通りにならなかった。2MHzで1.5MHzs、1.5MHzで750KHz・・・。半分というとそうでもない。。。
コミュニティーで答えをもらったのだが、結論としては、データシートをよく読みなさいということだと思われます。mbedで遊んでいると、ターゲットを変えるだけで普通に動いてhしまうため、そこがどうしても、気づかなくなってしまう。それに、KL25の時はあまり気にせずほとんどがその通りに動いていた。(実際、今回の件もあり確認したが細かく設定できる)
printf(“SystemClock=%d[Hz]\r\n”, SystemCoreClock);
クロック出力できるとのことでmNucleo-F411では内蔵発振、外部水晶時ともに、96MHzと出力される。
Nuleo-F411では、SPIクロックソースは内部クロックの分周を利用するがその設定が3ビットしかないとのことである。データシート
Nucleo 今度は外部クロック
今度は外部クロックでハマった。こっちのブックに記載。
mbed-osのなかで、内部クロックが有効にされているため外部振動子を実装しても外部クロックに切り替わってくれないということのように思う。
最初に参考にしたページ
https://os.mbed.com/questions/79122/Nucleo-F303K8MSO/
Replicant Nucleo UNIT2
frdmのUNIT2と同サイズの基板としてみます。ピン配列は同じになりませんがピン位置は同じです。
Replicant Nucleo UNIT1
mbedはずっと、fresscaleが好きでずっとずっとfrdm-KL25zを使ってきて小さいターゲットボードもたくさん作ってますが、あれで終わりにして、Nucleoに変える積もりになっています。なんでかっていうと、一番は、Windows10でのSDAがうまく動かないという点です。自分で使う分にはもうSDA部分はWindows10対応にしてしまっているので困らないですが、人に伝えたり渡したりするときにどうしても躓いてしまいます。また新しいボードを購入したときもそうです。Windows7にするとうまく行くと言うことはわかっているんですが、それを探すのものねー。会社には捨てずに置いてるマシンがありますが。もうすぐ定年だし。
NucleoはIDE部分(ST-Link)を切り離して動作することを確認してから(主に配線ですが)ターゲットボードを作ってみました。うまく動いてるようです。NucleoはF411REを使用します。今回は、Nucleoと同じピン配列にUSBコネクタを追加したものとしました。