1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

Similar documents
1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

1. LCD LS027B4DH01 について LS027B4DH01 は 400dot x 240dot のグラフィック LCD です 秋月電子通商で購入できます 外形サイズ : 62.8 x x 1.53mm LCD のフレキシブルケーブルの根元の部分はちょっと力を加えただけで表示が

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

TrueSTUDIO 用 F4D_Mail_BP359x の説明 V /09/16 CPU 基板から Mail 送信を行う STM32F4 Discovery 用のプロジェクトサンプルです RAM の使用量は 10Kbyte 未満です ROHM 社製 WIFi モジュール BP3591

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

TCP_BP3591 の説明 V /03/28 ROHM 社製 WIFi モジュール BP3591 を使用して 無線 LAN により TCP/IP 通信を行うプログラムです 簡単な文字列によるコマンド ( 例 : LED0 ON ) を受信して LED の ON/OFF を行います 受

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

スライド 1

1. ST-LINK Utility のダウンロード Windows7 PC にインストールする場合について説明します 1.1. STMicroelectronics のサイト STMicroelectronics のサイトを開きます ここに ST-LINK と入力して検索します ( 右側の虫眼鏡を

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

ETCB Manual

本ドキュメントについて 的 ARM 統合開発環境である ARM IAR Embedded Workbench(EWARM) と ST マイクロエレクトニクス社 (ST 社 ) 提供のサンプルプロジェクト および設計 援ツールを使 して ST 社評価ボード のソフトウェアを実際にビルド デバッグする

スライド 1

STM32F405VG 搭載 CPU 基板の仕様 V /10/14 STMicroelectronics 社製の Cortex-M4 ARM CPU STM32F405VGT6 を搭載した CPU 基板です 目次 1. 概要 CPU 基板のブロック図 C

PowerPoint Presentation

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

スライド 1

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

初心者のための RL78 入門コース ( 第 3 回 : ポート出力例 2 とポート入力 ) 第 3 回の今回は, 前回作成したプログラムを RL78/G13 のハードウェアを用いて見直しをお こないます 今回の内容 8. コード生成を利用した実際のプログラム作成 ( その 2) P40 9. コー

RX210 グループ MTU2 を用いた相補 PWM モードの波形出力 要旨 本サンプルコードでは MTU2 を用いて相補 PWM モードの波形を出力する方法について説 明します 対象デバイス RX210 1 / 41

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

スライド 1

定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き]

スライド 1

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

// USB_CNC_Machine リモート PIO 端末プログラムのメイン関数およびユーザアプリ部 // 編集作成 by Takehiko Inoue /*********** メイン関数 ***************************/ #pragma code

AKI-PIC16F877A開発キット (Ver1

SpeC記述のC記述への変換 (SpecCによるソフトウェア記述の実装記述への変換)

スライド 1

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

PowerPoint プレゼンテーション

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ

Windows10 における Ac6 System Workbench for STM32 のダウンロードとインストール V /06/01 Windows10 の PC で Ac6 System Workbench for STM32 のダウンロードとインストールの方法について説明しま

著作権および商標 この文書には が所有権を持つ機密事項が含まれます この資料のいかなる部分も許 可無く複製 使用 公開することを固く禁じます 本書は の従業員および許可された 取引先だけに使用が認められています 本書で提供されたデータは正確で信頼性の高いものですが このデータの使用について株式会社

Fujitsu Standard Tool

Training_STM32-Ecosystem_rev5

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

1 1 TA, ,9 1. ( 2. TM TM GUI TM 1. P7-13 TM Notepad, Meadow, ( P109 ). 2. (shisaku01/sys test)

AN1526 RX開発環境の使用方法(CS+、Renesas Flash Programmer)

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

Taro-82ADAカ.jtd

スライド 1

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

intra-mart Accel Platform

PowerPoint Presentation

スライド 1

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

ギガらくカメラAXIS社製カメラWi-Fi接続設定有線固定IP設定 開通マニュアル

改版履歴 Ver 改版日内容 /02/07 新規作成 2 / 18

UIOUSBCOM.DLLコマンドリファレンス

Microsoft Word - Training10_プリプロセッサ.docx

9. デバッグ デバッグの準備 ) ST-Link/V2 と tri-s CPU 基板との接続の様子 ) ST-Link/V2 と tri-s CPU 基板との接続信号 デバッグ ) プログラムの実行

スライド 1

マイコンボードの LED 制御 準備編その 1 マイコンとノート PC の役割 どうすれば LED は光るの? 光らせる LED の選択は? マイコン端子に接続された LED マイコン端子の電圧設定 制御用ソフトウェアの注意点 1

CommCheckerManual_Ver.1.0_.doc

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

スライド 1

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows FAQ 集 2013(Mar) NEC Corporation 導入に関する質問 運用に関する質問 動作環境に関する質問

Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード]

二次元連続動的計画法による知的画像処理システム ImageFileSelector RTC 機能仕様書 ImageFileSelectorRTC Ver.1.0 ( 株 ) 東日本計算センター 1 / 11

