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

Similar documents
評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

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

評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

S1F77330 シリーズ USB 用バススイッチ IC 2 to 1 Bus Switch 概要 S1F77330 シリーズは USB アプリケーションに適したバススイッチ IC です CMOS プロセスを採用しているため 低消費電力を特徴としています パッケージは小型の WCSP を採用している

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

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

uPC1093 DS

uPC258,4558 DS

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

S1F77330 シリーズテクニカルマニュアル Rev.2.1

PLQ-20 取扱説明書 詳細編

LP-S8160 LP-S7160 LP-S6160

LP-M8040シリーズ

LP-M5300シリーズ

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

AN424 Modbus/TCP クイックスタートガイド CIE-H14

TC7SET08FU_J_

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

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

TC4093BP/BF

TC7SZU04AFS_J_

TC7SHU04FU_J_

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

2SC1213, 2SC1213A データシート

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

The DatasheetArchive - Datasheet Search Engine

TC7SET125FU_J_


Microsoft Word - TC4011BP_BF_BFT_J_P8_060601_.doc

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

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc

TM Bluetooth® Connector ユーザーズマニュアル

Total Disc Makerサイレントインストールガイド

2SD667. 2SD667A データシート

2SC5200N_J_

2SC458, 2SC2308 データシート

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

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

DF2B29FU_J_

DF2B6.8FS_J_

M4Gグループ(1)_CEC-A

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

DF10G5M4N_J_

Notes and Points for TMPR454 Flash memory

TTC004B_J_

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

Microsoft Word - TC4017BP_BF_J_P10_060601_.doc

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

TTD1415B_J_

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

TTD1409B_J_

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

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

INDEX ソフトウェア使用許諾契約書 インストール時に必要なシステム NAVI OFFICE 2のセットアップ お問い合わせ NAVI OFFICE 2 セットアップマニュアル < NAVISTUDIO_EV_7-B >

Rev.1.1 S1V50300 サンプルプログラムマニュアル

RM0002-J01 Real Time Clock Module RTC-4543SA/SB RTC-4543SA RTC-4543SB Q Q

Microsoft Word - TA79L05_06_08_09_10_12_15_18_20_24F_J_P11_070219_.doc

USBドライバインストールマニュアル [Windows Vista/Windows 7]

目次 USBドライバダウンロードの手順...2 USBドライバインストールの手順...3 インストール結果を確認する...19 USBドライバアンインストール / 再インストールの手順...21 USB ドライバダウンロードの手順 1. SHL21 のダウンロードページからダウンロードしてください

TTB1067B_J_

2SC460, 2SC461 データシート

LTE WiFi USBドングル ソフトウェアの更新手順

製品組み込み手順書 Oracle Tuxedo (Linux版)  

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

CSM_XS2_DS_J_11_2

RD2.0S~RD150S DS

スライド 1

TRS3E65F_J_

ETM55J-02 SG-8506CA Evaluation Board Manual SG-8506CA-EVB Preliminary

Microsoft Word - TC4538BP_BF_J_2002_040917_.doc

等価回路モデルライブラリ TDK Corporation Passive Application Center July 15, 2016

等価回路モデルライブラリ TDK Corporation Passive Application Center July. 1, 2015

Microsoft Word - HGWEB_Defender_クリーンアップツール_説明書_Rev.1.00.doc

CR02AM-8 データシート <TO-92>

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

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

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

LTE モバイルルータ ソフトウェア更新手順 第 2 版 2017 年 9 月 富士通株式会社

Microsoft Word - Cubesuite+_78K0R.doc

MAC アドレス変更ツール MAC アドレスチェンジャー ユーザーズマニュアル User's Manual エレコム株式会社

画面について メイン画面 メイン画面 Logitec EXtorage Link を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 メニュー 2 端末から外部ストレージへ 3 外部ストレージから端末へ 4 端末 5 外部ストレージ 6 カメラ機能 スマホやタブレットで使

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

現行のICカードリーダRW4040インストーラの課題

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat


1

HD74LV2G74A

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

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

スライド 1

アプリケーションノート MT-R300 割り込みプログラムのデバッグ方法

Microsoft Word - Cubesuite+_V850_AM.doc

CSM_G5Q_DS_J_1_14

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

MB-LCD1 アセンブラ・ライブラリによる制御

CSM_G7L_DS_J_1_15

CSM_G6J-Y_DS_J_1_8

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

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

Transcription:

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

