STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート
STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート
目次- STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート
1.Luaリソースの準備
2.全体のアプローチ
3.Luaの移植
ステップ1
ステップ2
ステップ3
ステップ4
ステップ5
ステップ6
4.Luaの基本的な使用法
ステップ1 基本的なLua関数の作成
ステップ2 Lua関数の登録
ステップ3 Lua文 ...
6月15日 18:58 投稿
STM32 HALを用いたMG90Sサーボモータ(180度)の制御手法
サーボモータの概要と制御原理
MG90Sのような標準的なサーボモータは、内部でモータ、ギアヘッド、フィードバック用ポテンショメータ、制御回路を統合したアクチュエータです。入力されたPWM信号に基づいて目標角度を維持する閉ループ制御を行います。一般的に、電源(VCC)、グランド(GND)、制御信号(PWM)の3本の配線で構成されます。
角度制御には周期20ms(50Hz)の ...
6月12日 18:24 投稿
STM32 HAL ライブラリによる USART 初期化と標準出力リダイレクト
組み込み開発におけるデバッグ出力の重要性
組み込みシステム開発において、実行状態を可視化する手段は不可欠です。JTAG デバッガが使用できない環境や、実機での動作検証時には、シリアル通信を通じたログ出力が最も有効な手段となります。C 言語の標準出力関数である printf を USART ハードウェアに紐付けることで、開発効率は劇的に向上します。
通信ペリフェラルの ...
6月10日 23:14 投稿
STM32マイコンを用いたSPI通信とW25Q64フラッシュメモリ制御の実装解説
SPI通信の基礎
SPIはMotorolaが開発した同期式シリアル通信規格です。次の4本の信号線で構成されます:
SCK(シリアルクロック)
MOSI(マスター出力、スレーブ入力)
MISO(マスター入力、スレーブ出力)
SS(スレーブ選択:アクティブロー)
全二重通信が可能で、1台のマスターに複数のスレーブを接続できます。
ハードウェア接続の要点
SCK、MOSI、MISOの各ライ ...
6月9日 16:56 投稿
STM32F407ZGT6マイコンでI2Sインターフェースを使用したINMP441マイクモジュールの実装方法
INMP441マイクモジュールの概要
INMP441は高性能、低消費電力、デジタル出力、ボトムポート搭載の全方向性MEMSマイクロフォンです。この完全なINMP441ソリューションは、MEMSセンサー、信号調節回路、アナログ-デジタルコンバーター、アンチエイリアシングフィルター、電源管理、および業界標準の24ビットI²Sインターフェースで構成されています。I²Sインターフェースによ ...
6月8日 17:58 投稿
STM32とW5500を活用した最適化されたブートローダーの実装と活用
STM32とW5500を組み合わせたネットワークブートローダーの最適化バージョンについて解説します。このソリューションは、上位機用C#アプリケーションと下位機用C言語コードから構成され、簡単な修正でSTM32シリーズ全体に対応可能です。ネットワーク経由でのファームウェア更新をサポートし、以下の主要な最適化を実現しています:
コードセグメント保護機能
書き込み失敗 ...
6月7日 22:32 投稿
STM32におけるI²C通信のソフトウェア実装
I²C(Inter-Integrated Circuit)は、シリアルデータ線(SDA)とシリアルクロック線(SCL)の2本で構成される同期式シリアルバスです。標準モードでは最大100 kbps、高速モードでは400 kbpsまでの通信が可能です。SDAおよびSCLはオープンドレイン出力で、外部プルアップ抵抗が必要です。通信はマスタがスレーブアドレスを送信し、対応するスレーブがACKを返すことで確立さ ...
6月3日 16:15 投稿
STM32 における RTC とバックアップレジスタを用いた時刻保持システム
RTC とバックアップドメインの概要
RTC(Real-Time Clock)は、システムメイン電源が遮断された場合でも動作を継続できる独立したタイモジュールです。STM32 マイクロコントローラでは、RTC とバックアップレジスタ(BKP)はバックアップドメインに属しており、システムリセットが発生してもデータが保持されます。
VDD 電源(2.0V〜3.6V)が失われた場合でも、VBAT ピン( ...
6月2日 19:40 投稿
STM32におけるFreeRTOSタスク生成とスケジューリング動作の検証
FreeRTOSにおけるタスクスケジューリングの基礎
FreeRTOSでは、異なる優先度を持つタスク間では「優先度スケジューリング」が、同じ優先度を持つタスク間では「ラウンドロビン(タイムスライス)スケジューリング」が採用されます。ここでは、CMSIS-RTOS APIを用いたタスクの生成から、スケジューリングの挙動、およびタスクの待機状態への遷移までを実験を通じて確認しま ...
6月1日 21:03 投稿
STM32マイコンによるDS18B20およびDHT11センサのドライバ実装
DS18B20デジタル温度センサの実装
本セクションでは、STM32マイコンのGPIOポートを用いて1-Wireバスプロトコルをソフトウェアでエミュレートし、DS18B20温度センサと通信を行う手順について解説します。取得した温度データはTFT LCDモジュール上にリアルタイムで表示されます。
1-Wireバスプロトコルの概要
1-Wireバスは、クロックとデータの両方を単一の信号線で双方向通 ...
5月26日 04:47 投稿