RL78/G10 シリアル・アレイ・ユニット (UART通信)(C言語編) CC-RL

Similar documents
スライド 1

RL78/I1D 中速オンチップ・オシレータでのUART 通信の実現 CC-RL

スライド 1

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

RL78/G10 簡易I2C 機能によるEEPROM 制御 CC-RL

スライド 1

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

RL78/G1D評価ボード搭載モジュール 基板設計データ

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

Smart Analog IC101 サンプルコードマイコン置き換え手順書

スライド 1

RL78/G13 セルフ・プログラミング(CSI受信データ)

SH-4 組み込み用TCP/IP M3S-T4-Tiny: 導入ガイド

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

スライド 1

RL78ファミリ CubeSuite+ スタートアップ・ガイド編

SH-2, SH-2A 固定小数点ライブラリ (Ver. 1.02) 活用ガイド<コンパイラ活用ガイド>

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

RXファミリ 静電容量計測精度向上のためのセンサ補正

RZ/A1Hグループ JCU・PFVサンプルドライバ

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

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

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

RX62N グループ SCI を使ったクロック同期式シングルマスタ制御ソフトウェア

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

スライド 1

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

Renesas Synergy アプリケーションノート USBX MSC device機能を使用したHost PCとのファイル共有機能実装例

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

このページは読み飛ばして構いません 1は通常はあまり意識しない ( マイコンの端子ではほぼ決まっている ) のですが,PC やその他の機器と接続する場合に問題になります 前述の RS-232-C は ±12V で駆動するインタフェースで, 通常は論理が反転してマイコンに接続されます 最も古くからある

RX ファミリ、M16C ファミリ アプリケーションノート M16CからRXへの置き換えガイド 調歩同期式シリアル通信(UART)編

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

RL78/G14、R8C/36Mグループ アプリケーションノート R8CからRL78への移行ガイド:割り込み

RL78/F13, F14 割り込み要因判別方法

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

スライド 1

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

RIN,RZ/T1,EC-1,TPS1グループ

RX210、RX21A、RX220グループ アプリケーションノート SCIを用いた調歩同期式通信

Renesas Synergy アプリケーションノート SD機能使用例-bitmap viewer(SSP v1.2.0-b1,v1.2.0)

Renesas Synergy アプリケーションノート USBX HID host機能を使用したUSB mouse接続例

スライド 1

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

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

RIN,RZ/T1 グループ

Microsoft Word - N-TM307取扱説明書.doc

RL78/G1G タイマRD(相補PWM モード)とPWM・オプション・ユニットによるPWM出力の強制遮断 CC-RL

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

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

ターゲット項目の設定について

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

RL78/G13 制限事項について

スライド 1

RZ/A1Hグループ 自動コントラスト補正アドオン リリースノート

RX113 グループ アプリケーションノート CTSU 相互容量方式ボタンデザインガイド

Microsoft Word - FCTT_CS_Mod( )Jver1.doc

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

ETCB Manual

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

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

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

RL78/G1Eグループ 電荷出力型センサを使用した測定例 アプリケーションノート

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

このダイナミックリンクライブラリ GaugeC48.dll は 8CH から 48CH 用の DigitalGaugeCounterDG3000 シリーズ共通の DLL です この説明書は GaugeC48.dll を使ったアプリケーションを作成するためのものです 開発環境は MicrosoftVi

PowerPoint プレゼンテーション

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

V850ES/Jx3-L I2Cバス EEPROM制御編

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

< 動作マトリクス > 停止 REQ 固定位置 REQ 往復 REQ 停止 () 現在位置と同じなら無視異なれば停止パルス中へ 停止パルス中へ 停止 ( 固定位置 ) 現在位置と同じなら無視異なれば停止パルス中へ 停止パルス中へ 停止パルス中 ( 停止パルス終了後 ) ( 停止パルス終了後動作 )

PIC24F Family Reference Manual Section 9 WDT

スライド 1

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ

EC-1 アプリケーションノート 高温動作に関する注意事項

CommCheckerManual_Ver.1.0_.doc

CMOS リニアイメージセンサ用駆動回路 C10808 シリーズ 蓄積時間の可変機能付き 高精度駆動回路 C10808 シリーズは 電流出力タイプ CMOS リニアイメージセンサ S10111~S10114 シリーズ S10121~S10124 シリーズ (-01) 用に設計された駆動回路です セン

電気的特性 (Ta=25 C) 項目 記号 条件 Min. Typ. Max. 単位 読み出し周波数 * 3 fop khz ラインレート * Hz 変換ゲイン Gc ゲイン =2-5 - e-/adu トリガ出力電圧 Highレベル Vdd V -

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で

Renesas Synergy アプリケーションノート NetXを使ったソケット通信の応用例:マルチクライアントサーバ

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

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

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

Full-Speed USB2.0基板設計ガイドライン

ortustech_yamaha_gdc_j(v110).doc

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

三菱電機マイコン機器ソフトウエア株式会社

M4Gグループ(1)_CEC-A

V850ファミリ オープンソースFATファイルシステム M3S-TFAT-Tiny: 導入ガイド

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

EB-RL7023+SB/D2

スライド 1

共通部機器仕様構造 : 壁取付シャーシに避雷器 モデム 入出力ユニットをマウント接続方式 回線 :M4 ねじ端子接続 入出力 電源 :M3.5 ねじ端子接続 接地 :M4 ねじ端子接続シャーシ材質 : 鋼板に黒色クロメート処理ハウジング材質 : 難燃性黒色樹脂アイソレーション : 回線 - 入出力

RXファミリ JPEGデコーダ モジュール Firmware Integration Technology


1. SMDLR2 SYSMACCCVM1 CVCQM1 PLC NestBus PLC PLC 2. PLC CPU PLC DCS PLC PLC SMDL PLC1 1 SMDL DiDo 512 AiAo 32 PLC PLC SMDLR2 K V AC L170

RX113 Group

目次 コード生成概要ページ 03 汎用アンプを使ったデモ概要ページ 05 CS+ でプロジェクト作成ページ 07 コード生成で周辺機能設定ページ 09 ソースコードを自動生成ページ 19 プログラム編集ページ 20 デバッグツールの設定ページ 26 プログラムの実行ページ 28 e 2 studio

JTAGプローブ技術資料 RX編Rev.7

2STB240PP(AM-2S-G-005)_02

RL78/G11 電圧計

Notes and Points for TMPR454 Flash memory

Transcription:

アプリケーションノート RL78/G10 R01AN3145JJ0100 Rev. 1.00 要旨 本アプリケーションノートでは シリアル アレイ ユニット (SAU) による UART 通信の使用方法を説明します 対向機器から送られてくる ASCII 文字を解析し 応答処理を行います 対象デバイス RL78/G10 本アプリケーションノートを他のマイコンへ適用する場合 そのマイコンの仕様にあわせて変更し 十分評価してください R01AN3145JJ0100 Rev. 1.00 Page 1 of 45

