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

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

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

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

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 ポート )

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

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

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

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

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

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

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

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

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

CommCheckerManual_Ver.1.0_.doc

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

ETCB Manual

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

スライド 1

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

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

SP-1221 LIN I/F 基板 ユーザーズマニュアル 作成日 :2017 年 10 月 17 日

Taro-82ADAカ.jtd

ワイヤレスセンサモジュール取扱説明書

Studuinoプログラミング環境

スライド 1

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

商品番号 : UTS-422 USB-RS422( シリアル ) 変換ケーブル (USB1.1 規格対応 ) 概要 UTS-422 は RS-422 インターフェースを持つ外部周辺機器をパソコンの USB ポートを介してコントロールするための USB-RS422 変換ケーブルです 最大 3Mbps

起動画面

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

USB モジュール

Photo Sensor – 적외선 센서

インターネット・メールのご利用手引き

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

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

Microsoft Word - Ladder Tool 使çfl¨ã…žã…‰ã…¥ã‡¢ã…«ã…©ã…•ã…¼ã†ªã†Š_ docx

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

オートビュー

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

RsMulti の取扱説明 「RS232C で直接接続する(LAN を使用しない場合)」

AKI-PIC16F877A開発キット (Ver1

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

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

<4D F736F F D20B6BCB5D7B2CCDED7D8CFC6ADB1D9315F43532E444F43>

目次 1. 概要 動作環境

CONTEC DIOプロバイダ ユーザーズガイド

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

株式会社日新テクニカ USB シリアル CAN 変換器 /8/22 ホームページ : メール

Fujitsu Standard Tool

Microsoft Word - CAN Monitor の使い方.doc

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

商品番号 : UTS-485 USB-RS485( シリアル ) 変換ケーブル (USB1.1 規格対応 ) 概要 UTS-485 は RS-485 インターフェースを持つ外部周辺機器をパソコンの USB ポートを介してコントロールするための USB-RS485 変換ケーブルです 最大 1.2km


第一章 LPC2478 ボードの概要...3 第二章 uclinux の初体験 SD カードのテスト USB メモリのテスト USB Devices のテスト network のテスト...6 第三章 uclinux のコンパイル...

作成 承認 簡単取扱説明書 (S&DL 水位計 ) 応用計測サービス株式会社 (1.1)

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

AN1530 Etherサンプルプログラム解説(RX71M)

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

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

スライド 1

S7G2_e2std_USBX_CDC_ACM

H-R041-2_j

Raspberry Pi (Windows10 IoT Core) を使用したリーダ ライタの制御例 (UART 接続 ) 2018 年 12 月 18 日第 版 株式会社アートファイネックス

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

スライド 1

電子13-06 エネメータ専用ソフト SAVER CAST for EneMeter Ver3.00設定方法.ppt

Photo Sensor – 적외선 센서

GR-SAKURA-SAのサンプルソフト説明

出荷一覧表をもう一度印刷したい

MS5145 USB シリアル エミュレーション モードの設定

8051 개발보드 메뉴얼

商標類 Microsoft は, 米国およびその他の国における米国 Microsoft Corp. の登録商標です Microsoft Office は, 米国 Microsoft Corp. の商品名称です Microsoft Excel は, 米国 Microsoft Corp. の商品名称です

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

接続例 ピンアサイン ポート端子台 配線可能電線太さ : AWG 16~AWG 28 端子番号信号名 1 Data + 2 Data GND Data (=TxD + RxD) : 送受信データ ( 入出力 ) - は 無接続です ご注意 : 無接続端子の

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

Photo Sensor – 적외선 센서

第 7.0 版 利用履歴管理 ETCPRO5 セットアップマニュアル (Ver5.002) カードリーダモデル変更 ( 表示付き 表示なし ) に伴い 改訂 Windows10 対応に伴い 改訂 参考ホームページサイト :

表 信号端子 端子名 入出力 機能 DTR 出力 COM ポート DTR (Data Terminal Ready Control Output / Handshake Signal) RXD 入力 COM ポート RXD (Receiving Asynchronous Data Input) TX

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

Microsoft Word - HOBO雨量専用説明書_v1.1.doc

 

PRONETA

国土数値情報 XML シェープ変換ツール 操作説明書 平成 23 年 7 月 国土交通省国土政策局

改版履歴 Rev. 日付作成者 Page 内容 /2/10 新規作成 /6/22 12 PIN アサイン表修正 10,11 モジュール仕様修正 /11/14 3 CONTENTS 修正 旧 6~9 開発ボードページ削除 ( 取説へ移行 )

WinCT-AD4212D オペレーションマニュアルVer.1.01

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

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

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

目次 目次 ターミナルアダプタの接続イメージ INS 回線とターミナルアダプタの接続 ターミナルアダプタの設定とパソコン接続 ドライバのダウンロードとインストール ユーティリティインストールCD-ROMをお持ちでない場合.

Microsoft Word - USB60F_Raspi_ doc

CS-3000/5000 用 LabView ドライバ 取扱説明書 第 1 版 2014/7/28 岩通計測株式会社 1. 使用条件 a. 装置 : 岩通計測製 CS-3000/CS-5000 シリーズ b. 動作確認 PC/OS:IBM PC/AT 互換機 マイクロソフト Windows7 c.p

1. はじめに 本書は スプリット演算器 MFS2 用コンフィギュレータソフトウェア の取扱方法 操作手順 注意事項などを説明したものです Windows の操作や用語を理解している方を前提にしています Windows の操作や用語については それぞれのマニュアルを参照してください 1.1. MFS

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

wdr7_dial_man01_jpn.indd

型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1

***************************************************************** README.TXT for Touch Panel Driver Win9x/Me/2000/XP/Vista Copyright(C) 2009 IIYAMA CO

HDLトレーナーサンプルプログラム説明書

文書番号 :AVA012 Revision :1.00 Allied Vision Technologies 社 GigE カメラ用 GigEViewer マニュアル 株式会社アプロリンク

目次 目次 ターミナルアダプタの接続イメージ INS 回線とターミナルアダプタの接続 ターミナルアダプタの設定とパソコン接続 ドライバのインストール ユーティリティインストール CD-ROM をお持ちでない場合... 4

TR3通信コマンド仕様

Transcription:

STM32L_ADC の説明 V003 2014/03/30 STM32L-Discovery の A/D 入力を行うプログラムです A/D CH0 ~ A/D CH3 の 4 本の入力が可能です 提供する PC のアプリケーション Access_SerialPort を使用して UART( 非同期シリアル通信 ) により A/D 入力の表示を行うことができます 無料の開発ツール Atollic TrueSTUDIO for ARM Lite ( 試用版 ) で作成したプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. A/D 入力について... 2 2. A/D 入力に使用する信号... 2 3. UART に使用する信号... 3 4. プログラム実行時の動作と確認... 5 4.1. 実行時の動作... 5 4.2. 動作確認... 5 1) Access_SerialPort アプリケーションの起動画面... 5 2) COM ポートと通信速度の選択... 6 3) A/D データ入力コマンド... 8 4) ADC Input CH0 コマンド送信時の動作... 8 5) ADC Input ALL コマンド送信時の動作... 9 6) ADC Input STOP コマンド送信時の動作... 9 5. プロジェクトの構成... 10 5.1. 独自に追加したソースフォルダ... 10 5.2. ソースフォルダ src のファイル... 11 6. 主なモジュールの説明... 11 6.1. HandleADC... 11 1) ADC の初期化... 11 2) A/D 入力開始... 11 3) A/D 入力データの移動平均処理... 12 4) 移動平均について... 12 6.2. HandleTIM... 13 6.3. HandleUART... 13 6.4. main.c... 14 6.5. UserPrograms... 14 6.6. CommunicateHOST... 15 1

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_ADC プロジェクトにおける STM32L-Discovery の A/D 入力に使用する信号は A/D_CH0 ~ A/D_CH3 の 4 本です 以下に A/D 信号表を示します A/D 信号表ピン番号 信号名 CPU 機能名 CPU 信号名 STM32L-Discovery コネクタピン番号 1 A/D_CH0 ADC_IN10 PC0 P1-11 2 A/D_CH1 ADC_IN11 PC1 P1-12 3 A/D_CH2 ADC_IN12 PC2 P1-13 4 A/D_CH3 ADC_IN13 PC3 P1-14 2

