PIC三昧(12) FSM(信号測定タイマ)を使ってみる、PIC16F18855

SMT_PinMGR
Joseph Halfmoon

ほとんどのマイコンではタイマの横にコンペア/キャプチャ/PWMといった入出力チャネルがぶら下がっていてそれらを駆使することで入力イベントの時間間隔とか、パルス幅、周期といったことを測定できます。勿論PICマイコンも同様なことを出来るのですが、専用のFSMモジュールが用意されてます。専用モジュールなので設定もお楽。

“PIC三昧(12) FSM(信号測定タイマ)を使ってみる、PIC16F18855” の続きを読む

MicroPython的午睡(121) ESP32版、ULPで電圧を測ってみる

ESP32ULP_ADC_DUT
Joseph Halfmoon

ここ数回、ESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コア、ULPをMicroPythonから試用中です。前回はデジタル信号の入力を試行。今回はアナログ信号の監視に使えないか実験してみます。なかなかいい感じでないかい。メインが寝ている裏でひっそりと監視するのにULPはピッタリだな。やっぱり。 “MicroPython的午睡(121) ESP32版、ULPで電圧を測ってみる” の続きを読む

モダンOSのお砂場(70) UNO R4、ルネサスRA4M1でFreeRTOS、サスペンド

ArduinoUNO_R4_DUT
Joseph Halfmoon

タスクの一時停止(suspend)と再開(resume)を実験しようとしたのですが、勝手な割り込み端子への思い込みに足をすくわれました。Arduino UNO R4は32ビット機になったわけだし、その辺の端子はみな割り込みに使えるんじゃね?大間違い!Arduino UNOの伝統にのっとり、2番、3番だけなのね。律儀。
“モダンOSのお砂場(70) UNO R4、ルネサスRA4M1でFreeRTOS、サスペンド” の続きを読む

GoにいればGoに従え(32) math/cmplxをTinyGoで使う、ムムム早合点?

complexResults
Joseph Halfmoon

前回のキャリーだの、ボローだのの世界はこの老人には慣れ親しんだ世界にて居心地が良かったです。しかし今回使ってみるのは math/cmplxパッケージです。浮動小数点数ですらちょっと敷居が高いのに、そいつらの上に君臨する複素数はできれば避けたいデス。そんなこと考えていたら挙動不審。ムムムこの挙動はどゆこと?早合点よ。

“GoにいればGoに従え(32) math/cmplxをTinyGoで使う、ムムム早合点?” の続きを読む

PIC三昧(11) DSM(データ信号変調器)を使ってみる、PIC16F18855

DSM_pins
Joseph Halfmoon

別件でFM変調をやったので、今回はPIC16F搭載のペリフェラルDSMをつかってFSK変調をやってみます。DSMはパルス信号対象ですが、FSK、PSK、OOKで変調することができるモジュールです。変調波をキャリアに同期する機能などのオプションもあり優れものじゃないかと。変調してくれとクリクリするだけで変調OK、お楽。

“PIC三昧(11) DSM(データ信号変調器)を使ってみる、PIC16F18855” の続きを読む

MicroPython的午睡(120) ESP32版、ULPでパルス幅を測ってみる

ESP32ULP_INs
Joseph Halfmoon

ESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コアULPをMicroPythonから制御するための環境をESP32 DevKitC機にインストール済です。これは使ってみるしかないです。ということでまずはハイパルスのパルス幅を測定してみることにいたしました。まあね、できるっちゃできるけれども。
“MicroPython的午睡(120) ESP32版、ULPでパルス幅を測ってみる” の続きを読む

モダンOSのお砂場(69) UNO R4、ルネサスRA4M1でFreeRTOS、ヒープメモリ

Heap
Joseph Halfmoon

前回、FreeRTOSの各種設定を決めるFreeRTOSConfig.hを読んでいて「思っていたのと違う」ところがありました。勝手に思いこんでいただけなんだけれども。今回もそんな思い込みを正して参りたいと思います。メモリの割り当てについてです。どっかヒープから割り当ててくれているのでないの?