目次 1. 仕様... 3 2. 動作確認条件... 5 3. 関連アプリケーションノート... 5 4. ハードウェア説明... 6 4.1 ハードウェア構成例... 6 4.2 使用端子一覧... 6 5. ソフトウェア説明... 7 5.1 動作概要... 7 5.2 オプション バイトの設定一覧... 8 5.3 定数一覧... 8 5.4 変数一覧... 8 5.5 関数一覧... 9 5.6 関数仕様... 9 5.7 フローチャート... 12 5.7.1 初期設定関数... 12 5.7.2 システム関数... 13 5.7.3 入出力ポートの設定... 14 5.7.4 CPU クロックの設定... 15 5.7.5 シリアル アレイ ユニットの設定... 16 5.7.6 UART0 の設定... 18 5.7.7 メイン関数... 31 5.7.8 メイン初期設定... 34 5.7.9 UART0 受信ステータス初期化関数... 35 5.7.10 UART0 動作開始関数... 36 5.7.11 INTSR0 割り込みサービスルーチン... 38 5.7.12 UART0 受信データ分類関数... 39 5.7.13 UART0 データ送信関数... 40 5.7.14 UART0 受信エラー割り込み関数... 41 5.7.15 UART0 受信エラー分類関数... 42 5.7.16 INTST0 割り込みサービスルーチン... 43 5.7.17 UART0 送信完了処理関数... 44 6. サンプルコード... 45 7. 参考ドキュメント... 45 R01AN3145JJ0100 Rev. 1.00 Page 2 of 45

1. 仕様 本アプリケーションノートでは シリアル アレイ ユニット (SAU) による UART 通信を行います 対向機器から送られてくる ASCII 文字を解析し 応答処理を行います 表 1.1 に使用する周辺機能と用途を 図 1.1 と図 1.2 に UART の通信動作を示します 表 1.1 使用する周辺機能と用途 周辺機能シリアル アレイ ユニット 0 用途 TxD0 端子 ( 送信 ) と RxD0 端子 ( 受信 ) を利用して UART 通信を行う UART の動作許可 SAUEN UART 通信の開始許可 SS01 SE01 SDR01 受信データ RxD0 端子 ST 受信データ P SP シフト レジスタ 01 INTSR0 受信 & シフト動作 受信完了 TSF01 ST : スタート ビット P : パリティ ビット SP : ストップ ビット 図 1.1 UART 受信のタイミング チャート R01AN3145JJ0100 Rev. 1.00 Page 3 of 45

UART の動作許可 SAUEN UART 通信の開始許可 SS00 SE00 SDR00 送信データ TxD0 端子 ST 送信データ P SP シフト レジスタ 00 シフト動作 INTST0 転送完了 TSF00 図 1.2 UART 送信のタイミング チャート ST : スタート ビット P : パリティ ビット SP : ストップ ビット R01AN3145JJ0100 Rev. 1.00 Page 4 of 45

2. 動作確認条件 本アプリケーションノートのサンプルコードは 下記の条件で動作を確認しています 表 2.1 動作確認条件 項目内容使用マイコン RL78/G10(R5F10Y16ASP) 動作周波数 高速オンチップ オシレータ (HOCO) クロック :20MHz CPU/ 周辺ハードウエア クロック : 20MHz 動作電圧 5.0V(2.9V~5.5V で動作可能 ) SPOR 動作 :VSPDR = 2.84V VSPOR = 2.90V ( リセット発生 VDD < 2.84V リセット解除 VDD 2.90V) 統合開発環境 (CS+) ルネサスエレクトロニクス製 CS+ for CC V3.03.00 C コンパイラ (CS+) ルネサスエレクトロニクス製 CC-RL V1.02.00 統合開発環境 (e 2 studio) ルネサスエレクトロニクス製 e 2 studio V4.0.0.26 C コンパイラ (e 2 studio) ルネサスエレクトロニクス製 CC-RL V1.02.00 使用ボード RL78/G10 ターゲット ボード (QB-R5F10Y16-TB) 3. 関連アプリケーションノート 本アプリケーションノートに関連するアプリケーションノートを以下に示します 併せて参照してください RL78/G10 初期設定 (R01AN2668J) アプリケーションノート R01AN3145JJ0100 Rev. 1.00 Page 5 of 45

4. ハードウェア説明 4.1 ハードウェア構成例 図 4.1 に本アプリケーションノートで使用するハードウェア構成例を示します VDD VDD RESET VDD RL78/G10 VSS TxD0 送信 対向機器 RxD0 受信 P40/TOOL0 オンチップ デバッグ用 図 4.1 ハードウェア構成 注意 1 この回路イメージは接続の概要を示す為に簡略化しています 実際に回路を作成される場合は 端子処理などを適切に行い 電気的特性を満たすように設計してください ( 入力専用ポートは個別に抵抗を介して V DD 又は V SS に接続して下さい ) 2 V DD は SPOR にて設定したリセット解除電圧 (V SPOR ) 以上にしてください 4.2 使用端子一覧 表 4.1 に使用端子と機能を示します 表 4.1 使用端子と機能 端子名 入出力 内容 P00/SO00/TxD0/INTP1 出力 データ送信用端子 P01/ANI0/SI00/SDA00/KR2 入力 データ受信用端子 R01AN3145JJ0100 Rev. 1.00 Page 6 of 45

5. ソフトウェア説明 5.1 動作概要 本サンプルコードでは 対向機器から受信したデータに対応したデータを対向機器に送信します エラーが発生した場合は そのエラーに対応したデータを対向機器に送信します 受信データと送信データの対応表を表 5.1 と表 5.2 に示します 表 5.1 受信データと送信データの対応 受信データ T(54H) t(74h) 上記以外 応答 ( 送信 ) データ O(4FH) K(4BH) CR (0DH) LF (0AH) o(6fh) k(6bh) CR (0DH) LF (0AH) U(55H) C(43H) CR (0DH) LF (0AH) 表 5.2 エラー検出時の送信データの対応 発生したエラーパリティ エラーフレーミング エラーオーバーラン エラー 応答 ( 送信 ) データ P(50H) E(45H) CR (0DH) LF (0AH) F(46H) E(45H) CR (0DH) LF (0AH) O(4FH) E(45H) CR (0DH) LF (0AH) (1) UART の初期設定を行います <UART 設定条件 > SAU0 チャネル 0 1 を UART として使用します データ出力は P00/TxD0 端子 データ入力は P01/RxD0 端子を使用します データ長は 8 ビットを使用します データ転送方向設定は LSB ファーストを使用します パリティ設定は偶数パリティを使用します 受信データ レベル設定は標準を使用します 転送レートは 9600bps を使用します 受信完了割り込み (INTSR0) 送信完了割り込み(INTST0) エラー割り込み(INTSRE0) を使用します INTSR0 INTSRE0 の割り込み優先順位はレベル2と1 INTST0 は低優先 ( レベル 3) を使用します (2) シリアル チャネル開始レジスタで UART 通信待機状態にした後 HALT 命令を実行します 受信完了割り込み (INTSR0) エラー割り込み(INTSRE0) の発生により処理を行います INTSR0 発生時は 受信データを取り込み 受信データに対応したデータを送信します INTSRE0 発生時は エラー処理を行い そのエラーに対応したデータを送信します データ送信後 再び HALT 命令を実行して 受信完了割り込み (INTSR0) エラー割り込み (INTSRE0) を待ちます R01AN3145JJ0100 Rev. 1.00 Page 7 of 45