3. UART に使用する信号 STM32L-Discovery の UART( 非同期シリアル通信 ) に使用する信号と接続相手との接続は以下の通りです 1) UART1 接続信号表 STM32L-Discovery の UART 信号 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 P2-22 --- > RxD 2 2 USART1_RX PA10 P2-21 < --- TxD 3 3 GND GND P1-2, P1-9, P1-28 P2-2, P2-5, P2-28 < --- > GND 5 D-SUB 9S ストレート接続 2) RS232C ドライバ接続例 この例では DSUB-9S には TxD, RxD, GND の 3 本の信号以外は接続されません 3

3) PC との接続例 PC との接続は以下のようになります STM32L-Discovery PC RS232C ドライバ RS232C 変換ケーブル DSUB-9S 図 3. 3) RS232C ドライバと DSUB-9S との接続は以下の通りです RS232C ドライバ DSUB-9S 1 RS1_TxD --- > 2 RxD 2 RS1_RxD < --- 3 TxD 3 GND < --- > 5 GND 4

4. プログラム実行時の動作と確認 4.1. 実行時の動作 1) プログラムを実行すると基板上の LED LD3( 緑 ) が 1 秒点灯 2 秒消灯で点滅します 2) UART1 ポートで A/D 入力コマンドを受信すると指定された A/D の CH の A/D 値を出力します 4.2. 動作確認 UART( 非同期シリアル通信 ) のツール Access_SerialPort アプリケーションを使用して CPU 基板が送出する A/D 入力値を表示することができます 1) Access_SerialPort アプリケーションの起動画面 Access_SerialPort アプリケーションを起動すると以下のダイアログが表示されます 5