評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価ボード キット 開発ツールは 電子エンジニア向けであり 消費者向け製品ではありません お客様において 適切な使用と安全に配慮願います 弊社は 本品を用いることで発生する損害や火災に対し いかなる責も負いかねます 通常の使用においても 異常がある場合は使用を中止して下さい 3. 本評価ボード キット 開発ツールに用いられる部品は 予告無く変更されることがあります 本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報であり これらに起因する第三者の知的財産権およびその他の権利侵害あるいは損害の発生に対し 弊社はいかなる保証を行うものではありません また 本資料によって第三者または弊社の知的財産権およびその他の権利の実施権の許諾を行うものではありません 3. 特性値の数値の大小は 数直線上の大小関係で表しています 4. 製品および弊社が提供する技術を輸出等するにあたっては 外国為替および外国貿易法 を遵守し 当該法令の定める手続きが必要です 大量破壊兵器の開発等およびその他の軍事用途に使用する目的をもって製品および弊社が提供する技術を費消 再販売または輸出等しないでください 5. 本資料に掲載されている製品は 生命維持装置その他 きわめて高い信頼性が要求される用途を前提としていません よって 弊社は本 ( 当該 ) 製品をこれらの用途に用いた場合のいかなる責任についても負いかねます 6. 本資料に掲載されている会社名 商品名は 各社の商標または登録商標です SEIKO EPSON CORPORATION 2017, All rights reserved.

目次 1. 概要... 1 1.1 機能... 1 1.2 フォルダ構成... 2 1.3 ファイル構成... 2 2. サンプルソフトウェア機能詳細... 3 2.1 サンプルソフトウェア仕様... 3 2.2 動作概要... 4 2.3 アプリケーションプログラムへの適用方法... 5 3. 関数仕様... 7 3. 動作時間... 9 改訂履歴表... 10 S1C17 シリーズポート多重割り込み アプリケーションノート Seiko Epson Corporation i

1. 概要 1. 概要 S1C17 シリーズの割り込みベクタテーブルは周辺モジュール毎に複数の割り込み要因をまとめる形で実装されていて ポート割り込みでは全ポートの割り込み要因が一つの割り込みベクタに割り振られています そのため 複数のポートの割り込み要因に優先順位をつけて多段割り込みを行う処理は割り込みコントローラの制御だけでは不可能です そこで割り込みハンドラで割り込みベクタの起動状況と割り込み優先度を管理して ポートの多段割り込みを実行する関数を提供します 1.1 機能 ポートグループ毎 (P0X,P1X,P2X, ) に割り込みレベルを設定します 現在実行中の割り込み関数より 優先度の高い割り込みが発生した場合は そちらの処理を実行します 逆に 優先度の低い割り込みが発生した場合は 優先度の高い割り込み処理が終了後 処理を実施します 動作イメージは以下のようになります 割り込みレベル P0X=2 P1X=3 P2X=1 割り込み処理実行中 P0X 割り込み 割り込み処理実行中 P1X 割り込み 割り込み処理実行中 P2X 割り込み P0X 割り込み終了後処理を実施 P0X 割り込み発生 P0X 割り込み処理実施 P0X 割り込み処理中に P1X 割り込み発生 割り込みレベルが P0X<P1X なので P1X 割り込み処理実施 P1X 割り込み処理中に P2X 割り込み発生 割り込みレベルが P2X<P1X なので P2X 割り込み処理は P0X 割り込み処理終了後に実施 S1C17 シリーズポート多重割り込み アプリケーションノート Seiko Epson Corporation 1

1. 概要 1.2 フォルダ構成 本パッケージのフォルダ構成は以下の通りです +c17_port_nested_interrupt +c17_port_nested_interrupt_gnu17v2 :GNU17Ver.2.x 用サンプルプログラム +c17_port_nested_interrupt_gnu17v3 :GNU17Ver.3.x 用サンプルプログラム -s1c17_port_nested_interrupt_j.pdf : 説明書 ( 日本語 ) -s1c17_port_nested_interrupt_e.pdf : 説明書 ( 英語 ) -License_e.txt : ソフトウェアライセンス契約書 ( 英語 ) -README.txt :README ファイル 1.3 ファイル構成 本パッケージのファイル構成は以下の通りです ファイル名 src/c17_port_nested_interrupt.c src/c17_port_nested_interrupt.h src/main.c src/boot.c src/c17_port_m30_m31_m32_m33_m34.c src/c17_port_m30_m31_m32_m33_m34.h src/c17_misc.c src/c17_misc.h src/c17_clg.c src/c17_clg.h src/c17_init_config.h src/crt0.h inc inc/reg 機能ポート多重割り込み処理関数ポート多重割り込み処理関数ヘッダ定義ファイルメイン関数スタートアップモジュールポートサンプルドライバポートサンプルドライバヘッダ定義ファイル MISC サンプルドライバ MISC サンプルドライバヘッダ定義ファイル CLG サンプルドライバ CLG サンプルドライバヘッダ定義ファイル周辺回路への設定を行うためのヘッダ定義ファイル割り込みベクタ & ブート処理関数ヘッダ定義ファイル CPU レジスタ定義ファイルディレクトリ CPU 周辺回路制御レジスタ定義ファイルディレクトリ 2 Seiko Epson Corporation S1C17 シリーズポート多重割り込み アプリケーションノート

