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

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

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

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

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

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

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

CommCheckerManual_Ver.1.0_.doc

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

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

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

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

Taro-82ADAカ.jtd

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

スライド 1

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

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

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

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

S7G2_e2std_USBX_CDC_ACM

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

TWE-Lite R 取扱説明書

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

AKI-PIC16F877A開発キット (Ver1

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

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

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

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

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

無線LAN JRL-710/720シリーズ ファームウェアバージョンアップマニュアル 第2.1版

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

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

 

起動画面

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

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

Fujitsu Standard Tool

目次 1. 概要 動作環境

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

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

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

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

Microsoft Word - PCET10-CL_02a†iWinNT40_PDFŠp†j.doc

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

目次 1. ソフトウェアのインストール 対応 OSについて インストール手順 アンインストール手順 USB ドライバのインストール 操作の流れ 接続の準備 ソフトウ

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

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

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

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

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

Studuinoプログラミング環境

CR-USB 仕様書 株式会社測商技研 JS カード用データ転送用カードリーダー CR-USB 仕様書 取扱説明書 2012 年 07 月 31 日版 株式会社測商技研 1. 概要 本器は当社製自動観測装置で記録した JS カードデータ

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

取り付け前の確認 準備 この章では 本製品をパソコンへ取り付ける前の確認や準備について説明します 各部の名称 機能 3 ヘ ーシ 本製品の各部の機能 名称を確認します ネットワークへの接続 4 ヘ ーシ 本製品をネットワークに接続します 2

インストレーションガイド_WME

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

PA-S500 取扱説明書

目次 2 1 PC Control Utility PD 1 について 動作環境

Flex Signal for AirGRID

OPN Terminalの利用方法

開発環境構築ガイド

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

バーコードハンディターミナル BT-1000 シリーズセットアップガイド ( 第 1 版 ) CE ***

K006/ K006 < カメラなしモデル >

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

黒板作成 連携ツールの概要 黒板作成 連携ツールは 事前に撮影する工事写真用の黒板を作成するツールです 本書では EX-TREND 武蔵の写真管理 黒板作成 連携ツール ios アプリ 現場 DE カメラ土木版 の連携について 説明します 写真管理 EX-TREND 武蔵の写真管理で作成した 工種分

Microsoft Word - BluetoothV21接続手順書3_CM520BT.docx

PRONETA

開発環境構築ガイド

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


AP-RZA-1A シリアルFlashROMの書き込み方法

はじめに 本書は GRATINA2 とパソコンを指定の USB ケーブル ( 別売 ) を使用して接続し インターネット通信や au ホームページで公開している各種ツールをご利用になるための USB ドライバ のインストール方法を説明しています USB ドライバをインストールする 3 パソコンに接続

Microsoft Word - USB60F_Raspi_ doc

Transcription:

STM32L_UART1 の説明 V004 2014/03/30 STM32L-Discovery の UART 1 の送受信を行うプログラムです 無料の開発ツール Atollic TrueSTUDIO for ARM Lite( 試用版 ) で作成したプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です PC アプリケーションの Access_SerialPort を使用して UART( 非同期シリアル通信 ) 送受信の試験を行うことができます 目次 1. UART について... 2 2. UART に使用する信号... 2 3. プログラム実行時の動作と確認... 4 3.1. 実行時の動作... 4 3.2. 動作確認... 4 1) Access_SerialPort アプリケーションの起動画面... 4 2) COM ポートと通信速度の選択... 5 3) 送信データのエコーバック... 7 4) 基板上の LED LD4( 青 ) の点灯 / 消灯... 8 4. プロジェクトの構成... 9 4.1. 独自に追加したソースフォルダ... 9 4.2. ソースフォルダ src のファイル... 10 5. 主なモジュールの説明... 10 5.1. HandleTIM... 10 5.2. HandleUART... 11 5.3. main.c... 11 5.4. UserPrograms... 11 5.5. CommunicateHOST... 12 1

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受け渡すために 送信側が 1bit ずつ送り出し 受信側が 1bit ずつ取り込みます 通常 UART という場合 送受信のために 送信と受信に一本ずつ信号線を使用します また 送受信する機器同士の GND を接続します というわけで 信号線は 最低 3 本接続することになります 詳しくは UART( 非同期シリアル通信 ) の説明 をご覧ください 2. 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 本の信号以外は接続されません 2

3) PC との接続例 PC との接続は以下のようになります PC A USB ケーブル : 電源供給および ST-LINK のため USB ポート STM32L-Discovery MiniB RS232C ドライバ RS232C 変換ケーブル DSUB-9S 図 2. 3) RS232C ドライバと DSUB-9S との接続は以下の通りです RS232C ドライバ DSUB-9S 1 RS1_TxD --- > 2 RxD 2 RS1_RxD < --- 3 TxD 3 GND < --- > 5 GND 3

3. プログラム実行時の動作と確認 3.1. 実行時の動作 1) プログラムを実行すると基板上の LED LD3( 緑 ) が 1 秒点灯 2 秒消灯で点滅します 2) UART1 ポートで LED0 ON/OFF コマンド以外のデータを受信するとエコーバックします 3) UART1 ポートで LED0 ON/OFF コマンドを受信すると 基板上の LED LD4( 青 ) の点灯 / 消灯を行います 3.2. 動作確認 UART( 非同期シリアル通信 ) のツール Access_SerialPort アプリケーションを使用して CPU 基板の送受信の確認 およびコマンド文字列を送信して基板上の LED LD4( 青 ) の点灯 / 消灯を行います 1) Access_SerialPort アプリケーションの起動画面まず PC と STM32L-Discovery とを RS232C インターフェースで接続してください Access_SerialPort アプリケーションを起動すると以下のダイアログが表示されます 4

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

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

