- 2023.12.17
ラズピコでRust(5) I2Cで温度計測
皆さん こんにちは。 ポンコツRustacean の moon です。 今回はADT7410を実装している温度センサーモジュールとラズピコをI2Cでつないでみました。 この記事は開発環境を構築することを前提にしています。 環境構築について知りたい方は こちらの記事 をご覧になってください。 このサイトは 書籍 基礎から学ぶ組込みRust を参考にしています。 I2Cとは 主にプリント基板上でマイコ […]
皆さん こんにちは。 ポンコツRustacean の moon です。 今回はADT7410を実装している温度センサーモジュールとラズピコをI2Cでつないでみました。 この記事は開発環境を構築することを前提にしています。 環境構築について知りたい方は こちらの記事 をご覧になってください。 このサイトは 書籍 基礎から学ぶ組込みRust を参考にしています。 I2Cとは 主にプリント基板上でマイコ […]
皆さん こんにちは。 ポンコツRustacean の moon です。 今回はウォッチドッグタイマーのコードを実装したところ、うまく動いてくれなかったのでその対策について書きます。 この記事は開発環境を構築することを前提にしています。 環境構築について知りたい方は こちらの記事 をご覧になってください。 このサイトは 書籍 基礎から学ぶ組込みRust を参考にしています。 ウォッチドッグタイマーと […]
皆さん こんにちは。 今回は、構築した環境のサンプルコードを簡単に説明した後 HAL と PAC についてお話します。 環境構築について知りたい方は こちらの記事 をご覧になってください。 それではさっそくソースコードを見ていきましょう。 main.rs 参考にしたソースコードは こちら です。 ここから設定やコードを少し省いてデバッグ環境で動かせるようにしたものがサンプルコードです。 Rustの […]
皆さん こんにちは。 今回は前回構築した構成を全体的に見ていきます。 前回の環境構築 により以下のディレクトリにパッケージ(プロジェクト)が構築されています。(xxxxは皆さんのユーザー名) C:\Users\xxxx\pprp\rp2040 (pprpは Pi Pico Rust Projectの略です) config.toml C:\Users\xxxx\pprp\rp2040 の下に .ca […]
皆さん こんにちは。 今回は Raspberry Pi Pico(通称ラズピコ)を Rustで動作させてデバッグするための開発環境を構築します。 ラズピコを2つ用意して、そのうちの1つをデバッグ用のプロープにすることでラズピコのソフトウェア開発環境をつくることができます。 デバッグ用のプローブはPicoprobeと呼ばれています。 開発環境 以下の通りです。 ホストPC : Windows10 開 […]
皆さん こんにちは。 今回は9つ目のソースコードに入れ替えて動作確認してみます。 第5部3章のタイトルは「ついに完成!自作OSでセンサとLCDを制御」です。 (2章デバイス・ドライバの部分は、こちらで説明できる内容ではなかったので割愛させて頂きました) この記事は開発環境を構築することを前提にしています。 開発環境を構築したい方は ゼロから作るOS 環境構築編 をご覧になってください。 この記事は […]
皆さん こんにちは。 今回からしめくくりの第5部に入ります。 第5部1章のタイトルは「ハードの準備…ジェスチャ・センサ, 光センサ, LCDを接続する」です。 今回は私の開発環境におけるセンサ類の接続方法等についてお話しします。 購入品 センサーをつなぐので購入品を見ていきます。 私はユニバーサル基板上にラズピコ2枚を実装しています。 基板を経由して配線したので、書籍の99ページに書か […]
皆さん こんにちは。 今回は8つ目のソースコードに入れ替えて動作確認してみます。 第4部3章のタイトルは「複数のタスク間での資源競合を防ぐ…セマフォによる排他制御」です。 この章ではセマフォが追加されました。 セマフォはRTOSで良く使われる機能ですからしくみごと覚えてしまいましょう。 この記事は開発環境を構築することを前提にしています。 開発環境を構築したい方は ゼロから作るOS 環 […]
皆さん こんにちは。 今回は7つ目のソースコードに入れ替えて動作確認してみます。 第4部2章のタイトルは「複数のタスク間で複雑な同期もできる…イベント・フラグ」です。 この章ではイベント・フラグが追加されました。 RTOSでは良く使われる機能ですから覚えておきましょう。 この記事は開発環境を構築することを前提にしています。 開発環境を構築したい方は ゼロから作るOS 環境構築編 をご覧 […]
皆さん こんにちは。 今回は6つ目のソースコードに入れ替えて動作確認してみます。 第4部1章のタイトルは「主に1対1のタスク同期に使われる…起床待ちと起床」です。 この章ではタスク起床API、タスク起床待ちAPIなどの機能が追加されました。 この記事は開発環境を構築することを前提にしています。 開発環境を構築したい方は ゼロから作るOS 環境構築編 をご覧になってください。 この記事は […]