2. サンプルソフトウェア機能詳細 2. サンプルソフトウェア機能詳細 サンプルソフトウェアの機能詳細について記載します 2.1 サンプルソフトウェア仕様本サンプルソフトウェアは S1C17M33 用として実装されてます 本サンプルソフトウェアは入出力ポートを使用して以下の動作を行います ポートを入力に設定し 入力信号が High レベルから Low レベルになったとき 割り込みが発生します 割り込み発生時にポートを出力に設定し High レベルを出力します 入力ポートが High レベルになるのを待ちます 出力ポートに Low レベルを出力します 使用するポート設定とポート名は以下の通りです 表 2.1.1 入出力ポート設定一覧 設定 ポート名 入力割り込みポート 出力ポート P00 P07 割り込みレベル 2 入力割り込みポート 出力ポート P10 P17 割り込みレベル 3 入力割り込みポート 出力ポート P20 P27 割り込みレベル 2 入力割り込みポート 出力ポート P30 P37 割り込みレベル 1 S1C17 シリーズポート多重割り込み アプリケーションノート Seiko Epson Corporation 3

2. サンプルソフトウェア機能詳細 2.2 動作概要 メイン処理ポートを初期化します P0X ポートグループの割り込みレベルを設定します P00 ポートを立下りエッジで割り込みを許可します P07 から Low を出力します P1X ポートグループの割り込みレベルを設定します P10 ポートを立下りエッジで割り込みを許可します P17 から Low を出力します P2X ポートグループの割り込みレベルを設定します P20 ポートを立下りエッジで割り込みを許可します P27 から Low を出力します P3X ポートグループの割り込みレベルを設定します P30 ポートを立下りエッジで割り込みを許可します P37 から Low を出力します 割り込み処理 (P0X) 割り込みハンドラよりポートの割り込み関数 (intinputp0x) が呼び出されます P07 を High 出力します P00 が High レベルになるまで待ちます P07 を Low 出力します 他の割り込み関数 (intinputp1x, intinputp2x, ) も制御するポートが異なりますが 処理は同じです 4 Seiko Epson Corporation S1C17 シリーズポート多重割り込み アプリケーションノート

2. サンプルソフトウェア機能詳細 2.3 アプリケーションプログラムへの適用方法 本プログラムをアプリケーションプログラムのプロジェクトに組み込む方法について説明します 1. ファイルのプロジェクトへの追加 c17_port_nested_interrupt.c/c17_port_nested_interrupt.h をプロジェクトに追加します 2. ヘッダファイル宣言 使用するソースファイル内に 以下をインクルード宣言します #include "c17_port_nested_interrupt.h" 3. ベクタテーブルへの登録 GNU17Ver.2.x の場合 割り込み関数 c17portnestedinterruptportinput を PORT 割り込みとして登録します boot.c #include "c17_port_nested_interrupt.h" /** vector table */ func *const vector[] = { // No Base+ Name /* ----- Non-Maskable Interrupts ----- */ VECTOR(boot), // 0 00 Reset VECTOR(intAddrErr), // 1 04 Address misaligned VECTOR(intReserved), // 2 08 NMI VECTOR(emu_copro_process), // 3 0C Co-processor emulation /* ----- Maskable Interrupts ----- */ VECTOR(c17intSvd), // 4 10 SVD3 interrupt VECTOR(c17portNestedInterruptPortInput), // 5 14 PORT interrupt GNU17Ver.3.x の場合 サンプルのポートドライバを使用している場合は サンプルのポートドライバの ベクタハンドラの登録をコメントアウトします c17_port_m30_m31_m32_m33_m34.c /* --- interrupt handler (GNU17v3 Only) --- */ #ifdef CRT0_LINKED //C17_INTERRUPT_HANDLER(_vector05_handler, c17intportinput); // comment out #endif /* CRT0_LINKED */ S1C17 シリーズポート多重割り込み アプリケーションノート Seiko Epson Corporation 5

