STM32 HAL、ゆっくり勉強中

By 酔漢 - Last updated: 日曜日, 10月 29, 2017

STM32マイコンのHALをゆっくりと勉強中です。

このブログでも少し紹介しましたが、GPIOを一通りいじって理解できたところです。割り込みについても簡単な実験をしましたが、多分ブログに書いたことは間違っているので書き直しが必要です。STM32のHALでは割り込みハンドラをユーザーに触らせず、weak宣言されたHALのデフォルト・コールバックをユーザーによってオーバーライドさせる方針のようです。

最近はI2CのHALをいじっています。STM32のI2C HAL関数には

の三種類があります。これらについては意図するところもわかりやすいです。が、これらの他に「メモリへの転送」というよくわからない関数があって困惑しています。今のところ無視して困っていません。しかし当たり前のようにこの関数を使っている方々も居て、少々居心地が悪いです。そもそもマニュアルに何も説明していないというのは、いったいどういう了見でしょうか。

それから、STM32のI2C HAL関数には”sequential”と名付けられた関数があります。これは最初何のことやらわからなかったのですが、I2Cのrepeated startを扱う関数群だそうです。だったら、”repeated_start”と名付ければいいのです。わざわざ見当違いの名前に変えるとは、いったいどういう了見でしょうか。

また、これらのrepeated startに対応する関数は割り込み転送には対応していますが、DMA転送には転送していません。いったいどういう了見でしょうか。

そして何より、I2Cデバイス・アドレスを「1 bit左にシフトして」引数に渡せと書いてあります。デバイスのレジスタどころか、I2Cプロトコルのビット配置にあわせるためにC言語の関数の引数をユーザーに調整させるとは驚きです。なぜ、コンピュータができることを人間にやらせるのでしょうか。STの技術者はHALがHardware Abstraction Layerの略であることを知らないか、Abstraction – 抽象とは物事の細かい事を覆い隠すことだと知らないようです。知らないのにHALを設計するとは、いったいどういう了見でしょうか。

何というか、我々人類と違う現実把握能力を持つ宇宙人が英語で書いた文書を読み解いている気分ですが、とにかくSTM32 マイコンのHALを勉強しています。

Filed in 日記

UI基板のデバッグ

By 酔漢 - Last updated: 月曜日, 10月 9, 2017

先日作った、ラジオ用のUI基板をデバッグしています。

Read the rest of this entry »

Filed in 日記

ラジオ用のコンソール基板を作成

By 酔漢 - Last updated: 月曜日, 9月 18, 2017

3週間ほど前に発注したラジオのコンソール実験基板が先週届きました。同時に発注した部品も既に届いていますので、今日、組み立てました。

それにしても、昨日は涼しい一日でしたが、今日の暑さは何でしょうか。

「涼しくなったし電子工作やるぞ!」

と思った私が阿呆みたいです。

Read the rest of this entry »

Filed in 日記

割り込みを使う

By 酔漢 - Last updated: 水曜日, 9月 13, 2017

CubeMXを使ったスケルトンで、割り込みを使ってみました。

Nucleo F722ボードにはユーザーボタンがあり、これを押すたびにLED3が反転するようなプログラムです。ユーザーボタンで割り込みを発生させ、そのハンドラでLEDをトグルしました。

また、プログラムにはCubeMXで定義したシンボルを使ってみます。

Read the rest of this entry »

Filed in CubeMX

CubeMXでLチカ

By 酔漢 - Last updated: 日曜日, 9月 10, 2017

CubeMXに慣れるために、LEDチカチカを作ってみました。ホストOSはLinux、ターゲットはNucleo F722です。ビルドはSW4STM32を使います。

なお、CubeMXのオンラインマニュアルは非常に良く書かれています。一度通して読んだ方がいいでしょう。300ページも有りますが、1300ページ有るリファレンス・マニュアルを精読するよりも楽です。

Read the rest of this entry »

Filed in CubeMX

CubeMXはじめました

By 酔漢 - Last updated: 金曜日, 9月 8, 2017

STMicroelectronixは同社のARM CORTEX-M マイコンSTM32シリーズ用に、STM32CubeMXSW4STM32というソフトウェアをリリースしています。最近この2つのソフトウェアを触り始めました。

以下、メモ代わりにあれこれ書いておきます。

Read the rest of this entry »

Filed in CubeMX

OpenCV 3.3のDNNサンプルを動かす

By 酔漢 - Last updated: 水曜日, 8月 9, 2017

OpenCVの3.3をUbuntu 16.04 にインストールできたので、新しく公式サポートになったDNN ( Deep Neural Network )のデモをいくつか動かしてみました。

私の見たところでは、結構説明が雑なので「すぐさまスパっと動かしてプログラムを読んで理解できる」とはなっていませんでした。

Read the rest of this entry »

Filed in 日記 • Tags:

OpenCV 3.3 をUbuntu 16.04 にインストールする

By 酔漢 - Last updated: 土曜日, 8月 5, 2017

Open-CV 3.3がリリースされたので、早速Ubuntu 16.04 にインストールしてみました。

以前作ったインストールスクリプトを軽く修正するだけで十分です。

Read the rest of this entry »

Filed in 日記 • Tags:

Bluetooth対応ワットチェッカーが面白そう

By 酔漢 - Last updated: 日曜日, 7月 16, 2017

Amazonに面白い製品が出てきました。Bluetooth対応ワットチェッカーです。

ラトックシステム Bluetoothワットチェッカー REX-BTWATTCH1

ワットチェッカーは自宅でも使っていますが、コンセントというのは表示が読みにくい場所にあります。PCであれ、エアコンであれ、表示が大変読みにくいです。特に最近は眼が弱いので、まったく読めないです。

Bluetooth対応のこの製品はデータをスマホで受信できるため、数字が読みやすいという特徴があるのですが、データをスマホではなくスマホに蓄積することが出来ます。蓄積できるのは電力のみで、時間分解能は最も細かいときに1分。最大1500点となります。約1日ですね。

本体に蓄積しない場合はスマホから1秒ごとに電圧、電流、電力が測定できるようです。Bluetoothのプロファイルがシリアルで流れているデータがテキストなら、それこそはやりのIoTボードで電力以外のデータも好きな解像度で好きなだけ取得できます。

どんなプロファイルなんでしょうね。

Filed in 思いつき

Google Cloud Platformの課金がおかしなことになっていた

By 酔漢 - Last updated: 土曜日, 7月 15, 2017

ちょっと前に使い始めたGoogle Cloud Platformの課金がおかしな事になっていました。その経緯をここに書いておきます。いまだに何が起きたのか首をひねっていますが、googleから匿名でカード会社に請求が行っていたようです。

Read the rest of this entry »

Filed in 未分類