Rust

2/3ページ
  • 2022.03.12

STM32 Rust halを使ってUARTを抽象化してみる

今回はhalを使ってUARTを抽象化してみます。 前回ベアメタル系の記事を書いたので、その halバージョンです。 概要については 前回の記事 をご覧になってください。 halにSerial構造体があります。 前回パリティエラーなどのエラー検出処理を書きましたが、2022年3月時点でSerial構造体には基本的なメソッドしかありませんでした。 こちらでつくるプロジェクトから見ると Serial構造 […]

  • 2022.03.05

STM32 Rust ベアメタルにUARTを使ってみる

今回はUARTを使ってみます。 ベアメタルと言われているレジスタにアクセスする方法を使います。 開発環境は以下の通りです。 PC:Windows10 OS Board:STM32Nucleo-F401RE デバイス:STM32F401RE エディタ:VSCode 言語:Rust ボードの情報は こちら からご覧いただけます。 環境構築については こちら をご覧になってください。 UARTとは UA […]

  • 2022.02.27

STM32 Rust モジュール化してファイルを分ける

前回GPIOを抽象化し、SwとLed構造体をつくりました。 今までソースコードは全て main.rs に記述してきましたが、規模が大きくなるとファイルを分ける必要が出てきます。 規模は小さいけれど、SwとLed構造体の部分だけを別のファイルに分けてみます。 Sw(スイッチ)の方は Nucleoボードに対して追加の回路が必要です。 回路については 前々回の記事 をご覧になってください。 開発環境は以 […]

  • 2022.02.26

STM32 Rust halを使ってGPIOを抽象化してみる

今回はhalを使ってGPIOを抽象化し、SwとLed構造体をつくってみます。 Sw(スイッチ)の方は Nucleoボードに対して追加の回路が必要です。 回路については 前回の記事 をご覧になってください。 開発環境は以下の通りです。 PC:Windows10 OS Board:STM32Nucleo-F401RE デバイス:STM32F401RE エディタ:VSCode 言語:Rust ボードの情 […]

  • 2022.02.23

STM32 Rust ベアメタルにGPIO入力する

今回は GPIO の入力を操作してみます。 今回もベアメタルと言われているレジスタにアクセスする方法を使います。 開発環境は以下の通りです。 PC:Windows10 OS Board:STM32Nucleo-F401RE デバイス:STM32F401RE エディタ:VSCode 言語:Rust ボードの情報は こちら からご覧いただけます。 環境構築については こちら をご覧になってください。 […]

DWT
  • 2022.02.19

STM32 Rust cortex-m のDWTで時間を計測する

今回はDWTを使ってみます。 今回もベアメタルと言われているレジスタにアクセスする方法を使います。 開発環境は以下の通りです。 PC:Windows10 OS Board:STM32Nucleo-F401RE デバイス:STM32F401RE エディタ:VSCode 言語:Rust ボードの情報は こちら からご覧いただけます。 環境構築については こちら をご覧になってください。 DWTとは デ […]

PWM
  • 2022.02.12

STM32 Rust ベアメタルにPWMを使ってみる

今回はPWM出力を使ってみます。 ベアメタルと言われているレジスタにアクセスする方法を使います。 開発環境は以下の通りです。 PC:Windows10 OS Board:STM32Nucleo-F401RE デバイス:STM32F401RE エディタ:VSCode 言語:Rust ボードの情報は こちら からご覧いただけます。 環境構築については こちら をご覧になってください。 PWMとは PW […]

  • 2022.02.11

STM32 Rust cortex-m の Delay を使って待つ

今回は cortex-m の Delay を使ってみます。 ネット上で stm32 と delay のキーワードで検索をかけると、HAL を使った Delay の記事が多く見つかりました。 cortex-Mって SysTick があるからHALを使わずにやる方法ないかな?と思って探してみたら、ありましたねぇ。 というわけで今回もHALは使わずにベアメタルでいってみましょう。 開発環境は以下の通りで […]

  • 2022.02.10

STM32 Rust ベアメタルにタイマー割り込みを使う

今回はタイマー割り込みを使って1秒毎にLチカしてみます。 前回と同じベアメタルと言われているレジスタにアクセスする方法を使います。 開発環境は以下の通りです。 PC:Windows10 OS Board:STM32Nucleo-F401RE デバイス:STM32F401RE エディタ:VSCode 言語:Rust ボードの情報は こちら からご覧いただけます。 環境構築については こちら をご覧に […]

  • 2022.02.05

STM32 Rust ベアメタルにGPIOを操作する

環境構築の記事では、HAL を使いました。 HAL は Hardware Abstraction Layer (ハードウェア抽象化レイヤ)の略です。 HAL については別の機会にお話しすることにして、今回は HAL を使わずに GPIO を操作してみます。 ベアメタルと言われているレジスタにアクセスする方法です。 開発環境は以下の通りです。 PC:Windows10 OS Board:STM32N […]