5.2 オプション バイトの設定一覧 表 5.1 にオプション バイト設定を示します 表 5.1 オプション バイト設定 アドレス 設定値 内容 000C0H 11101110B ウォッチドッグ タイマ動作停止 ( リセット解除後 カウント停止 ) 000C1H 11110111B SPOR 検出電圧リセット発生 VDD < 2.84V リセット解除 VDD 2.90V 000C2H 11111001B HOCO : 20MHz 000C3H 10000101B オンチップ デバッグ許可 5.3 定数一覧 表 5.2 にサンプルコードで使用する定数を示します 表 5.2 サンプルコードで使用する定数 定数名 設定値 内容 g_messageok[4] "OK r n" T を受信時の返信メッセージ g_messageok[4] "ok r n" t を受信時の返信メッセージ g_messageuc[4] "UC r n" T or t 以外を受信時の返信メッセージ g_messagefe[4] "FE r n" フレーミング エラー時の返信メッセージ g_messagepe[4] "PE r n" パリティ エラー時の返信メッセージ g_messageoe[4] "OE r n" オーバーラン エラー時の返信メッセージ 5.4 変数一覧 表 5.3 にグローバル変数を示します 表 5.3 グローバル変数 Type Variable Name Contents Function Used uint8_t g_uart0_rx_buffer 受信データ バッファ main() uint8_t gp_uart0_tx_address 送信データ ポインタ R_UART0_Send() R_UART0_Interrupt_Send() uint16_t g_uart0_tx_count 送信データ数カウンタ R_UART0_Send() R_UART0_Interrupt_Send() uint8_t gp_uart0_rx_address 受信データ ポインタ R_UART0_Receive() R_UART0_Interrupt_Receive() R_UART0_Interrupt_Error() uint16_t g_uart0_rx_ count 受信データ数カウンタ R_UART0_Receive() R_UART0_Interrupt_Receive() uint16_t g_uart0_rx_length 受信データ数 R_UART0_Receive() R_UART0_Interrupt_Receive() MD_STATUS g_uart0_tx_end 送信ステータス main() r_uart0_callback_sendend() uint8_t g_uart0_rx_error 受信エラーステータス main() r_uart0_callback_receiveend() r_uart0_callback_error() R01AN3145JJ0100 Rev. 1.00 Page 8 of 45

5.5 関数一覧 表 5.4 に関数を示します 表 5.4 関数 関数名 R_UART0_Start R_UART0_Receive R_UART0_Send r_uart0_interrupt_receive r_uart0_callback_receiveend r_uart0_interrupt_error r_uart0_callback_error r_uart0_interrupt_send r_uart0_callback_sendend r_uart0_callback_softwareoverrun 概要 UART0 動作開始処理 UART0 受信ステータス初期化関数 UART0 データ送信関数 UART0 受信完了割り込み処理 UART0 受信データ分類関数 UART0 エラー割り込み処理 UART0 受信エラー分類関数 UART0 送信完了割り込み処理 UART0 送信完了処理関数 UART0 オーバーフローデータ受信関数 5.6 関数仕様 サンプルコードの関数仕様を示します [ 関数名 ] R_ UART0_Start 概要 UART0 動作開始処理 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 void R_ UART0_Start(void) 説明 シリアル アレイ ユニット 0 1 のチャネル 0 を動作開始させ 通信待機状態にし ます 引数 なし リターン値 なし 備考 なし [ 関数名 ] R_UART0_Receive 概要 UART0 受信ステータス初期化関数 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 MD_STATUS R_UART0_Receive(uint8_t *rx_buf, uint16_t rx_num) 説明 UART0 受信の初期設定をします 引数 uint8_t *rx_buf : [ 受信データバッファのアドレス ] uint16_t rx_num : [ 受信データバッファのサイズ ] リターン値 [MD_OK] の場合 : 受信設定完了 [MD_ARGERROR] の場合 : 受信設定失敗 備考 なし R01AN3145JJ0100 Rev. 1.00 Page 9 of 45

[ 関数名 ] R_UART0_Send 概要 UART0 データ送信関数 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 MD_STATUS R_UART0_Send(uint8_t* tx_buf, uint16_t tx_num) 説明 UART0 送信の初期設定を行い データ送信を開始します 引数 uint8_t *tx_buf : [ 送信データバッファのアドレス ] uint16_t tx_num : [ 送信データバッファのサイズ ] リターン値 [MD_OK] の場合 : 送信設定完了 [MD_ARGERROR] の場合 : 送信設定失敗 備考 なし [ 関数名 ] r_uart0_interrupt_receive 概要 UART0 受信完了割り込み処理 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 static void near r_uart0_interrupt_receive(void) 説明 受信したデータに対応した応答 ( データ送信 ) を行います 引数 なし リターン値 なし 備考 なし [ 関数名 ] r_uart0_interrupt_error 概要 UART エラー割り込み関数 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 static void near r_uart0_interrupt_error(void) 説明 検出したエラーに対応したデータ送信を行います 引数 なし リターン値 なし 備考 なし [ 関数名 ] r_uart0_callback_receiveend 概要 UART0 受信データ分類関数 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 static void r_uart0_callback_receiveend(void) 説明 受信エラーフラグのクリアを行います 引数 なし リターン値 なし 備考 なし R01AN3145JJ0100 Rev. 1.00 Page 10 of 45

[ 関数名 ] r_uart0_callback_error 概要 UART0 受信エラー分類関数 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 static void r_uart0_callback_error(uint8_t err_type) 説明 エラーに対応したデータ送信のフラグ設定を行います 引数 err_type : エラー種別 リターン値 なし 備考 なし [ 関数名 ] r_uart0_interrupt_send 概要 UART0 送信完了割り込み処理 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 static void near r_uart0_interrupt_send(void) 説明 指定された数のデータを送信します 引数 なし リターン値 なし 備考 なし [ 関数名 ] r_uart0_callback_sendend 概要 UART0 送信完了処理関数 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 static void r_uart0_callback_sendend(void) 説明 送信完了フラグの設定を行います 引数 なし リターン値 なし 備考 なし [ 関数名 ] r_uart0_callback_softwareoverrun 概要 UART0 オーバーフローデータ受信関数 ヘッダ r_cg_macrodriver.h r_cg_serial.h r_cg_userdefine.h 宣言 static void r_uart0_callback_softwareoverrun(void) 説明 ソフトウェアによるデータのオーバーフローを検出した場合に実行します 引数 なし リターン値 なし 備考 なし R01AN3145JJ0100 Rev. 1.00 Page 11 of 45

