型修飾子、記憶クラス指定子 この記事では、変数型の前につく、型修飾子、記憶クラス指定子についてのまとめを記載する。 1. 目的 ・型修飾子、記憶クラス指定子について知る。 ・型修飾子、記憶クラス指定子の種類についてまとめる。 目次 型修飾子、記憶ク…
STM32マイコン37(CubeIDE:USBの設定内容) 1.本日の内容 (1) CubeIDEのUSBの設定内容について記載する。 使用マイコン: (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts…
STM32マイコン36(USBのCDC使用) 1.本日の内容 (1) STM32のUSB機能の一つである、CDC機能を使用する方法について記載する。 (2) CDCにより、mbedをUSBで接続し、Vertual Com Port(仮想COM)として認識ようにする。 使用マイコン: (function(b,c,f,g,a,d,e){b.…
nucleof401RE(外部発振子で使用する) 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用する場合、 通常、内部発振で使用する。 今回は、それを外部発振子を取り付け、外部発振周波数で動作させる方法について記載する。 ・目次 nucleof401RE(外部発振子…
MbedとobnizのI2C通信 1.目的 ・nucleof401とobnizでI2C通信を行い、nucleof401で送ったコマンドをobnizでホームページ上に表示する。 2.使用部品 個数 部品名 型番 1 接続ケーブル ジャンパーワイヤ 1 mbed(マイコンボード) NUCLEO-F401RE STM32 Nucleo-…
malloc関数とfree関数 この記事では、C言語におけるmalloc関数とfree関数の内容と使用方法について記載する。 1. 目的 ・malloc関数とfree関数の意味について知る。 ・malloc関数とfree関数の使い方を知る。 目次 malloc関数とfree関数 1. 目的 2. malloc関…
STM32マイコン35(HAL_I2C関数について) 1.本日の内容 (1) HAL_I2Cに関連する関数の使い方について理解する。 使用マイコン: (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scr…
STM32(bss,text,dataセクション) 1.本日の内容 (1) セクション及び、そのセクションの内容について理解する。 使用マイコン: (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.sc…
静的変数、static修飾子について この記事では、C言語における静的変数と、static修飾子について記載する。 1. 目的 ・静的変数とstatic修飾子の意味について知る。 ・C言語で静的変数とstatic修飾子の使い方を知る。 目次 静的変数、static修飾子について 1…
STM32(CubeIDE:空きメモリ容量の確認) 1.本日の内容 (1) CubeIDEで空きメモリ容量(RAMとFLASH)の確認を行う。 (どの程度使っているかの確認) 使用マイコン: (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.curren…
STM32 (リスタート時の原因確認) 1.本日の内容 (1) CubeIDEでリスタート処理が発生した時の原因を取得する方法について記載する。 主に、下記リスタートのフラグを確認し、原因の特定が出来る。 下記は、STM32F103xxの場合。 ・PINRSTF:PINリセットフラグ …
STM32に関する資料まとめ 自分がよく確認するドキュメント一覧です。 目次 STM32に関する資料まとめ STM32F4関連 STM32F1関連 mbed(STM32F401RE関連) CubeIDE関連 STM32F4関連 ・STM32F4リファレンス検索 →リファレンス マニュアル | STM32, STM8ファミリはS…
組み込み基礎知識(PINRSTF/PORRSTF/SFTRSTF/IWDGRSTFなどの意味) 1.目的 下記言葉の意味について簡単に記載する。 ・PINRSTF:PINリセットフラグ ・PORRSTF:POR/PDRリセットフラグ ・SFTRSTF:ソフトウェアリセットフラグ ・IWDGRSTF:独立型ウォッチドッグ…
CubeIDEの使い方(レジスタ確認) 1.目的 レジスタの意味について記載する。 CubeIDEやAtlicTrueStdioでのデバック時、breakした時のレジスタ状態を確認する方法について記載する。 上記は、デバック時に問題が発生した時の原因追及の為の手がかりとなる。 目…
ベクタとフェッチの意味 1.目的 STM32のマイコンのデータシートを参照すると、ベクタとフェッチという言葉が出てくる。今回は、その言葉の意味について記載する。 ベクタについて理解する フェッチの意味について理解する。 目次 ベクタとフェッチの意味 1.…
STM32 (AD変換と移動平均) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、 スイッチの長押し/短押しの判定を行う。 ・目次 STM32 (AD変換と移動平均) 1.本日の内容 2.内容 (1) やる内容の詳細 (2) 使用部品 (2) CubeIDEの設定 (3) プログラムの…
nucleof401RE外部電源使用方法 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用する場合、 USB経由で電源を供給する方法と 外部電源をポートに接続して電源を供給する 2通りの電源供給方法がある。 外部電源でmbed(nucleof401RE)を使用する方法と、その…
C言語で変数へ文字列を追加 この記事では、C言語で文字列を追加する方法について記載する。 1. 目的 ・C言語で文字列を変数に追加する方法について理解する。 目次 C言語で変数へ文字列を追加 1. 目的 2. 文字列を変数に格納する方法 2.1文字列を変数に格納…
C言語で変数へ文字列をコピー この記事では、C言語で文字列を変数に格納(コピー)する方法について記載する。 1. 目的 ・C言語で文字列を変数に格納する方法について理解する。 目次 C言語で変数へ文字列をコピー 1. 目的 2. 文字列を変数に格納する方法 2.1…
C言語で乱数の作成 この記事では、C言語で乱数を作成する方法について記載する。 1. 目的 ・C言語で乱数(ランダムな数値)を生成する方法について記載する。 目次 C言語で乱数の作成 1. 目的 2. 乱数を作成する方法 2.1数値を文字列に変換する関数 2.2 使用方…
STM32 (CubeIDEのフォルダ構成の選択) 1.本日の内容 (1) CubeIDEで出力されるフォルダ構成は2種類ある。 そのフォルダ構成の違いについて記載する。 参考:https://www.st.com/resource/ja/user_manual/um1718-stm32cubemx-for-stm32-configuration-and-init…
STM32 (LCDに取得した数値を表示) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、 LCD(ACM1602)に取得した数値を表示する。 文字列は、そのまま出力することが出来るが、LCDに数値を表示する場合、 取得した数値を文字列に変換する必要がある。 …
STM32 (スイッチ長押し/短押し制御) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、 スイッチの長押し/短押しの判定を行う。 ・目次 STM32 (スイッチ長押し/短押し制御) 1.本日の内容 2.内容 (1) やる内容の詳細 (2) 使用部品 (2) CubeIDEの設定…
数値(変数)を文字列に変換する この記事では、C言語で数値を文字列に変換する。 1. 目的 ・C言語で取得した数値を文字列に変換する方法について理解する。 目次 数値(変数)を文字列に変換する 1. 目的 2. 取得した数値を文字列に変換する方法 2.1数値を文字…
条件演算子の使い方 この記事では、条件演算子の使い方について説明する。 1. 目的 ・条件演算子の使い方について理解する。 ・条件演算子を使って、実際にプログラムを作成し、使い方を学ぶ。 演算子については下記にも記載している: ・C言語基礎知識21(演…
割り込み:TIM3_IRQHandler 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用しLEDの点灯/消灯を制御する。 (2) 割り込み処理を行う場合、下記2つの関数がある。 ・void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) ・void TIM3_IRQHandler…
構造体の中で構造体を宣言する この記事では、C言語で扱う構造体の中で構造体を宣言した場合の使い方について記載する。 例えば、構造体Aがあり、それを構造体Bの中でAを宣言する場合などがある。 そうした場合の使い方について記載する。 1. 目的 ・構造体…
構造体を複数の別ファイルで使用 この記事では、C言語で扱う構造体を、複数のファイル(ソースファイル、ヘッダファイル)で使用する際の使い方について記載する。 基本的に、C言語で何かを作成する場合、1つのファイルで終わることは少ない。 複数のソースフ…
構造体の配列としての使い方 この記事では、C言語で扱う構造体を配列で宣言する使い方の一つについて記載する。 1. 目的 ・構造体を配列で宣言し、使用する方法について学ぶ 構造体については下記にも記載している: ・C言語基礎知識7(構造体1) - Project_OK…
文字列を数値に変換する この記事では、C言語で取得した文字列を数値に変換する方法について記載する。 1. 目的 ・C言語で取得した文字列を数値に変換する方法はいくつかあり、 その方法(関数について)理解する。 目次 文字列を数値に変換する 1. 目的 2. at…