PowerPoint Presentation

スライド 1

プログラミング実習I

ブート領域、フラッシュ領域の分割方法 RL78ファミリ用Cコンパイラ CC-RL

RP-VL-S-01, RP-VL-R-01

Microsoft Word - 実験4_FPGA実験2_2015

インテル(R) Visual Fortran コンパイラ 10.0

16 セグ LED 時計 取扱説明書 2013/05/19

Studuino ライブラリ環境設定Windows編


第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

SoftBank 201Z 取扱説明書

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

改版履歴 版数改版履歴改版年月日 1 新規作成 2013/3/29 2 TESTIO_MODE を追加 OVER_ACTION VG_STALL_ACTION の設定値を変更 2013/9/30 3 CLUSTERPRO MC StorageSaver for BootDisk (for Linux

リモートデバッグモードでのデバッグ 注意!! 外部 RAM を持たない CPU ボードの場合は 次項の RLL 機能を利用したリモートデバッグモードでのデバッグ をごらんください モニタの書き込みまず最初にモニタと呼ばれるプログラムをターゲットのフラッシュ ROM に書き込みます リモートデバッグ中

Studuinoライブラリ環境設定Mac編

ファームウェア書き換え説明書 目次 はじめに... 2 書き換え前に... 2 接続図... 2 書き換え手順... 3 (1) ファームウェアファイルの準備... 3 (2) 接続準備... 3 (3) ファームウェア書き換え準備 (4) ファームウェア書き換え準備 (

Microsoft PowerPoint - 計算機言語 第7回.ppt

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

Microsoft Word - Lab110131b.doc

開発環境構築ガイド

DSP5Dアップグレードガイド

Studuinoプログラミング環境

Java講座


Industrial shields brochure_JP

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

<4D F736F F D20B6BCB5D7B2CCDED7D8CFC6ADB1D9315F43532E444F43>

目次 1. ログイン ログアウト デスクトップ ( 例 :Word Excel 起動中 ) Dock( 例 :Word Excel 起動中 ) Finder ウィンドウ メニューバー ( 例 :Word 起動中 )...

関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

Transcription:

TrueSTUDIO 用 F401N_BlinkLD2 の説明 V003 2014/10/01 TIM11 の割り込みを使用して LED 点滅を行う NUCLEO-F401RE のプロジェクトサンプルです NUCLEO-F401RE は STMicroelectronics 社製の Cortex-M4 ARM CPU である STM32F401RET6 を搭載した基板です 試用版の開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. プログラム実行時の動作... 2 2. プロジェクトの構成... 2 2.1. プロジェクト F401N_BlinkLD2 の起動画面... 2 2.2. 追加したソース フォルダとファイル... 2 3. 主なモジュールの説明... 3 3.1. ソース フォルダ src 内のファイル... 3 3.2. HandleCLK... 4 3.3. HandleGPIO... 4 3.4. HandleTIM... 5 3.5. UserPrograms... 6 1

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成したプロジェクト F401N_BlinkLD2 を開いた状態を以下に示します 左側のプロジェクト エクスプローラーの F401N_BlinkLD2 を展開した状態です 2.2. 追加したソース フォルダとファイル追加したソース フォルダとファイルについて簡単に説明します 1) Handles ( ソース フォルダ ) Peripheral の設定などを行っています a) HandleCLK.h HandleCLK.c ( ファイル ) 内部クロック HSI を使用するための設定を記述しています HSI( 周波数 16MHz) を入力して PLL により 84MHz にしてシステムクロック SYSCLK として使用します b) HandleGPIO.h HandleGPIO.c ( ファイル ) GPIO 入出力の初期設定を記述しています c) HandleTIM.h HandleTIM.c ( ファイル ) タイマ割り込みを使用するために タイマの初期設定を記述しています 1mSec ごとにタイマ割り込みが発生するように設定しています 2

2) UserPrograms ( ソース フォルダ ) LED のための処理を記述しています a) UserPrograms.h UserPrograms.c ( ファイル ) Status LED : LD2( 緑 ) に使用している GPIO の初期設定と点滅処理を記述しています 3. 主なモジュールの説明 3.1. ソース フォルダ src 内のファイルソース フォルダ src 内のファイルでプログラムを追加した主なファイルについて簡単に説明します 1) main.c a) main 関数プログラムはここから開始します 主に初期化処理関数を呼び出しています int main(void) b) システムクロックの設定システムクロック SYSCLK の設定を行います 内部クロック HSI を入力に選択し PLL を使用して 84MHz に設定します ------------------ // HSI を選択して PLL Clock を System Clock として使用する : SYSCLK = 84MHz ------------------ void SetHSICLK84MHz(void); c) 周辺クロックの初期化 void RCC_Configuration(void); d) GPIO の初期化 void Init_GPIOs(void); e) Status LED ポートの初期化 //-------------------------------------- // Status LED ポート初期化 : LD2( 緑 ) //-------------------------------------- InitializePortStatusLED(); 3