5.7 フローチャート 図 5.1 に本アプリケーションノートの全体フローを示します Start 初期設定関数 hdwinit() 初期設定関数をコールする前に オプション バイトを参照しています main() End 図 5.1 全体フロー 注 初期設定関数の前後でスタートアップ ルーティンが実行されます 5.7.1 初期設定関数 図 5.2 に初期設定関数のフローチャートを示します hdwinit() 割り込み禁止 IE 0 システム関数 R_Systeminit() return 図 5.2 初期設定関数 R01AN3145JJ0100 Rev. 1.00 Page 12 of 45

5.7.2 システム関数 図 5.3 にシステム関数のフローチャートを示します R_Systeminit() 周辺 I/O リダイレクション機能未使用 PIOR レジスタ 00000000B CPU クロックの設定 R_CGC_Create() 入出力ポートの設定 R_PORT_Create() シリアル アレイ ユニットの設定 R_SAU0_Create() 不正メモリ アクセスの検出無効 IAWCTL レジスタ 00000000B return 図 5.3 システム関数 R01AN3145JJ0100 Rev. 1.00 Page 13 of 45

5.7.3 入出力ポートの設定 図 5.4 に入出力ポートのフローチャートを示します R_PORT_Create() 未使用ポートの出力ラッチを LOW に設定 P00,P01 以外を出力ポートに設定 PM0 レジスタ 03H return 図 5.4 入出力ポートの設定 注 未使用ポートの設定については RL78/G10 初期設定 (R01AN2668J) アプリケーションノート フローチャート を参照して下さい 注意未使用のポートは 端子処理などを適切に行い 電気的特性を満たすように設計してください また 未使用の入力専用ポートは個別に抵抗を介して V DD 又は V SS に接続して下さい R01AN3145JJ0100 Rev. 1.00 Page 14 of 45

5.7.4 CPU クロックの設定 図 5.5 に CPU クロックの設定のフローチャートを示します R_CGC_Create() 高速システム クロック / サブシステム クロックの設定 CPU/ 周辺ハードウェア クロック (f CLK ) の選択 CMC レジスタ 00H: 高速システム クロック サブシステム クロック不使用 MSTOP ビット 1 MCM0 ビット 0: メイン システム クロック (f MAIN ) に高速 OCO クロック (f IH ) を選択 XTSTOP ビット 1 CSS ビット 0:CPU/ 周辺ハードウエア クロック (f CLK ) にメイン システム クロック (f MAIN ) を選択 return 図 5.5 CPU クロックの設定 注意 CPU クロックの設定 (R_CGC_Create()) については RL78/G10 初期設定 (R01AN2668J) アプリケーションノート フローチャート を参照して下さい R01AN3145JJ0100 Rev. 1.00 Page 15 of 45

5.7.5 シリアル アレイ ユニットの設定 図 5.6 にシリアル アレイ ユニットの設定のフローチャートを示します R_SAU0_Create() シリアル アレイ ユニット 0 に入力クロックを供給 SAU0EN ビット 1 CK00 と CK01 を 1.25MHz に設定 SPS0 レジスタ 44H UART0 の設定 R_UART0_Create() return 図 5.6 シリアル アレイ ユニットの設定 R01AN3145JJ0100 Rev. 1.00 Page 16 of 45

SAU へのクロック供給開始 周辺イネーブル レジスタ 0(PER0) クロック供給 略号 :PER0 7 6 5 4 3 2 1 0 注 TMKAEN 0 ADCEN 注 IICA0EN 0 SAU0EN 0 TAU0EN x 0 x x 0 1 0 x ビット 2 SAU0EN シリアル アレイ ユニット 0 の入力クロックの制御 0 入力クロック供給停止 1 入力クロック供給 注 16 ピン製品のみ シリアル クロックの選択 シリアル クロック選択レジスタ 0(SPS0) 動作クロックの設定 略号 :SPS0 7 6 5 4 3 2 1 0 PRS 013 PRS 012 PRS 011 PRS 010 PRS 003 PRS 002 PRS 001 PRS 000 0 1 0 0 0 1 0 0 ビット 7-0 動作クロック (CK0n) の選択 (n = 0, 1) PRS PRS PRS PRS f CLK = f CLK = f CLK = f CLK = f CLK = 0n3 0n2 0n1 0n0 1.25MHz 2.5MHz 5MHz 10MHz 20MHz 0 0 0 0 f CLK 1.25MHz 2.5MHz 5MHz 10MHz 20MHz 0 0 0 1 f CLK /2 625kHz 1.25MHz 2.5MHz 5MHz 10MHz 0 0 1 0 f CLK /2 2 313kHz 625kHz 1.25MHz 2.5MHz 5MHz 0 0 1 1 f CLK /2 3 156kHz 313kHz 625kHz 1.25MHz 2.5MHz 0 1 0 0 f CLK /2 4 78kHz 156kHz 313kHz 625kHz 1.25MHz 0 1 0 1 f CLK /2 5 39kHz 78kHz 156KHz 313kHz 625kHz 0 1 1 0 f CLK /2 6 19.5kHz 39kHz 78kHz 156Hz 313kHz 0 1 1 1 f CLK /2 7 9.8kHz 19.5kHz 39kHz 78kHz 156kHz 1 0 0 0 f CLK /2 8 4.9kHz 9.8kHz 19.5kHz 39kHz 78kHz 1 0 0 1 f CLK /2 9 2.5kHz 4.9kHz 9.8kHz 19.5kHz 39kHz 1 0 1 0 f CLK /2 10 1.22kHz 2.5kHz 4.9kHz 9.8kHz 19.5kHz 1 0 1 1 f CLK /2 11 625Hz 1.22kHz 2.5kHz 4.9kHz 9.8kHz 1 1 0 0 f CLK /2 12 313Hz 625Hz 1.22kHz 2.5kHz 4.9Hz 1 1 0 1 f CLK /2 13 152Hz 313Hz 625Hz 1.22kHz 2.5Hz 1 1 1 0 f CLK /2 14 78Hz 152Hz 313Hz 625Hz 1.22kHz 1 1 1 1 f CLK /2 15 39Hz 78Hz 152Hz 313Hz 625Hz 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 17 of 45