“モダンOSのお砂場(69) UNO R4、ルネサスRA4M1でFreeRTOS、ヒープメモリ” の続きを読む

GoにいればGoに従え(31) math/bitsをTinyGoで使う、その2

bits2EC
Joseph Halfmoon

前回は、Goの標準ライブラリmath/bitsの中で、ビット・カウントとかローテイトとかバイナリ者には人気でも、一般ではあまり使われない操作を練習。今回はmath/bitsの残りを練習してみます。キャリー、ボロー付きの加減算、演算の前と後でビット幅が異なる乗算、除算です。アセンブラ書いていたら毎度お馴染みの者ども。
“GoにいればGoに従え(31) math/bitsをTinyGoで使う、その2” の続きを読む

PIC三昧(10) NCO(数値制御発振器)を使ってみる、PIC16F18855

NCO_DUT
Joseph Halfmoon

前回は参照電圧を生成してくれるFVRを使ってみました。PICマイコンの良いところはハード搭載がなければ外付けになってしまう「お役立ち」回路がいろいろ搭載されており、かつその設定がソフトウエアでできるところじゃないかと思います。今回使ってみるのはNCO(数値制御発振器)です。お好みのクロックを生成できるもの。 “PIC三昧(10) NCO(数値制御発振器)を使ってみる、PIC16F18855” の続きを読む

MicroPython的午睡(119) ESP32版、ULPとULP開発環境のおまとめ

ESP32_ULP_Subsystem
Joseph Halfmoon

前回PyPIからESP32版MicroPythonで動作するULP開発環境をダウンロード、ターゲットのESP32 DevKitC機にインストールしました。ULPこそはESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コアであります。メインのコアがお休みしているときにも密に動作する影の存在。結構強力。

“MicroPython的午睡(119) ESP32版、ULPとULP開発環境のおまとめ” の続きを読む

モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位

TASKs
Joseph Halfmoon

前回はDelayに関するAPIでした。今回はTaskのPriorityを操作してみます。今までPriorityはみんな「1」みたいなテキトーな設定をしてきました。優先順位を設定する実験してみることで勉強になるんでないかい、という目論見。しかし、改めて FreeRTOSConfig.h を読んでみると思っていたのと違う?
“モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位” の続きを読む

小ピンマイコンの酷暑(5) CH32Vのモデル?STM32のHALレイヤの使用 その2

ResultWaveForm
Joseph Halfmoon

前回書いたとおり、WCHのRISC-V搭載マイコンCH32Vは、STM32をリスペクトしているのか、HALレイヤの関数がクリソツです。先にSTM32のHALレイヤで予習しておいたらCH32VでHALレイヤを使うのも楽なんでないかと。学習教材としてはタイマからPWM出力するのをHALレベルでやってみようと。メンドイけど。 “小ピンマイコンの酷暑(5) CH32Vのモデル?STM32のHALレイヤの使用 その2” の続きを読む

GoにいればGoに従え(30) math/bitsをTinyGoで使ってみる

MathBitsEC
Joseph Halfmoon

前回まで標準ライブラリのcontainerを練習してましたが、今回からmathに入ります。最初はmath/bitsです。ここにはMCU(マイクロ・コントローラ・ユニット、間違えてもマーベルなんたらではありませんぞ)使うときに必要になりそうな者どもが控えております。バイナリ者(忍者の一種?)にはお馴染みの操作かと。 “GoにいればGoに従え(30) math/bitsをTinyGoで使ってみる” の続きを読む

PIC三昧(9) FVR(固定参照電圧源)を使ってみる、PIC16F18855

FVR_setting
Joseph Halfmoon

前回は内蔵アナログコンパレータを使って外部電圧2つを比較してみました。今回はアナログコンパレータの入力電圧の一方を内蔵のFVR(FIXED VOLTAGE REFERENCE)としてみます。ありがちな1.024Vとその2倍、4倍の電圧が内部のADC、DACそしてコンパレータで参照できるようになってます。便利。
“PIC三昧(9) FVR(固定参照電圧源)を使ってみる、PIC16F18855” の続きを読む