鳥なき里のマイコン屋(137) ラズパイPico、C/C++SDKでPIO、サイド出力

LOGANADUT
Joseph Halfmoon

前回は、ラズパイPicoのユニークなPIO(Programable IO)でパラレル入出力をやってみました。ただし、出力タイミングはCPUからの書き込み次第でした。今回は、CPUタイミングを排除し、ハード側の一定のタイミングで出力するとともに、パラレル出力には必須のストローブ信号を付加してみたいと思います。

“鳥なき里のマイコン屋(137) ラズパイPico、C/C++SDKでPIO、サイド出力” の続きを読む

鳥なき里のマイコン屋(136) ラズパイPico、C/C++SDKでPIO、今度は入力

PIO002DUT_Schematic
Joseph Halfmoon

ラズパイPicoのPIO(Programable IO)、前回は任意のデータの8ビットパラレル出力を行ってみました。今回は、前回の8ビット出力に加えて、4ビットのパラレル入力を追加してみたいと思います。実験用に外付け回路を追加。でもまだまだPIOアセンブラは数行、極めてシンプルであります。

“鳥なき里のマイコン屋(136) ラズパイPico、C/C++SDKでPIO、今度は入力” の続きを読む

鳥なき里のマイコン屋(135) ラズパイPico、C/C++SDKでPIO、多ビット出力

PIO 8bit output
Joseph Halfmoon

ラズパイPicoのPIOですが、MicroPythonから使う方が簡単かな~などと思う今日この頃です。でもこちらのシリーズでは気を取り押してC/C++SDKでやります。さて、前回は単純bit-bangingでしたが、今回は任意の多ビットの値をPIO使って出力してみたいと思います。こんな進捗では何時までかかることやら。まあ急ぐ理由もなし。

“鳥なき里のマイコン屋(135) ラズパイPico、C/C++SDKでPIO、多ビット出力” の続きを読む

鳥なき里のマイコン屋(134) ラズパイPico、C/C++SDKでプログラマブルIO

PIO000_DUT
Joseph Halfmoon

他のマイコンでPIOと言えばパラレルIOでしょうが、ラズパイPico(のRP2040マイコン)では違います。プログラマブルIO。CPUとは独立に動作するIO専用のステートマシン。「MicroPython的午睡」シリーズで何度か使ってみましたが、C/C++から使うときはお作法が違う、ということで今回はPIO使ったオブジェクトのビルドのサンプル、bit-bangingを。

“鳥なき里のマイコン屋(134) ラズパイPico、C/C++SDKでプログラマブルIO” の続きを読む

鳥なき里のマイコン屋(133) ラズパイPico、C/C++SDKでマルチコアもお手軽

multcoreDUT
Joseph Halfmoon

別シリーズのMicroPythonの方でマルチコアやっていたので、C/C++SDKでもやった気になっていました。仕切り直し。C/C++SDK環境(VS Codeでリモート接続)でマルチコアを動かして、デバッガを使ってみます。お手軽にデバッグできるんだが、腑に落ちない挙動が一つ。概ねOKだから、また今度ね。いい加減な。

“鳥なき里のマイコン屋(133) ラズパイPico、C/C++SDKでマルチコアもお手軽” の続きを読む

鳥なき里のマイコン屋(132) ラズパイPico、何気に便利なpicotool

picotool_DUT
Joseph Halfmoon

あれ、このPico何書き込んであったかな?老人の忘却力とて、先週書き込んだプログラムが何だったのか思い出せない、ということは不可避なんであります。しかし流石Raspberry Pi、素晴らしいツールが用意されていました。picotool。ラズパイPicoのFlashの中のオブジェクトの情報を取り出せるツールです。

“鳥なき里のマイコン屋(132) ラズパイPico、何気に便利なpicotool” の続きを読む

鳥なき里のマイコン屋(131) ラズパイPico、PWM、外部クロック、周波数カウンタ

clk_sys_DUT
Joseph Halfmoon

昨日の投稿にてラズパイPicoのPWM出力を使ってみました(トホホ2つ。)基本的な設定はデフォのまま動作させましたが、PWMのカウントの元になるクロックは何なの、周波数はいくら、などいくつも疑問を持ちました。今回は実験しながらそのあたりをハッキリさせていきたいと思います。

“鳥なき里のマイコン屋(131) ラズパイPico、PWM、外部クロック、周波数カウンタ” の続きを読む

鳥なき里のマイコン屋(130) VS CodeでラズパイPico、GPIOで割り込み

Pico_GPIO_INT_DUT
Joseph Halfmoon

先週からRaspberry Pi Pico C/C++ SDKをボチボチと試用しております。前回は高水準なTimer関数(インターバルタイマ)を勉強。まずは基礎からということで今回はGPIOです。ただ読み書きするだけでは面白くないので、端子からの割り込みをトリガにワンショットタイマも動作させてみたいと思います。
“鳥なき里のマイコン屋(130) VS CodeでラズパイPico、GPIOで割り込み” の続きを読む

鳥なき里のマイコン屋(129) VS CodeでラズパイPico、SDKのTimerを使う

iTimerTst0DUT
Joseph Halfmoon

前回まででPC上のVS Codeから、ラズパイPicoの母艦であるラズパイ4に接続してビルド&デバッグを行う環境ができました。環境ができるとホッとして止まってしまう。。。それではイケない。ボチボチとRaspberry Pi Picoの C/C++ SDKを使ってみて行きたいと思います。まずはTimerで定周期で関数を呼び出すところから。

“鳥なき里のマイコン屋(129) VS CodeでラズパイPico、SDKのTimerを使う” の続きを読む

鳥なき里のマイコン屋(128) VS CodeでラズパイPico、プロジェクトファイル生成

tst1DIR
Joseph Halfmoon

ビルドとデバッグ、2件のトホホを乗り越えて、ラズパイ4にリモート接続のVS Codeを使ってのラズパイPicoの開発環境整備も山は越えた?感じです。でも必要なプロジェクトファイル類、まだ手動で準備しているものが多いんでないかい。いつものことながらラズパイの中の人はそんなことお見通し、自動化ツールがありました。

“鳥なき里のマイコン屋(128) VS CodeでラズパイPico、プロジェクトファイル生成” の続きを読む