5.7.6 UART0 の設定 図 5.7 図 5.8 図 5.9 に UART0 の設定のフローチャートを示します R_UART0_Create() チャネル 0, 1 の動作停止 ST0 レジスタ 03H INTST0 割り込みを無効化 & 割り込み要求フラグをクリア INTSR0 割り込みを無効化 & 割り込み要求フラグをクリア INTSRE0 割り込みを無効化 & 割り込み要求フラグをクリア STMK0 ビット 1 STIF0 ビット 0 SRMK0 ビット 1 SRIF0 ビット 0 SREMK0 ビット 1 SREIF0 ビット 0 INTST0 割り込み優先度 : レベル 3( 最低 ) に設定 INTSR0 割り込み優先度 : レベル 2 に設定 INTSRE0 割り込み優先度 : レベル 1 に設定 STPR10 ビット 1 STPR00 ビット 1 SRPR10 ビット 1 SRPR00 ビット 0 SREPR10 ビット 0 SREPR00 ビット 1 SAU チャネル 0 の動作モード設定 SMR00 レジスタ 0022H チャネル 0 の動作クロック :CK00 チャネル 0 の転送クロック : CK00 の分周 スタート トリガ要因 : ソフトウェア トリガ 立下りエッジをスタート ビットとして検出 チャネル 0 の動作モード :UART モード チャンネル 0 の割り込み要因 : 転送完了割り込み 1 図 5.7 UART0 の設定 (1/3) R01AN3145JJ0100 Rev. 1.00 Page 18 of 45

1 SAU チャネル 0 の通信動作設定 SCR00 レジスタ 8297H 送信のみを行う クロックとの位相 : タイプ 1 エラー割り込み INTSREx : マスクする 偶数パリティを出力 LSB ファーストで入出力 ストップ ビット長 :1 ビット データ長 :8 ビット チャネル 0 の転送クロック : 動作クロックの 130 分周 RxD3 端子のノイズ フィルタ RxD2 端子のノイズ フィルタ RxD1 端子のノイズ フィルタ :OFF SDR00 レジスタ 8000H NFEN0 レジスタ 0001H RxD0 端子のノイズ フィルタ :ON エラー フラグをクリア SAU チャネル 1 の動作モード設定 SIR01 レジスタ 0007H SMR01 レジスタ 0122H チャネル 1 の動作クロック :CK00 チャネル 1 の転送クロック : CK00 の分周 スタート トリガ :RxD 端子の有効エッジ 立下りエッジをスタート ビットとして検出 チャネル 1 の動作モード :UART モード チャンネル 1 の割り込み要因 : 転送完了割り込み 2 図 5.8 UART0 の設定 (2/3) R01AN3145JJ0100 Rev. 1.00 Page 19 of 45

2 SAU チャネル 1 の通信動作設定 受信のみを行う クロックとの位相 : タイプ 1 エラー割り込み INTSREx : 許可する 偶数パリティとして判定 LSB ファーストで入出力 ストップ ビット長 :1 ビット データ長 :8 ビット チャネル 1 の転送クロック : 動作クロックの 130 分周 SCR01 レジスタ 4697H SDR01 レジスタ 8000H チャネル 0 の使用準備 RxD0 ピンの設定 ( 入力モード ) SO00 ビット 1 SOL0 ビット 0 SOE00 ビット 1 PM01 ビット 1 TxD0 ピンの設定 ( 出力モード ) P00 ビット 1 PM00 ビット 0 return 図 5.9 UART0 の設定 (3/3) R01AN3145JJ0100 Rev. 1.00 Page 20 of 45

送信チャネルの動作モード設定 シリアル モード レジスタ 00(SMR00H,SMR00L) 割り込み要因動作モード転送クロックの選択 f MCK の選択 略号 :SMR00H,SMR00L SMR00H SMR00L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CKS CCS STS SIS MD MD MD 0 0 0 0 0 0 1 0 0 00 00 00 000 002 001 000 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 ビット 15 CKS00 チャネル 0 の動作クロック (f MCK ) の選択 0 SPS0 レジスタで設定したプリスケーラ出力クロック CK00 1 SPS0 レジスタで設定したプリスケーラ出力クロック CK01 ビット 14 CCS00 チャネル 0 の転送クロック (TCLK) の選択 0 CKS00 ビットで指定した動作クロック f MCK の分周クロック 1 SCK 端子からの入力クロック ビット 8 STS00 スタート トリガ要因の選択 0 ソフトウエア トリガのみ有効 1 RxD 端子の有効エッジ (UART 受信時に選択 ) ビット 6 SIS000 UART モードでのチャネル 0 の受信データのレベル反転の制御 0 立ち下りエッジをスタート ビットとして検出します 1 立ち上がりエッジをスタート ビットとして検出します ビット 2-1 MD002 MD001 チャネル 0 の動作モードの設定 0 0 CSI モード 0 1 UART モード 1 0 簡易 I 2 C モード 1 1 設定禁止 ビット 0 MD000 0 転送完了割り込み 1 バッファ空き割り込み チャネル 0 の割り込み要因の選択 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 21 of 45

送信チャネルの通信動作設定 シリアル通信動作レジスタ 00(SCR00H,SCR00L) データ長の設定 データ転送順序 エラー割り込み信号のマスク可否 動作モード 略号 :SCR00H,SCR00L SCR00H SCR00L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 TXE RXE DAP CKP EOC PTC PTC DIR SLC SLC DLS DLS 0 0 0 1 00 00 00 00 00 001 000 00 001 000 001 000 1 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 ビット 15-14 TXE00 RXE00 チャネル 0 の動作モードの設定 0 0 通信禁止 0 1 受信のみを行う 1 0 送信のみを行う 1 1 送受信を行う ビット 10 EOC00 エラー割り込み信号 (INTSREx(x = 0 1)) のマスク可否の選択 0 エラー割り込み INTSREx をマスクする 1 エラー割り込み INTSREx の発生を許可する ビット 9-8 PTC001 PTC000 送信動作 UART モードでのパリティ ビットの設定 0 0 パリティ ビットを出力しないパリティなしで受信 受信動作 0 1 0 パリティを出力 パリティ判定を行わない 1 0 偶数パリティを出力 偶数パリティとして判定を行う 1 1 奇数パリティを出力奇数パリティとして判定を行う ビット 7 DIR00 0 MSB ファーストで入出力を行う 1 LSB ファーストで入出力を行う CSI UART モードでのデータ転送順序の選択 ビット 5-4 SLC001 SLC000 0 0 ストップ ビットなし 0 1 ストップ ビット長 = 1 ビット 1 0 ストップ ビット長 = 2 ビット 1 1 設定禁止 UART モードでのストップ ビットの設定 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 22 of 45