2) COM ポートと通信速度の選択 COM 選択の ComboBox で COM を選択します 確認のメッセージが表示されるので よい場合は [ はい (Y)] ボタンをクリックします 次ページに続く 6

この例では COM4 に設定しました とメッセージが表示されています 通信速度は 9600bps でよいのでこのままにしておきます 次ページに続く 7

3) A/D データ入力コマンド A/D 入力コマンドには以下の 8 種類があります a) ADC Input STOP : A/D データ送信停止 b) ADC Input CH0 : A/D CH0 データ送信 c) ADC Input CH1 : A/D CH1 データ送信 d) ADC Input CH2 : A/D CH2 データ送信 e) ADC Input CH3 : A/D CH3 データ送信 f) ADC Input ALL : A/D 全 CH データ送信 コマンドを送信すると CPU 基板はコマンドに応じて動作します コマンド以外の文字列を送信すると 文字列がそのままエコーバックされます 4) ADC Input CH0 コマンド送信時の動作 CPU 基板は 0.5 秒に一回 A/D CH0 の A/D データを送信します 次ページに続く 8

5) ADC Input ALL コマンド送信時の動作 CPU 基板は 0.5 秒に一回 A/D CH0 ~ A/D CH3 の 4CH の A/D データを送信します 6) ADC Input STOP コマンド送信時の動作 CPU 基板は A/D データの送信を停止します 9

