Project_OKI’s diary

エンジニアの勉強ブログ

組み込みC言語

STM32タイマ割り込みの設定値計算

window.onload = function () { let tes1 = document.getElementById("test1"); tes1.addEventListener("click",function(){ tes1.innerText = "タイトル" }) } window.onload = function () { let tes1 = document.getElementById("test1"); tes1.addEventL…

STM32マイコン38(CubeIDE SPI通信設定について)

STM32マイコン38(CubeIDE SPI通信設定) 1.本日の内容 (1) STM32のSPI通信設定について記載する。 (2) STM32CubeIDEのSPI通信の設定について記載する。 使用マイコン: (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){argument…

RCローパスフィルタとCRハイパスフィルタのカットオフ周波数などの自動計算

window.onload = function () { let tes1 = document.getElementById("test1"); tes1.addEventListener("click",function(){ tes1.innerText = "タイトル" }) } window.onload = function () { let tes1 = document.getElementById("test1"); tes1.addEventL…

抵抗付きLEDの動作確認

抵抗付きLEDの動作確認 この記事では、抵抗付きLEDの動作確認について記載する。 使用LED: ・抵抗内蔵5mmLED 5V 赤色 640nm OSR6LU5B64A-5V ・抵抗内蔵5mmLED 5V 黄色 590nm OSY5LU5B64A-5V ・抵抗内蔵5mmLED 5V 黄緑色 570nm OSG8NU5B64A-5V 1. 抵抗付きLE…

5Vトレラントとは

マイコンのGPIOに書いてある5Vトレラントとは この記事では、5Vトレラントについて説明する。 1. 5Vトレラントとは ・基本的にマイコンの入力は電源電圧が入力の最大値になっていることが多い。 ・それに対し、電源電圧に関係なく5Vまで、GPIOの入力として使…

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.…

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…

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) プログラムの…

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の設定…

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

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

CubeIDE AD変換の設定

STM32 (DMAでAD変換) 1.本日の内容 (1) CubeIDEのAD変換の設定項目についてまとめました。 AD変換の設定を行う際の参考にしてください。 ※使用マイコン:nucleof401 ・目次 STM32 (DMAでAD変換) 1.本日の内容 2.内容 ​​(1) 設定内容 ​​(2) 設定の詳細内容 (a…

STM32マイコン25(LCD:ACM1602のI2C制御方法)

STM32 (I2C通信でLCD制御) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、 LCD(ACM1602)にHellow worldを表示する。 プログラム動作確認用に、LEDを点灯する。 ・目次 STM32 (I2C通信でLCD制御) 1.本日の内容 2.内容 (1) やる内容の詳細 (2) 使…

I2C通信とは

​​​​ I2C通信とは 1.目的 I2C通信について、理解する。 I2C通信で何を行っているのかについて理解する。 目次 I2C通信とは 1.目的 2.I2C通信とは 2.I2C通信の特徴 3.通信速度 4.通信に関して 5.配線に関して 6.基本的な通信のやり取り 7.通信タイミングにつ…

オープンドレインとは、オープンコレクタとは

オープンドレインとオープンコレクタについて 目次: オープンドレインとオープンコレクタについて 1.オープンドレインについて (a) オープンドレインとは (b)オープンドレインの利点 (c) オープンドレインの欠点 (d) マイコンにおけるオープンドレイン 2.オ…

STM32マイコン24(DMAでAD変換)

STM32 (DMAでAD変換) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、DMAを使用してAD変換を行う。 動作: STM32マイコン(nucleof401)でAD変換(DMA使用) pic.twitter.com/vZ54UFj9xH— Project OKI (@oki_project) 2023年3月11日 ※AD変換のDMAとは…

STM32マイコン23(WDTでプログラム暴走時のリスタート処理)

STM32でWDTでプログラム暴走時のリスタート処理 1.本日の内容 (1) プログラム暴走時のリスタート処理について、説明する。 (1) STM32マイコンで、WDT(ウォッチドックタイマ)の中でもIWDGを使用して、 プログラムが強制リセット出来ることを確認する。 ・目次…

STM32マイコン22(printfのソースファイル、ヘッダファイルの作成)

STM32(nucleof401)でprintf使用 1.本日の内容 (1) STM32マイコン(nucleof401RE)でprintfを使用できるようにする。 (2) printfを使用できるソースファイル、ヘッダファイルを作成する。 参考:STM32マイコン_12(printfの導入) - Project_OKI’s diary ・目次 S…

STM32マイコン21(DFplayer関数作成)

STM32(nucleof401)用DFplayerの関数作成 1.本日の内容 (1) STM32マイコン(nucleof401RE)で使用するDFplayerの関数を作成する。 ・目次 STM32(nucleof401)用DFplayerの関数作成 1.本日の内容 2.内容 ​​(1) やる内容の詳細​ (2) CubeMXの設定 (3) 作成する関数…

STM32マイコン20(割り込み処理部分を別ファイルに作成)

割り込み処理部分を別ファイルに作成 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用しLEDの点灯/消灯を制御する。 (2) STM32マイコン19(LED制御用ソースファイル、ヘッダファイル作成) と基本同じ。 前回は割り込み処理部分はmain.cに記載した。 今回…

STM32マイコン19(LED制御用ソースファイル、ヘッダファイル作成)

LED制御用ファイルの作成 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用しLEDの点灯/消灯を制御する。 (2) 制御用のソースファイル、ヘッダファイルを作成する。 (3) 今までは、main.cのUSER CODE部分に記載していた。 LED制御用にled.c、led.hファイ…