f) TIM11 の初期化 ------ // TIM11 初期化 ------ InitializeTIMxx(TIM11, RCC_APB2Periph_TIM11, GLB_uint16_vTIM11_CCR1); EnableIrqTIMxx(TIM11, RCC_APB2Periph_TIM11, TIM1_TRG_COM_TIM11_IRQn); // TIM11 Interrupt ON ------ 2) stm32f4xx_it.h stm32f4xx_it.c このファイルに割り込み処理を記述します 本プロジェクトサンプルでは TIM11 のタイマ割り込み処理を記述しています 3.2. HandleCLK 動作クロックに内部クロック HSI : 16MHz を選択し PLL により 84MHz にして使用します ------------------ // HSI を選択して PLL Clock を System Clock として使用する : SYSCLK = 84MHz ------------------ void SetHSICLK84MHz(void); 3.3. HandleGPIO GPIO を初期化します 1) 低消費電力モード時の GPIO 初期化最初は 使用しない GPIO ピンをアナログ入力モードに初期化します ---------------- // 低消費電力モード時の GPIO 初期化 ---------------- void InitializeGPIOs_LowPower(void); 2) GPIO の初期化必要な GPIO の初期化を行います //--------------------------------------------- // GPIO 初期化 //--------------------------------------------- void Init_GPIOs(void); 4

3.4. HandleTIM 1) TIM11 の初期化タイマ割り込みのために TIM11 を初期化してインターバルをセットします 1mSec ごとに割り込みがかかるように設定しています 以下の関数の引数に TIM11 用のパラメータを指定して TIM11 を初期化します -------------- // TIMxx 初期化 -------------- // TIM_TypeDef *TIMxx : TIM 選択 // uint32_t RCC_APB1Periph_TIMxx : specifies the APB1 peripheral to gates its clock. // uint16_t uint16_timxx_ccr1 : TiMxx CH1 のインターバル -------------- void InitializeTIMxx(TIM_TypeDef *TIMxx, uint32_t RCC_APB1Periph_TIMxx, uint16_t uint16_timxx_ccr1); 2) タイマ割り込み許可以下の関数の引数に希望する TIMxx 用のパラメータを指定して割り込みを許可します ------------------- // TIMxx 割り込み許可 ------------------- // TIM_TypeDef *TIMxx : TIM 選択 // uint32_t RCC_APB1Periph_TIMxx : specifies the APB1 peripheral to gates its clock. // uint8_t TIMxx_IRQn : STM32 specific Interrupt Numbers ------------------- void EnableIrqTIMxx(TIM_TypeDef *TIMxx, uint32_t RCC_APB1Periph_TIMxx, uint8_t TIMxx_IRQn); 5

3.5. UserPrograms UserPrograms.h には LED に使用する GPIO に対する定義を記述してあります 以下に UaerPrograms.c に記述している関数の説明を記します 1) LED に使用する GPIO の初期化 ( 共通処理 ) GPIO 番号とピン番号を指定して I/O を初期化します // LED ポート初期化 // GPIO_TypeDef *GPIOx : GPIO ポート指定 // uint16_t GPIO_Pin_x : GPIO ピン指定 void InitializePortLED(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin_x); 2) LED の点滅処理 ( 共通処理 ) GPIO 番号とピン番号などを指定して希望の LED の点滅処理を行います // LED 点滅 : 点灯 / 消灯切り替え // 点灯 / 消灯を切り替えると同時に点灯時間 / 消灯時間をセットする // GPIO_TypeDef *GPIOx : GPIO ポート指定 // uint16_t GPIO_Pin_x : GPIO ピン指定 // int16_t *pint16_onoff : ON/OFF 状態 // 0 : OFF // 1 : ON // uint16_t *puint16_timer : 点灯時間 / 消灯時間をセットする変数のポインタ // uint16_t uint16_timeon : 点灯時間 // uint16_t uint16_timeoff : 消灯時間 void BlinkLED(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin_x, int16_t *pint16_onoff, uint16_t *puint16_timer, uint16_t uint16_timeon, uint16_t uint16_timeoff); 6

3) LED に使用する I/O の初期化 a) StatusLED : LD2( 緑 ) // Status LED ポート初期化 : LD2( 緑 ) void InitializePortStatusLED(void); 4) StatusLED : LD2( 緑 ) の点滅 // Status LED 点滅 : LD2( 緑 ) : 点灯 / 消灯切り替え // TIMx 割り込み内で GLB_uint16_BlinkTimerStatusLED をデクリメントする // GLB_uint16_BlinkTimerStatusLED が 0 になった時 呼び出される // 点灯 / 消灯を切り替えると同時に点灯時間 / 消灯時間をセットする // uint16_t uint16_timeon : 点灯時間 // uint16_t uint16_timeoff : 消灯時間 void BlinkStatusLED(uint16_t uint16_timeon, uint16_t uint16_timeoff); 7

改訂履歴 V001 2014/09/27 初版 V002 2014/09/30 誤記訂正 V003 2014/10/01 誤記訂正 説明追加 8