- 2023.07.07
ラズピコ ゼロから作るOS 動作確認編 第2部3章
皆さん こんにちは。 この記事はインターフェース誌2023年7月号の「ゼロから作るOS」を参考にしています。 まずは書籍の本章を読んで予習しておくことをお薦めします。 私はまず110ページのを読んでマイコンの基礎を学んだ後、第1部から読み進めています。 読むだけでは頭に入らないので、今回からソースコードをIDEに取り入れて動作させてみることにしました。 ソースコードは 第2部3章、第2部4章、 第 […]
皆さん こんにちは。 この記事はインターフェース誌2023年7月号の「ゼロから作るOS」を参考にしています。 まずは書籍の本章を読んで予習しておくことをお薦めします。 私はまず110ページのを読んでマイコンの基礎を学んだ後、第1部から読み進めています。 読むだけでは頭に入らないので、今回からソースコードをIDEに取り入れて動作させてみることにしました。 ソースコードは 第2部3章、第2部4章、 第 […]
皆さん こんにちは。 今回はCQ出版社から出ているインターフェース2023年7月号の記事「ゼロから作るOS」の環境構築について書いていきます。 こちらでは本に書かれている通りで問題なく動作しましたが、うまく環境を構築できない方のためにまとめておきます。 触り程度しか記事を読んでいませんけれど、組み込みOSを学ぶにはとても良い教材だと思います。 デバッガーをつないで動作させることで、より詳しく組み込 […]
皆さん こんにちは。 今回は PIO を使って UART で受信してみます。 PIOについて詳しく知りたい方は PIO~解説編~ をご覧になってください。 受信した文字をループバックして送信するのに、前回説明した送信のコードを使っています。 (タイトルは「UARTで受信してみる」ですが、実際には送受信しています) UARTのフォーマット UARTで送受信する電文のフォーマットがわかっていないとPI […]
皆さん こんにちは。 今回は PIO を使って UART で送信してみます。 PIOについて詳しく知りたい方は PIO~解説編~ をご覧になってください。 UARTのフォーマット UARTで送受信する電文のフォーマットがわかっていないとPIOで送信するプログラムを書くことができません。 まずはフォーマットを確認しておきましょう。 このフォーマットはマイコン端子で見た論理レベルになります。 当然、送 […]
皆さん こんにちは。 今回は PIO を使ってLチカしてみます。 開発環境は C/C++ SDK です。 環境構築やプロジェクトのつくり方 環境構築やプロジェクトのつくり方、VSCodeの起動については、このブログの一番最初の記事に書きました。 環境構築してみたい方は こちら をご覧になってください。 プロジェクトジェネレーターの”Library Option”で R […]
皆さん こんにちは。 今回はラズピコのマイコン RP2040 の目玉機能である PIO についてお話します。 ネット上に「ラズピコPIO」の記事はゴロゴロしていますがデータシートと手持ちの本を参考にしながら私なりにPIOについてまとめてみることにしました。 PIOとは PIOとは prgrammable input / output の略で、端子の部分とマイコン中核部の仲介役をプログラマブルに行う […]
皆さん こんにちは。 今回は ADC を使ってみます。 ADCとは アナログ・ディジタル・コンバーターの略です。 文字通りアナログの電圧をディジタルに変換する機能です。 ここでは ADC と略して呼ぶことにします。 温度測定 ラズピコのマイコン RP2040 には電圧出力の温度センサーが内蔵されていてADCにつながっています。 ADCには5つの入力があり、ain_sel = 4 で温度センサーの電 […]
皆さん こんにちは。 今回は ウォッチドッグタイマーを使ってみます。 ウォッチドッグタイマーとは 番犬タイマーと呼べば良いでしょうか。 カウンターを監視していて、オーバーフローするとマイコンにリセットがかかるというものです。 例えばプログラムが暴走して動かなくなった場合にリセットをかけて正常に動作させる役割を持ちます。 通常はリセットがかからないようにカウンターをリフレッシュしてあげます。 ひと昔 […]
皆さん こんにちは。 今回はコアを2つ動かしてみます。 私の場合マルチコアの製品を使うのは ESP32 に続いて今回が2回目になります。 ラズピコのマイコン RP2040 の場合、比較的簡単にマルチコアの動作が実現できます。 プロジェクトの作成 以下の設定でプロジェクトを作成します。 Project Name: picoMulticore Console Options の Console ove […]
皆さん こんにちは。 今回は PWM出力を使ってみます。 PWMとは PWMとは、Pulse Width Modulation の略で、日本語ではパルス幅変調といいます。 GPIOからパルスを出力する機能です。 パルス幅を変えることでモーターを制御したり、LEDの明るさ調節を行ったりすることができます。 今回はラズピコに載っている緑色のLED(D2)をPWM出力で制御して明るさを調節してみます。 […]