略号 :SCR00H,SCR00L SCR00H SCR00L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 TXE RXE DAP CKP EOC PTC PTC DIR SLC SLC DLS DLS 0 0 0 1 00 00 00 00 00 001 000 00 001 000 001 000 1 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 ビット 1-0 DLS001 DLS000 0 1 9 ビット データ長 1 0 7 ビット データ長 1 1 8 ビット データ長 その他 設定禁止 CSI モードでのデータ長の設定 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください 送信チャネル転送クロックの設定 シリアル データ レジスタ 00(SDR00h,SDR00L) 転送クロック周波数 : f MCK /130( 9600Hz) 略号 :SDR00H,SDR00L SDR00H SDR00L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 x x x x x x x x ビット 15 9 SDR00[15:9] 動作クロック (f MCK ) の分周による転送クロック設定 0 0 0 0 0 0 0 f MCK /2 0 0 0 0 0 0 1 f MCK /4 0 0 0 0 0 1 0 f MCK /6 0 0 0 0 0 1 1 f MCK /8 1 す 1 1 1 1 1 1 0 f MCK /254 1 1 1 1 1 1 1 f MCK /256 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 23 of 45

受信チャネルの動作モード設定 シリアル モード レジスタ 01(SMR01H,SMR00L) 割り込み要因動作モード転送クロックの選択 f MCK の選択 略号 :SMR01H,SMR01L SMR01H SMR01L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CKS CCS STS SIS MD MD MD 0 0 0 0 0 0 1 0 0 01 01 01 010 012 011 010 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 ビット 15 CKS01 チャネル 1 の動作クロック (f MCK ) の選択 0 SPS0 レジスタで設定したプリスケーラ出力クロック CK00 1 SPS0 レジスタで設定したプリスケーラ出力クロック CK01 ビット 14 CCS01 チャネル 1 の転送クロック (TCLK) の選択 0 CKS01 ビットで指定した動作クロック f MCK の分周クロック 1 SCK 端子からの入力クロック ビット 8 STS01 0 ソフトウエア トリガのみ有効 1 RxD 端子の有効エッジ (UART 受信時に選択 ) スタート トリガ要因の選択 ビット 6 SIS010 UART モードでのチャネル 1 の受信データのレベル反転の制御 0 立ち下りエッジをスタート ビットとして検出します 1 立ち上がりエッジをスタート ビットとして検出します ビット 2-1 MD012 MD011 チャネル 1 の動作モードの設定 0 0 CSI モード 0 1 UART モード 1 0 簡易 I 2 C モード 1 1 設定禁止 ビット 0 MD010 0 転送完了割り込み 1 バッファ空き割り込み チャネル 1 の割り込み要因の選択 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 24 of 45

受信チャネルの通信動作設定 シリアル通信動作レジスタ 01(SCR01H,SCR01L) データ長の設定 データ転送順序 エラー割り込み信号のマスク可否 動作モード 略号 :SCR01H,SCR01L SCR01H SCR01L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 TXE RXE DAP CKP EOC PTC PTC DIR SLC SLC DLS DLS 0 0 0 1 01 01 01 01 01 011 010 01 011 010 011 010 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 1 ビット 15-14 TXE01 RXE01 チャネル 1 の動作モードの設定 0 0 通信禁止 0 1 受信のみを行う 1 0 送信のみを行う 1 1 送受信を行う UART 受信の場合は SCR01 レジスタの RXE01 ビットを 1 に設定後に,fCLK の 4 クロック以上間隔をあけてから SS01 = 1 を設定してください ビット 10 EOC01 0 エラー割り込み INTSRE1 をマスクする 1 エラー割り込み INTSRE1 の発生を許可する エラー割り込み信号 (INTSRE1) のマスク可否の選択 ビット 9-8 PTC011 PTC010 送信動作 UART モードでのパリティ ビットの設定 0 0 パリティ ビットを出力しないパリティなしで受信 受信動作 0 1 0 パリティを出力 パリティ判定を行わない 1 0 偶数パリティを出力 偶数パリティとして判定を行う 1 1 奇数パリティを出力奇数パリティとして判定を行う ビット 7 DIR01 0 MSB ファーストで入出力を行う 1 LSB ファーストで入出力を行う CSI UART モードでのデータ転送順序の選択 ビット 5-4 SLC011 SLC010 0 0 ストップ ビットなし 0 1 ストップ ビット長 = 1 ビット 1 0 ストップ ビット長 = 2 ビット 1 1 設定禁止 UART モードでのストップ ビットの設定 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 25 of 45

略号 :SCR01H,SCR01L SCR01H SCR01L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 TXE RXE DAP CKP EOC PTC PTC DIR SLC SLC DLS DLS 0 0 0 1 01 01 01 01 01 011 010 01 011 010 011 010 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 1 ビット 1-0 DLS011 DLS010 0 1 9 ビット データ長 1 0 7 ビット データ長 1 1 8 ビット データ長 その他 設定禁止 CSI モードでのデータ長の設定 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 26 of 45

受信転送クロックの設定 シリアル データ レジスタ 01(SDR01H,SDR01L) 転送クロック周波数 : f MCK /130( 9600Hz) 略号 :SDR01H,SRD01L SDR01H SDR01L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 x x x x x x x x ビット 15-9 SDR01[15:9] 動作クロック (f MCK ) の分周による転送クロック設定 0 0 0 0 0 0 0 f MCK /2 0 0 0 0 0 0 1 f MCK /4 0 0 0 0 0 1 0 f MCK /6 0 0 0 0 0 1 1 f MCK /8 1 0 0 0 0 0 0 f MCK /130 1 1 1 1 1 1 0 f MCK /254 1 1 1 1 1 1 1 f MCK /256 出力レベルの設定 シリアル出力レベル レジスタ 0(SOL0/SOL0L) 出力 : 非反転 略号 :SOL0 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 SOL 00 0 0 0 0 0 0 0 0 ビット 0 SOL00 UART モードでのチャネル n の送信データのレベル反転の選択 0 通信データは, そのまま出力されます 1 通信データは, 反転して出力されます 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 27 of 45

初期出力レベルの設定 シリアル出力レジスタ 0(SO0) 初期出力 :1 略号 :SO0 7 6 5 4 3 2 1 0 SO SO 0 0 0 0 0 0 01 00 0 0 0 0 0 0 x 1 ビット 0 SO00 0 シリアル データ出力値が 0 1 シリアル データ出力値が 1 チャネル 0 のシリアル データ出力 対象チャネルのデータ出力許可 シリアル出力許可レ] ジスタ 0(SOE0) 出力許可略号 :SOE0 7 6 5 4 3 2 1 0 SOE SOE 0 0 0 0 0 0 01 00 0 0 0 0 0 0S x 1 ビット 0 SOE00 0 シリアル通信動作による出力停止 1 シリアル通信動作による出力許可 ノイズ フィルタ許可 ノイズ フィルタ許可レジスタ 00(NFEN0) RxD0 端子のノイズ フィルタをオン 略号 :NFEN0 チャネル 0 のシリアル出力許可 / 停止 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 SNFEN00 0 0 0 0 0 0 0 1 ビット 0 SNFEN00 0 ノイズ フィルタ OFF 1 ノイズ フィルタ ON RxD0 端子 (RxD0/P01) のノイズ フィルタ使用可否 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 28 of 45

