組み込みC言語
1.本日の内容 (1) CubeIDEのTasksの使用方法について記載する。 使用マイコン: (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[…
1.本日の内容 (1) CubeIDEで階層の違うファイルのヘッダファイルをインクルードする方法について。 使用マイコン: (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.sc…
1.本日の内容 (1) CubeIDEを使用し、printfで、使用している関数及びファイル名を表示する。 使用マイコン: (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.…
Doxygenとは ・目次 1.目的 2.Doxygenとは(Doxygenの特徴) 3.Doxygenのメリット 4.まとめ 関連記事 1.目的 ・Doxygenについて知り、主に何が出来るのかを把握する。 ・DoxygenはJavadocスタイルのコメントを使用してソースファイルからドキュメントを生成で…
1.本日の内容 (1) STM32CubeIDEの機能の一つである#if~#endifまでのソースを閉じる方法について記載する。 この機能を使用することにより、#ifで実行していない場所のソースを閉じることで、 コードの可読性が上がる。 ・目次 1.本日の内容 2.内容 2.1 #if…
タイマ割り込みを設定する為の、プリスケーラ値の自動計算 この記事では、STM32F401のタイマ割り込みを設定する為の、プリスケーラ値を自動計算する。 APBの値、設定したい割り込み間隔(時間)、Counter Periodの値から、 設定したい割り込み間隔に設定するの…
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…
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: ・抵抗内蔵5mmLED 5V 赤色 640nm OSR6LU5B64A-5V ・抵抗内蔵5mmLED 5V 黄色 590nm OSY5LU5B64A-5V ・抵抗内蔵5mmLED 5V 黄緑色 570nm OSG8NU5B64A-5V 1. 抵抗付きLE…
マイコンのGPIOに書いてある5Vトレラントとは この記事では、5Vトレラントについて説明する。 1. 5Vトレラントとは ・基本的にマイコンの入力は電源電圧が入力の最大値になっていることが多い。 ・それに対し、電源電圧に関係なく5Vまで、GPIOの入力として使…
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.…
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…
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)を使用して、AD変換と移動平均処理を行う。 ・目次 STM32 (AD変換と移動平均) 1.本日の内容 2.内容 (1) やる内容の詳細 (2) 使用部品 (2) CubeIDEの設定 (3) プログラムの作成 (4) プ…
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の設定…
割り込み:TIM3_IRQHandler 1.本日の内容 (1) STM32マイコン(nucleof401RE)を使用しLEDの点灯/消灯を制御する。 (2) 割り込み処理を行う場合、下記2つの関数がある。 ・void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) ・void TIM3_IRQHandler…
STM32 (DMAでAD変換) 1.本日の内容 (1) CubeIDEのAD変換の設定項目についてまとめました。 AD変換の設定を行う際の参考にしてください。 ※使用マイコン:nucleof401 ・目次 STM32 (DMAでAD変換) 1.本日の内容 2.内容 (1) 設定内容 (2) 設定の詳細内容 (a…
STM32 (I2C通信でLCD制御) 1.本日の内容 (1) STM32マイコン(nucleof401re)を使用して、 LCD(ACM1602)にHellow worldを表示する。 プログラム動作確認用に、LEDを点灯する。 ・目次 STM32 (I2C通信でLCD制御) 1.本日の内容 2.内容 (1) やる内容の詳細 (2) 使…
I2C通信とは 1.目的 I2C通信について、理解する。 I2C通信で何を行っているのかについて理解する。 目次 I2C通信とは 1.目的 2.I2C通信とは 2.I2C通信の特徴 3.通信速度 4.通信に関して 5.配線に関して 6.基本的な通信のやり取り 7.通信タイミングにつ…
オープンドレインとオープンコレクタについて 目次: オープンドレインとオープンコレクタについて 1.オープンドレインについて (a) オープンドレインとは (b)オープンドレインの利点 (c) オープンドレインの欠点 (d) マイコンにおけるオープンドレイン 2.オ…
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とは…