5. プロジェクトの構成プロジェクトを開いて 左側のプロジェクト エクスプローラーを開いた状態です 5.1. 独自に追加したソースフォルダ独自に追加したソースフォルダについて簡単に説明します 1) CommonModules 共通処理を記述しています 2) CommunicateHOST UART の通信処理を記述しています A/D 入力のコマンドを受信して処理を行います 3) Handles Peripheral の設定などを行っています a) HandleTIM.h HandleTIM.c タイマ割り込みを使用するために タイマの初期設定を記述しています b) HandleUART.h HandleUART.c UART の初期設定と送受信の処理を記述しています c) HandleADC.h HandleADC.c A/D の初期化と A/D 入力の処理を記述しています 4) UserPrograms Status LED に使用している I/O の初期設定と点滅処理を記述しています 10

5.2. ソースフォルダ src のファイルフォルダ src の中の特に重要なファイルについて説明します 1) main.c main モジュールが記述されています プログラムはここから開始します I/O と A/D の初期設定と UART による送受信モジュールの呼び出しを記述しています 2) stm32f4xx_it.c Timer2 割り込みと UART 割り込みおよび A/D の割り込み処理を記述しています 6. 主なモジュールの説明 6.1. HandleADC 1) ADC の初期化 ADC の初期化を行います //Initialize A/D Converter void InitializeADC(void); 2) A/D 入力開始指定された A/D CH の入力を開始します //------------------------------------------------------------ // A/D 入力開始 //------------------------------------------------------------ // 引数 : // int8_t int8_ch : A/D CH の指定 //------------------------------------------------------------ void StartAD(int8_t int8_ch); 11

3) A/D 入力データの移動平均処理 A/D 入力データに対して各 CH ごとに移動平均処理を行います //------------------------------------------------------------- // A/D 入力データの移動平均処理 //------------------------------------------------------------- void MovingAverageADC(void); 4) 移動平均についてデータ 8 個の移動平均について説明します データ 8 個の平均を新しいデータが入力される毎に 1 データずつ ずらして平均していきます 平均するデータが移動していくので移動平均と呼びます 以下にその様子を示します Data0 Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 Data9 Data10 Data11 Data0 ~ Data7 の平均値 Data1 ~ Data8 の平均値 Data2 ~ Data9 の平均値 Data3 ~ Data10 の平均値 Data4 ~ Data11 の平均値 移動平均は上の図のようにでこぼこしたデータを滑らかにする効果があります 平均する個数を多くするほど滑らかになりますが 応答が遅くなります 短い時間での変化が見えなくなってしまいます また 平均する個数を多くするほどグラフの形が後ろにずれていきます //------------------------------------------------------------- // A/D 入力データの移動平均処理 //------------------------------------------------------------- void MovingAverageADC(void); の処理では 移動平均の個数を 32 個に設定しています ヘッダファイル HandleADC.h のなかで #define defnumbersaverage 32 を定義しています この定義を変更すると 移動平均の個数を変更できます 12

6.2. HandleTIM 1) Timer2 初期化 ------------ //Timer2 初期化 ------------ // 引数 : // uint16_t uint16_tim_pulse1 : Timer2 CH1 インターバル // uint16_t uint16_tim_pulse2 : Timer2 CH2 インターバル // uint16_t uint16_tim_pulse3 : Timer2 CH3 インターバル // uint16_t uint16_tim_pulse4 : Timer2 CH4 インターバル ------------ void InitializeTimer2(uint16_t uint16_tim_pulse1, uint16_t uint16_tim_pulse2, uint16_t uint16_tim_pulse3, uint16_t uint16_tim_pulse4); 2) Timer2 割り込み禁止 //Timer2 割り込み禁止 void DisableIrqTim2(void); 3) Timer2 割り込み許可 //Timer2 割り込み許可 void EnableIrqTim2(void); 6.3. HandleUART 1) UART の初期化 //UART1 初期化 void InitializeUART1(uint32_t uint32_baudrate); 13