略号 : PR00L(10 ピン製品 ) 7 6 5 4 3 2 1 0 STPR00 TMPR000 TMPR001H SREPR00 SRPR00 CSIPR000 IICPR000 PPR01 PPR00 WDTIPR0 x x 1 0 1 x x x 略号 :PR10L(10 ピン製品 ) TMPR100 TMPR101 SREPR10 SRPR00 STPR10 CSIPR100 IICPR100 PPR11 PPR10 WDTIPR1 x x 0 1 1 x x x ビット 5-3 xxpr1x xxpr0x 優先順位レベルの選択 0 0 レベル 0 を指定 ( 高優先順位 ) 0 1 レベル 1 を指定 1 0 レベル 2 を指定 1 1 レベル 3 を指定 ( 低優先順位 ) 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 29 of 45

ポート設定 ポート レジスタ 0(P0) ポート モード レジスタ 0(PM0) 送信データ用 受信データ用にそれぞれポートを設定します 略号 :P0 7 6 5 4 3 2 1 0 0 0 0 P04 P03 P02 P01 P00 x x x x x x x 1 ビット 0 P00 出力データの制御 ( 出力モード時 ) 0 0 を出力 1 1 を出力 略号 :PM0 7 6 5 4 3 2 1 0 1 1 1 1 1 PM02 PM01 PM00 1 1 1 1 1 x 1 0 ビット 1 PM01 P01 の入出力モードの選択 0 出力モード ( 出力バッファ オン ) 1 入力モード ( 出力バッファ オフ ) ビット 0 PM00 P00 の入出力モードの選択 0 出力モード ( 出力バッファ オン ) 1 入力モード ( 出力バッファ オフ ) 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 30 of 45

5.7.7 メイン関数 図 5.10 図 5.11 図 5.12 にメイン関数のフローチャートを示します main() 6 main 初期設定 R_MAIN_UserInit() IE 1 UART0 受信ステータス初期化関数 R_UART0_Receive() UART0 受信用バッファと データ数 (1) を設定 UART0 動作開始関数 R_UART0_Start() HALT モードへ移行 受信割り込み禁止 SRMK0 ビット 1 SREMK0 ビット 1 受信エラー検出? YES フレーミング エラー? YES NO NO UART0 データ送信関数 R_UART0_Send() 送信完了? YES NO 3 4 図 5.10 メイン関数 (1/3) R01AN3145JJ0100 Rev. 1.00 Page 31 of 45

3 パリティ エラー? NO YES UART0 データ送信関数 R_UART0_Send() 送信完了? NO YES パリティ エラー? NO YES UART0 データ送信関数 R_UART0_Send() 送信完了? NO YES 5 図 5.11 メイン関数 (2/3) R01AN3145JJ0100 Rev. 1.00 Page 32 of 45

5 4 受信データは? = T UART0 データ送信関数 R_UART0_Send() = t T, t 以外 引数 : OK UART0 データ送信関数 R_UART0_Send() 引数 : ok UART0 データ送信関数 R_UART0_Send() 引数 : UC 送信完了? NO YES UART0 受信ステータス初期化関数 R_UART0_Receive() 受信割り込み許可 SRMK0 ビット 0 SREMK0 ビット 0 6 図 5.12 メイン関数 (3/3) R01AN3145JJ0100 Rev. 1.00 Page 33 of 45

5.7.8 メイン初期設定 図 5.13 にメイン初期設定のフローチャートを示します 図 5.13 メイン初期設定 R01AN3145JJ0100 Rev. 1.00 Page 34 of 45

5.7.9 UART0 受信ステータス初期化関数 図 5.14 に UART0 受信ステータス初期化関数のフローチャートを示します R_UART0_Receive() ステータスの初期値を OK に設定 データ数 = 0? NO YES ステータスを ERROR に設定 受信データ数カウンタ初期化 受信データ数設定 受信データ ポインタ初期化 戻り値にステータスを設定 return 図 5.14 UART0 受信ステータス初期化関数 R01AN3145JJ0100 Rev. 1.00 Page 35 of 45

5.7.10 UART0 動作開始関数 図 5.15 に UART0 動作開始関数のフローチャートを示します R_UART0_Start() TxD0 出力レベル設定 SO0.0 ビット 1 UART0 出力許可 SOE0.0 ビット 1 UART0 動作許可 SS0.0ビット 1 SS0.1ビット 1 送信割り込み要求フラグをクリア STIF0 ビット 0 受信割り込み要求フラグをクリア 送信割り込み許可 SRIF0ビット 0 SREIF0ビット 0 STMK0 ビット 0 受信割り込み許可 SRMK0ビット 0 SREMK0ビット 0 return 図 5.15 UART0 動作開始関数 R01AN3145JJ0100 Rev. 1.00 Page 36 of 45

割り込みの設定 割り込み要求フラグ レジスタ(IF0L) 割り込み要求フラグのクリア 割り込みマスク フラグ レジスタ(MK0L) 割り込みマスク解除 略号 :IF0L (10 ピン製品の場合 ) 7 6 5 4 3 2 1 0 TMIF00 TMIF01H SREIF0 SRIF0 STIF0 CSIIF00 IICIF00 PIF1 PIF0 WDTIIF x x 0 0 0 x x x SREIF0 SRIF0 STIF0 割り込み処理要求フラグ 0 0 0 割り込み要求信号が発生していない 1 1 1 割り込み要求信号が発生し, 割り込み要求状態 略号 : MK0L(10 ピン製品の場合 ) 7 6 5 4 3 2 1 0 TMMK00 TMMK01H SREMK0 SRMK0 STMK0 CSIMK00 IICMK00 PMK1 PMK0 WDTIMK x x 0 0 1 x x x SREMK0 SRMK0 STMK0 割り込み処理の制御 0 0 0 割り込み処理許可 1 1 1 割り込み処理禁止 通信待機状態に遷移 シリアル チャネル開始レジスタ 0(SS0) 動作開始 略号 :SS0 7 6 5 4 3 2 1 0 0 0 0 0 SS03 SS02 SS01 SS00 0 0 0 0 x 注 x 1 注 1 ビット 3-0 SS0n 0 トリガ動作せず 1 SE0n に 1 をセットし 通信待機状態に遷移する チャネル n の動作開始トリガ 注 UART 受信の場合は SCR0n レジスタの RXE0n ビットを 1 に設定後に f CLK の 4 クロック以上間隔をあけてから SS0n = 1 を設定してください 注意レジスタ設定方法の詳細については RL78/G10 ユーザーズマニュアルハードウェア編を参照してください R01AN3145JJ0100 Rev. 1.00 Page 37 of 45

