Project_OKI’s diary

エンジニアの勉強ブログ

C言語基礎知識36(型修飾子、記憶クラス指定子)

型修飾子、記憶クラス指定子 この記事では、変数型の前につく、型修飾子、記憶クラス指定子についてのまとめを記載する。 1. 目的 ・型修飾子、記憶クラス指定子について知る。 ・型修飾子、記憶クラス指定子の種類についてまとめる。 目次 型修飾子、記憶ク…

STM32マイコン37(CubeIDE:USBの設定内容)

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使用ついて)

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(外部発振子で使用する)

nucleof401RE(外部発振子で使用する) 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用する場合、 通常、内部発振で使用する。 今回は、それを外部発振子を取り付け、外部発振周波数で動作させる方法について記載する。 ・目次 nucleof401RE(外部発振子…

MbedとobnizのI2C通信

MbedとobnizのI2C通信 1.目的 ・nucleof401とobnizでI2C通信を行い、nucleof401で送ったコマンドをobnizでホームページ上に表示する。 2.使用部品 個数 部品名 型番 1 接続ケーブル ジャンパーワイヤ​​ 1 mbed(マイコンボード) NUCLEO-F401RE STM32 Nucleo-…

C言語基礎知識35(malloc関数とfree関数について)

malloc関数とfree関数 この記事では、C言語におけるmalloc関数とfree関数の内容と使用方法について記載する。 1. 目的 ・malloc関数とfree関数の意味について知る。 ・malloc関数とfree関数の使い方を知る。 目次 malloc関数とfree関数 1. 目的 2. malloc関…

STM32マイコン35(HAL_I2Cの関数について)

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マイコン34(bss,text,dataセクションについて)

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…

C言語基礎知識34(静的変数、static修飾子について)

静的変数、static修飾子について この記事では、C言語における静的変数と、static修飾子について記載する。 1. 目的 ・静的変数とstatic修飾子の意味について知る。 ・C言語で静的変数とstatic修飾子の使い方を知る。 目次 静的変数、static修飾子について 1…

STM32マイコン33(CubeIDEの使い方:空きメモリ容量の確認)

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マイコン32(リスタート時の原因確認)

STM32 (リスタート時の原因確認) 1.本日の内容 (1) CubeIDEでリスタート処理が発生した時の原因を取得する方法について記載する。 主に、下記リスタートのフラグを確認し、原因の特定が出来る。 下記は、STM32F103xxの場合。 ・PINRSTF:PINリセットフラグ …

STM32に関する資料まとめ

STM32に関する資料まとめ 自分がよく確認するドキュメント一覧です。 目次 STM32に関する資料まとめ STM32F4関連 STM32F1関連 mbed(STM32F401RE関連) CubeIDE関連 STM32F4関連 ・STM32F4リファレンス検索 →リファレンス マニュアル | STM32, STM8ファミリはS…

組み込み基礎知識(PINRSTF/PORRSTF/SFTRSTF/IWDGRSTFなどの意味)

組み込み基礎知識(PINRSTF/PORRSTF/SFTRSTF/IWDGRSTFなどの意味) 1.目的 下記言葉の意味について簡単に記載する。 ・PINRSTF:PINリセットフラグ ・PORRSTF:POR/PDRリセットフラグ ・SFTRSTF:ソフトウェアリセットフラグ ・IWDGRSTF:独立型ウォッチドッグ…

STM32マイコン31 (CubeIDEの使い方:レジスタ確認)

CubeIDEの使い方(レジスタ確認) 1.目的 レジスタの意味について記載する。 CubeIDEやAtlicTrueStdioでのデバック時、breakした時のレジスタ状態を確認する方法について記載する。 上記は、デバック時に問題が発生した時の原因追及の為の手がかりとなる。 目…

組み込み基礎知識(ベクタ/ベクタテーブル/フェッチ/プリフェッチ)

ベクタとフェッチの意味 1.目的 STM32のマイコンのデータシートを参照すると、ベクタとフェッチという言葉が出てくる。今回は、その言葉の意味について記載する。 ベクタについて理解する フェッチの意味について理解する。 目次 ベクタとフェッチの意味 1.…

STM32マイコン30(AD変換と移動平均)

STM32 (AD変換と移動平均) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、 スイッチの長押し/短押しの判定を行う。 ・目次 STM32 (AD変換と移動平均) 1.本日の内容 2.内容 (1) やる内容の詳細 (2) 使用部品 (2) CubeIDEの設定 (3) プログラムの…

nucleof401RE(外部電源の使い方)

nucleof401RE外部電源使用方法 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用する場合、 USB経由で電源を供給する方法と 外部電源をポートに接続して電源を供給する 2通りの電源供給方法がある。 外部電源でmbed(nucleof401RE)を使用する方法と、その…

C言語基礎知識33(C言語で変数へ文字列を追加する方法)

C言語で変数へ文字列を追加 この記事では、C言語で文字列を追加する方法について記載する。 1. 目的 ・C言語で文字列を変数に追加する方法について理解する。 目次 C言語で変数へ文字列を追加 1. 目的 2. 文字列を変数に格納する方法 2.1文字列を変数に格納…

C言語基礎知識32(C言語で変数へ文字列をコピーする方法)

C言語で変数へ文字列をコピー この記事では、C言語で文字列を変数に格納(コピー)する方法について記載する。 1. 目的 ・C言語で文字列を変数に格納する方法について理解する。 目次 C言語で変数へ文字列をコピー 1. 目的 2. 文字列を変数に格納する方法 2.1…

C言語基礎知識31(乱数の作成)

C言語で乱数の作成 この記事では、C言語で乱数を作成する方法について記載する。 1. 目的 ・C言語で乱数(ランダムな数値)を生成する方法について記載する。 目次 C言語で乱数の作成 1. 目的 2. 乱数を作成する方法 2.1数値を文字列に変換する関数 2.2 使用方…

STM32マイコン29(CubeIDEの出力されるフォルダ構成の選択)

STM32 (CubeIDEのフォルダ構成の選択) 1.本日の内容 (1) CubeIDEで出力されるフォルダ構成は2種類ある。 そのフォルダ構成の違いについて記載する。 参考:https://www.st.com/resource/ja/user_manual/um1718-stm32cubemx-for-stm32-configuration-and-init…

STM32マイコン28(LCDに数値を表示する)

STM32 (LCDに取得した数値を表示) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、 LCD(ACM1602)に取得した数値を表示する。 文字列は、そのまま出力することが出来るが、LCDに数値を表示する場合、 取得した数値を文字列に変換する必要がある。 …

STM32マイコン27(スイッチの短押し/長押し処理 )

STM32 (スイッチ長押し/短押し制御) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、 スイッチの長押し/短押しの判定を行う。 ・目次 STM32 (スイッチ長押し/短押し制御) 1.本日の内容 2.内容 (1) やる内容の詳細 (2) 使用部品 (2) CubeIDEの設定…

C言語基礎知識30(数値を文字列に変換)

数値(変数)を文字列に変換する この記事では、C言語で数値を文字列に変換する。 1. 目的 ・C言語で取得した数値を文字列に変換する方法について理解する。 目次 数値(変数)を文字列に変換する 1. 目的 2. 取得した数値を文字列に変換する方法 2.1数値を文字…

C言語基礎知識29(条件演算子の使い方)

条件演算子の使い方 この記事では、条件演算子の使い方について説明する。 1. 目的 ・条件演算子の使い方について理解する。 ・条件演算子を使って、実際にプログラムを作成し、使い方を学ぶ。 演算子については下記にも記載している: ・C言語基礎知識21(演…

STM32マイコン26(割り込み:TIM3_IRQHandler)

割り込み:TIM3_IRQHandler 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用しLEDの点灯/消灯を制御する。 (2) 割り込み処理を行う場合、下記2つの関数がある。 ・void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) ・void TIM3_IRQHandler…

C言語基礎知識28(構造体の中で構造体を宣言する)

構造体の中で構造体を宣言する この記事では、C言語で扱う構造体の中で構造体を宣言した場合の使い方について記載する。 例えば、構造体Aがあり、それを構造体Bの中でAを宣言する場合などがある。 そうした場合の使い方について記載する。 1. 目的 ・構造体…

C言語基礎知識27(構造体を複数の別ファイルで使用する)

構造体を複数の別ファイルで使用 この記事では、C言語で扱う構造体を、複数のファイル(ソースファイル、ヘッダファイル)で使用する際の使い方について記載する。 基本的に、C言語で何かを作成する場合、1つのファイルで終わることは少ない。 複数のソースフ…

C言語基礎知識26(構造体の配列)

構造体の配列としての使い方 この記事では、C言語で扱う構造体を配列で宣言する使い方の一つについて記載する。 1. 目的 ・構造体を配列で宣言し、使用する方法について学ぶ 構造体については下記にも記載している: ・C言語基礎知識7(構造体1) - Project_OK…

C言語基礎知識25(文字列を数値に変換)

文字列を数値に変換する この記事では、C言語で取得した文字列を数値に変換する方法について記載する。 1. 目的 ・C言語で取得した文字列を数値に変換する方法はいくつかあり、 その方法(関数について)理解する。 目次 文字列を数値に変換する 1. 目的 2. at…