6.4. main.c 1) 使用するクロックの初期化 void RCC_Configuration(void); 2) I/O の初期化 void Init_GPIOs(void); 6.5. UserPrograms 1) LED に使用する I/O の初期化 // Status LED ポート初期化 void InitializePortStatusLED(void); // Action LED ポート初期化 void InitializePortActionLED(void); 2) StatusLED の点滅点滅一回の処理 // Status LED 点滅 void BlinkStatusLED(uint16_t uint6_timeon, uint16_t uint16_timeoff); 14

6.6. CommunicateHOST 1) UART の初期化 //----------------------------------------------------------- // HOST 通信パラメータ初期化 //----------------------------------------------------------- // 引数 : // uint32_t uint32_baudrate : 通信速度 //----------------------------------------------------------- void InitializeCommunicateHOST(uint32_t uint32_baudrate); 2) HOST 通信処理受信処理を行い 受信コマンドを処理して応答データを送信します //------------------------------------------------------------ // HOST 通信処理 //------------------------------------------------------------ // 戻り値 : // -1 : 処理中 // 0 : 終了 //------------------------------------------------------------ int16_t CommunicateHOST(void) 3) UART 送信設定された送信データを送信します //UART 送信処理 // 引数 : // uint16_t uint16_length : 送信データ数 // 戻り値 : // 0 : 送信終了 // 1 : エラー void SendUART(uint16_t uint16_length); 15

4) UART 受信受信の有無をチェックして 受信があったら受信データを受信 Buffer に格納して受信データ数を返します // UART 受信処理 // 引数 : // uint8_t *puint8_receivebuffer : 受信データを格納する Buffer のポインタ // 戻り値 : // -1 : 受信なし // 0 : 受信なし // 1 以上 : 受信 byte 数 int16_t ReceiveUART(uint8_t *puint8_receivebuffer); 5) HOST コマンドの実行受信コマンドを判定してそれぞれの処理モジュールを呼び出します ------------------ // HOST コマンドを実行する ------------------ // 引数 : // uint16_t uint16_receivelength : 受信データ数 // uint8_t *puint8_receivedata : 受信データが格納されている Buffer のポインタ // uint8_t *puint8_senddata : 応答送信データを格納する Buffer のポインタ // 戻り値 : 応答送信データ数 ------------------ uint16_t ExecuteCommandHOST(uint16_t uint16_receivelength, uint8_t *puint8_receivedata, uint8_t *puint8_senddata); 16

6) A/D 入力処理 --- // A/D 入力コマンド処理 --- // 引数 : // uint16_t uint16_datalength : パラメータのデータ数 // uint8_t *puint8_parameter : A/D 入力パラメータのポインタ // "CH0" ~ "CH5" : 単独 CH の A/D 入力開始 // "ALL" : 6CH 全てのA/D 入力開始 // "STOP" : A/D 入力の停止 // uint8_t *puint8_senddata : 応答データを格納する Buffer のポインタ // 戻り値 : 応答送信データ数 --- uint16_t ComActInputADC(uint16_t uint16_datalength, uint8_t *puint8_parameter, uint8_t *puint8_senddata); // Command : "ADC Input [Parameter]" の [Parameter] の部分を判定して A/D データの送信を決定する // パラメータを判定して A/D データ送信状態フラグをセット //volatile int16_t GLB_intCommunicateADC = -1; // A/Dデータ送信状態フラグ [Parameter] // -1 : A/D 送信停止 "STOP" // 0 : A/D CH0データ送信 "CH0" // 1 : A/D CH1データ送信 "CH1" // 2 : A/D CH2データ送信 "CH2" // 3 : A/D CH3データ送信 "CH3" // 4 : A/D CH4データ送信 "CH4" : STM32L-Discoveryはなし // 5 : A/D CH5データ送信 "CH5" : STM32L-Discoveryはなし // 6 : A/D 全 CHデータ送信 "ALL" 17

改訂履歴 V001 2014/02/25 初版 V002 2014/02/25 1. A/D について 入力電圧値を訂正 V003 2014/03/30 説明追加 18