2. サンプルソフトウェア機能詳細 4. ユーザー割り込み処理の追加 c17_port_nested_interrupt.c の intinputp0x, intinputp1x, に割り込み関数内で処理を追加します void intinputp0x(void) { unsigned short interruptflag; interruptflag = pxintf_get[c17_port_group_p0x]; // 割り込み要因保存変数を取得 pxintf_get[c17_port_group_p0x] = 0; // 割り込み要因保存変数をクリア asm("ei"); // 多重割り込み許可 if(interruptflag & 0x01){ /** * @todo add interrupt function of P00 // ユーザー処理の追加 */ } if(interruptflag & 0x02){ /** * @todo add interrupt function of P01 // ユーザー処理の追加 */ } ; 5. ポートグループの割り込みレベルの登録 割り込みを使用するポートグループ (P0x,P1X,P2X, ) の割り込みレベルを 関数 c17portnestedinterruptsetinterruptlevel で登録します c17portnestedinterruptsetinterruptlevel(c17_port_group_p0x, 2); c17enableintp0x(0, C17_PORT_INT_EDGE_FALLING); c17portnestedinterruptsetinterruptlevel(c17_port_group_p1x, 3); c17enableintp1x(0, C17_PORT_INT_EDGE_FALLING); c17portnestedinterruptsetinterruptlevel(c17_port_group_p2x, 2); c17enableintp2x(0, C17_PORT_INT_EDGE_FALLING); c17portnestedinterruptsetinterruptlevel(c17_port_group_p3x, 1); c17enableintp3x(0, C17_PORT_INT_EDGE_FALLING); 6 Seiko Epson Corporation S1C17 シリーズポート多重割り込み アプリケーションノート

3. 関数仕様 3. 関数仕様 関数について記します ポートグループの割り込みレベル設定 関数名 c17portnestedinterruptsetinterruptlevel 引数 portgr unsigned short ポートグループ portintlevel unsigned short 割り込みレベル 1 4 戻り値 unsigned short EXIT_SUCCESS: 成功 EXIT_FAILURE: 失敗 機能引数で指定されたポートグループに割り込みレベルを指定します 備考割り込みレベルの有効範囲は1~4です S1C17 シリーズポート多重割り込み アプリケーションノート Seiko Epson Corporation 7

3. 関数仕様 ポートの割り込みハンドラ関数名 c17portnestedinterruptportinput 引数 : なし戻り値 : なし機能ポートの割り込みハンドラです 本関数より ポートの割り込み関数 (intinputp0x, intinputp1x, intinputp2x, ) を呼び出します 備考 GNU17v2 の時本関数を PORT の割り込み関数としてベクタに登録します ポートの割り込み関数関数名 intinputp0x, intinputp1x, intinputp2x, 引数 : なし戻り値 : なし機能ポート割り込みハンドラより呼び出されます 1 割り込み要因保存変数より 割り込み要因を取得します 2 割り込み要因保存変数をクリアします 3 ポートの多重割り込みを有効にします 4 各ポートの処理を実行します ( ユーザー記述 ) 備考各ポートの割り込み処理を記述してください 8 Seiko Epson Corporation S1C17 シリーズポート多重割り込み アプリケーションノート

3. 動作時間 3. 動作時間 ポート入力によるハードウェア割り込みが発生してから ポートの割り込み関数 (intinputpxx) が呼ばれるまでの時間は以下になります 時間 :228usec 参考 通常の M33 のサンプルプログラム 時間 :208usec 条件動作クロック :IOSC=700KHZ アクセスウェイト :FLASHCWAIT=0 割り込みポート :P10 S1C17 シリーズポート多重割り込み アプリケーションノート Seiko Epson Corporation 9

改訂履歴表 改訂履歴表 付 -1 Rev. No. 日付ページ種別 Rev 1.0 2017/7/24 全ページ新規新規制定 改訂内容 ( 旧内容を含む ) および改訂理由 10 Seiko Epson Corporation S1C17 シリーズポート多重割り込み アプリケーションノート

営業本部デバイス営業部 東京 191-8501 東京都日野市日野 421-8 TEL(042)587-5313( 直通 ) FAX(042)587-5116 大阪 541-0059 大阪市中央区博労町 3-5-1 御堂筋グランタワー 15F TEL(06)6120-6000( 代表 ) FAX(06)6120-6100 ドキュメントコード :413541700 2017 年 8 月作成