5.7.11 INTSR0 割り込みサービスルーチン 図 5.16 に INTSR0 割り込みサービスルーチンのフローチャートを示します r_uart0_interrupt_receive() 受信データ読み出し 設定データ数以内? NO YES 受信データ格納 UART0 オーバーフローデータ受信関数 r_uart0_callback_softwareoverrun() ポインタとカウンタ更新 設定データ完了? NO YES UART0 受信データ分類関数 r_uart0_callback_receiveend() return 図 5.16 INTSR0 割り込みサービスルーチン R01AN3145JJ0100 Rev. 1.00 Page 38 of 45

5.7.12 UART0 受信データ分類関数 図 5.17 に UART0 受信データ分類関数のフローチャートを示します r_uart0_callback_receiveend() 受信エラー フラグのクリア return 図 5.17 UART0 受信データ分類関数 R01AN3145JJ0100 Rev. 1.00 Page 39 of 45

5.7.13 UART0 データ送信関数 図 5.18 に UART0 データ送信関数のフローチャートを示します R_UART0_Send() ステータスを初期値 OK に設定 データ数 = 0? NO YES ステータスを ERROR に設定 送信データ ポインタ初期化 送信データ数設定 送信割り込みマスク設定 STMK0 ビット 1 最初のデータを送信 TXD0 レジスタ データ 送信データ ポインタ更新 送信データ数更新 送信割り込みマスク解除 STMK0 ビット 0 戻り値にステータスを設定 return 図 5.18 UART0 データ送信関数 R01AN3145JJ0100 Rev. 1.00 Page 40 of 45

5.7.14 UART0 受信エラー割り込み関数 図 5.19 に UART0 受信エラー割り込み認関数のフローチャートを示します r_uart0_interrupt_error() 受信データ読み出し バッファ RxD0 エラー フラグ読み出し エラー フラグ クリア SIR01 レジスタ (SSR01 & 07H) UART0 受信エラー分類関数 r_uart0_callback_error() return 図 5.19 UART0 受信エラー割り込み関数 R01AN3145JJ0100 Rev. 1.00 Page 41 of 45

5.7.15 UART0 受信エラー分類関数 図 5.20 に UART0 受信エラー分類関数のフローチャートを示します r_uart0_callback_error() エラー フラグ設定 return 図 5.20 UART0 受信エラー分類関数 R01AN3145JJ0100 Rev. 1.00 Page 42 of 45

5.7.16 INTST0 割り込みサービスルーチン 図 5.21 に INTST0 割り込みサービスルーチンのフローチャートを示します r_uart0_interrupt_send 残りデータあり? NO YES データ送信 ポインタとカウンタ更新 UART0 送信完了処理関数 r_uart0_callback_sendend() return 図 5.21 INTST0 割り込みサービスルーチン R01AN3145JJ0100 Rev. 1.00 Page 43 of 45

5.7.17 UART0 送信完了処理関数 図 5.22 に UART0 送信完了処理関数のフローチャートを示します r_uart0_callback_sendend() 送信完了フラグ設定 return 図 5.22 UART0 送信完了処理関数 R01AN3145JJ0100 Rev. 1.00 Page 44 of 45

6. サンプルコード サンプルコードは ルネサスエレクトロニクスホームページから入手してください 7. 参考ドキュメント RL78/G10 ユーザーズマニュアルハードウェア編 (R01UH0384J) RL78 ファミリユーザーズマニュアルソフトウェア編 (R01US0015J) ( 最新版をルネサスエレクトロニクスホームページから入手してください ) テクニカルアップデート / テクニカルニュース ( 最新の情報をルネサスエレクトロニクスホームページから入手してください ) ホームページとサポート窓口 ルネサスエレクトロニクスホームページ http://japan.renesas.com/ お問合せ先 http://japan.renesas.com/inquiry R01AN3145JJ0100 Rev. 1.00 Page 45 of 45

改訂記録 RL78/G10 Rev. 発行日 ページ 1.00 初版発行 改訂内容ポイント すべての商標および登録商標は それぞれの所有者に帰属します A-1

製品ご使用上の注意事項 ここでは マイコン製品全体に適用する 使用上の注意事項 について説明します 個別の使用上の注意 事項については 本ドキュメントおよびテクニカルアップデートを参照してください 1. 未使用端子の処理 注意 未使用端子は 本文の 未使用端子の処理 に従って処理してください CMOS 製品の入力端子のインピーダンスは 一般に ハイインピーダンスとなっています 未使用端子を開放状態で動作させると 誘導現象により LSI 周辺のノイズが印加され LSI 内部で貫通電流が流れたり 入力信号と認識されて誤動作を起こす恐れがあります 未使用端子は 本文 未使用端子の処理 で説明する指示に従い処理してください 2. 電源投入時の処置 注意 電源投入時は, 製品の状態は不定です 電源投入時には LSI の内部回路の状態は不確定であり レジスタの設定や各端子の状態は不定です 外部リセット端子でリセットする製品の場合 電源投入からリセットが有効になるまでの期間 端子の状態は保証できません 同様に 内蔵パワーオンリセット機能を使用してリセットする製品の場合 電源投入からリセットのかかる一定電圧に達するまでの期間 端子の状態は保証できません 3. リザーブアドレス ( 予約領域 ) のアクセス禁止 注意 リザーブアドレス( 予約領域 ) のアクセスを禁止します アドレス領域には 将来の機能拡張用に割り付けられているリザーブアドレス ( 予約領域 ) があります これらのアドレスをアクセスしたときの動作については 保証できませんので アクセスしないようにしてください 4. クロックについて 注意 リセット時は クロックが安定した後 リセットを解除してください プログラム実行中のクロック切り替え時は 切り替え先クロックが安定した後に切り替えてください リセット時 外部発振子 ( または外部発振回路 ) を用いたクロックで動作を開始するシステムでは クロックが十分安定した後 リセットを解除してください また プログラムの途中で外部発振子 ( または外部発振回路 ) を用いたクロックに切り替える場合は 切り替え先のクロックが十分安定してから切り替えてください 5. 製品間の相違について 注意 型名の異なる製品に変更する場合は 製品型名ごとにシステム評価試験を実施してください 同じグループのマイコンでも型名が違うと 内部 ROM レイアウトパターンの相違などにより 電気的特性の範囲で 特性値 動作マージン ノイズ耐量 ノイズ輻射量などが異なる場合があります 型名が違う製品に変更する場合は 個々の製品ごとにシステム評価試験を実施してください

1. 2. 3. 4. 5. OA AV 6. 7. 8. RoHS 9. 10. 11. 1. 2. 135-0061 3-2-24 http://www.renesas.com http://japan.renesas.com/contact/ 2016 Renesas Electronics Corporation. All rights reserved. Colophon 4.0