3) 送信データのエコーバック送信データの TextBox に ASCII 文字列を入力して [ 送信 ] ボタンをクリックすると CPU 基板にデータが送信されます CPU 基板はデータを受信して そのデータをそのまま PC に送信します PC が受信したデータは受信データの部分に表示されます 上記の例では 送信データに How are you? と入力して [ 送信 ] ボタンをクリックした結果 エコーバックのデータが受信データの欄に表示されています 次ページに続く 7

4) 基板上の LED LD4( 青 ) の点灯 / 消灯基板上の LED LD4( 青 ) を点灯 / 消灯するコマンドは以下のようになります a) 点灯 LED0 ON b) 消灯 LED0 OFF 上記の例では LED0 ON を入力して [ 送信 ] ボタンをクリックした結果 STM32L-Discovery は LD4( 青 ) を点灯して OK : LED0 ON を応答データとして送信しました LD4( 青 ) を消灯したい場合は LED0 OFF を送信します 8

4. プロジェクトの構成プロジェクトを開いて 左側のプロジェクト エクスプローラーを開いた状態です 4.1. 独自に追加したソースフォルダ独自に追加したソースフォルダについて簡単に説明します 1) CommonModules 共通処理を記述しています 2) CommunicateHOST UART の通信処理を記述しています LED 点灯 / 消灯のコマンドを受信して処理を行います コマンド以外のデータを受信した場合はそのままデータを折り返し送信します 3) Handles Peripheral の設定などを行っています a) HandleTIM.h HandleTIM.c タイマ割り込みを使用するために タイマの初期設定を記述しています b) HandleUART.h HandleUART.c UART の初期設定と送受信の処理を記述しています 4) UserPrograms a) Status LED に使用している I/O の初期設定と点滅処理を記述しています b) LED0(LD3) の初期設定を記述しています 9

4.2. ソースフォルダ src のファイルフォルダ src の中の特に重要なファイルについて説明します 1) main.c main モジュールが記述されています プログラムはここから開始します I/O と UART の初期設定と UART の送受信モジュールの呼び出しを記述しています 2) stm32f4xx_it.c 割り込み処理を記述しています このプロジェクトでは Timer2 割り込みと UART1 の割り込み処理を記述しています 5. 主なモジュールの説明 5.1. 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( IO uint16_t uint16_tim_pulse1, IO uint16_t uint16_tim_pulse2, IO uint16_t uint16_tim_pulse3, IO uint16_t uint16_tim_pulse4); 2) Timer2 割り込み禁止 //Timer2 割り込み禁止 void DisableIrqTim2(void); 3) Timer2 割り込み許可 //Timer2 割り込み許可 void EnableIrqTim2(void); 10

5.2. HandleUART 1) UART の初期化 //UART1 初期化 void InitializeUART1(uint32_t uint32_baudrate); 5.3. main.c 1) 使用するクロックの初期化 void RCC_Configuration(void); 2) I/O の初期化 void Init_GPIOs(void); 5.4. UserPrograms 1) LED に使用する I/O の初期化 // Status LED ポート初期化 void InitializePortStatusLED(void); // LED0 ポート初期化 void InitializePortLED0(void); 2) StatusLED の点滅点滅一回の処理 //---------------------------------------------------------------- // Status LED 点滅 : 点灯 / 消灯切り替え //---------------------------------------------------------------- // Timer2 割り込み内で 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); 11

5.5. CommunicateHOST 1) UART の初期化 //----------------------------------------------------------- // HOST 通信パラメータ初期化 //----------------------------------------------------------- // 引数 : // uint32_t uint32_baudrate : 通信速度 //----------------------------------------------------------- void InitializeCommunicateHOST(uint32_t uint32_baudrate) { //----------------------------------------------------------- //UART1 パラメータ初期化 //----------------------------------------------------------- defhostreceivetimeout = -1; defhostreceiveendtime = -1; //TimeOut OFF //Initialize EndTime defhostrxdelimiter = (uint8_t)0; //Set Value for TimeOut defhostreceivetimeoutval = -1; //TimeOut なし //Set Value for EndTime defhostreceiveendtimeval = 50; // 受信終了タイマ 50mSec defhostreadpointer = 0; defhostwritepointer = 0; } //---------------------------------- //UART1 初期化 : 通信速度設定 //---------------------------------- InitializeUART1(uint32_BaudRate); 2) HOST 通信処理受信処理を行い 受信コマンドを処理して応答データを送信します //------------------------------------------------------------ // HOST 通信処理 //------------------------------------------------------------ // 戻り値 : // -1 : 処理中 // 0 : 終了 //------------------------------------------------------------ int16_t CommunicateHOST(void); 12

3) UART 送信処理送信バッファにセットされたデータを指定された byte 数だけ送信します //-------------------------------------------------------------------- // UART 送信処理 //-------------------------------------------------------------------- // 引数 : // uint16_t uint16_sendlength : 送信データ数 // uint8_t *puint8_data : 送信データのポインタ //-------------------------------------------------------------------- void SendUART(uint16_t uint16_sendlength); 4) UART 受信処理受信の有無を判定して 受信があった場合 受信データを Buffer にセットします //-------------------------------------------------------------------- // UART 受信処理 //-------------------------------------------------------------------- // 引数 : // uint8_t *puint8_receivebuffer : 受信データを格納する Buffer のポインタ // 戻り値 : // -1 : 受信なし // 0 : Error // 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); 13

改訂履歴 V001 2014/02/05 初版 V002 2014/03/09 誤記訂正 V003 2014/03/26 誤記訂正 V004 2014/03/30 説明追加 14