前回はcomplex128型などを使ってしまいました。マイコンでも使えるということで心強いけど滅多に使わんのではないかと。一方、普段から一番お世話になりそうなのが byte型であります。そして「byte」に似たものに「bytes」という標準パッケージがあり、そこにはbytes.Buffer型が存在。どんなもんだか。
PIC三昧(12) FSM(信号測定タイマ)を使ってみる、PIC16F18855
ほとんどのマイコンではタイマの横にコンペア/キャプチャ/PWMといった入出力チャネルがぶら下がっていてそれらを駆使することで入力イベントの時間間隔とか、パルス幅、周期といったことを測定できます。勿論PICマイコンも同様なことを出来るのですが、専用のFSMモジュールが用意されてます。専用モジュールなので設定もお楽。
MicroPython的午睡(121) ESP32版、ULPで電圧を測ってみる
ここ数回、ESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コア、ULPをMicroPythonから試用中です。前回はデジタル信号の入力を試行。今回はアナログ信号の監視に使えないか実験してみます。なかなかいい感じでないかい。メインが寝ている裏でひっそりと監視するのにULPはピッタリだな。やっぱり。 “MicroPython的午睡(121) ESP32版、ULPで電圧を測ってみる” の続きを読む
モダンOSのお砂場(70) UNO R4、ルネサスRA4M1でFreeRTOS、サスペンド
タスクの一時停止(suspend)と再開(resume)を実験しようとしたのですが、勝手な割り込み端子への思い込みに足をすくわれました。Arduino UNO R4は32ビット機になったわけだし、その辺の端子はみな割り込みに使えるんじゃね?大間違い!Arduino UNOの伝統にのっとり、2番、3番だけなのね。律儀。
“モダンOSのお砂場(70) UNO R4、ルネサスRA4M1でFreeRTOS、サスペンド” の続きを読む
GoにいればGoに従え(32) math/cmplxをTinyGoで使う、ムムム早合点?
前回のキャリーだの、ボローだのの世界はこの老人には慣れ親しんだ世界にて居心地が良かったです。しかし今回使ってみるのは math/cmplxパッケージです。浮動小数点数ですらちょっと敷居が高いのに、そいつらの上に君臨する複素数はできれば避けたいデス。そんなこと考えていたら挙動不審。ムムムこの挙動はどゆこと?早合点よ。
PIC三昧(11) DSM(データ信号変調器)を使ってみる、PIC16F18855
別件でFM変調をやったので、今回はPIC16F搭載のペリフェラルDSMをつかってFSK変調をやってみます。DSMはパルス信号対象ですが、FSK、PSK、OOKで変調することができるモジュールです。変調波をキャリアに同期する機能などのオプションもあり優れものじゃないかと。変調してくれとクリクリするだけで変調OK、お楽。
MicroPython的午睡(120) ESP32版、ULPでパルス幅を測ってみる
ESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コアULPをMicroPythonから制御するための環境をESP32 DevKitC機にインストール済です。これは使ってみるしかないです。ということでまずはハイパルスのパルス幅を測定してみることにいたしました。まあね、できるっちゃできるけれども。
“MicroPython的午睡(120) ESP32版、ULPでパルス幅を測ってみる” の続きを読む
モダンOSのお砂場(69) UNO R4、ルネサスRA4M1でFreeRTOS、ヒープメモリ
前回、FreeRTOSの各種設定を決めるFreeRTOSConfig.hを読んでいて「思っていたのと違う」ところがありました。勝手に思いこんでいただけなんだけれども。今回もそんな思い込みを正して参りたいと思います。メモリの割り当てについてです。どっかヒープから割り当ててくれているのでないの?
GoにいればGoに従え(31) math/bitsをTinyGoで使う、その2
前回は、Goの標準ライブラリmath/bitsの中で、ビット・カウントとかローテイトとかバイナリ者には人気でも、一般ではあまり使われない操作を練習。今回はmath/bitsの残りを練習してみます。キャリー、ボロー付きの加減算、演算の前と後でビット幅が異なる乗算、除算です。アセンブラ書いていたら毎度お馴染みの者ども。
“GoにいればGoに従え(31) math/bitsをTinyGoで使う、その2” の続きを読む
PIC三昧(10) NCO(数値制御発振器)を使ってみる、PIC16F18855
前回は参照電圧を生成してくれるFVRを使ってみました。PICマイコンの良いところはハード搭載がなければ外付けになってしまう「お役立ち」回路がいろいろ搭載されており、かつその設定がソフトウエアでできるところじゃないかと思います。今回使ってみるのはNCO(数値制御発振器)です。お好みのクロックを生成できるもの。 “PIC三昧(10) NCO(数値制御発振器)を使ってみる、PIC16F18855” の続きを読む
MicroPython的午睡(119) ESP32版、ULPとULP開発環境のおまとめ
前回PyPIからESP32版MicroPythonで動作するULP開発環境をダウンロード、ターゲットのESP32 DevKitC機にインストールしました。ULPこそはESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コアであります。メインのコアがお休みしているときにも密に動作する影の存在。結構強力。
モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位
前回はDelayに関するAPIでした。今回はTaskのPriorityを操作してみます。今までPriorityはみんな「1」みたいなテキトーな設定をしてきました。優先順位を設定する実験してみることで勉強になるんでないかい、という目論見。しかし、改めて FreeRTOSConfig.h を読んでみると思っていたのと違う?
“モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位” の続きを読む
小ピンマイコンの酷暑(5) CH32Vのモデル?STM32のHALレイヤの使用 その2
前回書いたとおり、WCHのRISC-V搭載マイコンCH32Vは、STM32をリスペクトしているのか、HALレイヤの関数がクリソツです。先にSTM32のHALレイヤで予習しておいたらCH32VでHALレイヤを使うのも楽なんでないかと。学習教材としてはタイマからPWM出力するのをHALレベルでやってみようと。メンドイけど。 “小ピンマイコンの酷暑(5) CH32Vのモデル?STM32のHALレイヤの使用 その2” の続きを読む
GoにいればGoに従え(30) math/bitsをTinyGoで使ってみる
前回まで標準ライブラリのcontainerを練習してましたが、今回からmathに入ります。最初はmath/bitsです。ここにはMCU(マイクロ・コントローラ・ユニット、間違えてもマーベルなんたらではありませんぞ)使うときに必要になりそうな者どもが控えております。バイナリ者(忍者の一種?)にはお馴染みの操作かと。 “GoにいればGoに従え(30) math/bitsをTinyGoで使ってみる” の続きを読む