スライド 1

Similar documents
スライド 1

スライド 1

スライド 1

スライド 1

スライド 1

スライド 1

Microsoft PowerPoint - RX62N動画マニュアルDMAC.ppt [互換モード]

スライド 1

スライド 1

【注意事項】RX Driver Package、 RXファミリ RTC モジュール Firmware Integration Technology

アプリケーションノート AS-E402サンプルプログラム

スライド 1

スライド 1

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

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

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

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

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

ディジタル電子回路 設計演習課題

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

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

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

スライド 1

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

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

Microsoft Word - RTC㇢ㅊㅪㇱㅼㇷㅧㅳㅞㅉㅥ㇢ㅫ

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

Microsoft Word - プログラムをRAM.doc

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

057 { 058 int i; 059 timecounter=0; 060 pwmvalue=0;x=0;v=0; 061 requestdisplaydata=1; 062 tick=1; 063 for (i=0; i<rbuffsize; i++) { 064 ringbuffer[i]=

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

Microsoft PowerPoint - timer_pwm2.pptx

/* モジュールストップ解除 */ SYSTEM.MSTPCRA.BIT.MSTPA24 = 0; /* MSTPA24(S12ADA 制御部 ) クロック供給開始 */ SYSTEM.MSTPCRA.BIT.MSTPA17 = 0; /* MSTPA17(S12ADA0) クロック供給開始 */

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

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

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

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

取扱説明書 GUESS ウォッチ 1 女性用

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

PowerPoint プレゼンテーション

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

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

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

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

アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2

MSP430 FR5739 LPM3.5 を RTC アラームで wake-up するデモシステム (Example2) - その 2- LPM3.5 省電力モードを RTC アラームで wake-up して ADC10 温度測定をするデモシステム 2 Rev02 July Trout

2

P00表紙.ai

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

ETCB Manual

RX210 グループ FIT を用いたフラッシュメモリの書き換え 要旨 本サンプルコードでは FIT を用いて 特定の内蔵フラッシュメモリ (ROM および E2 デ ータフラッシュ ) のアドレスに特定の値を書き込む方法について説明します 対象デバイス RX210 1 / 50

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

Microsoft PowerPoint - kougi7.ppt

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

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード]

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

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

TT_ARES_manual_A_draft3.5

CubeSuite+版RXシリアルデバッガ取扱説明書


ServerView with Data ONTAP-v インストール前にお読みください

#define HOUR 0x04 #define DAY 0x05 #define WEEKDAY 0x06 #define MONTH 0x07 #define YEAR 0x08 #define CKOUT 0x0D #define CTRLT 0x0E // CLKOUT // TIMER

RXファミリ 多重割り込みの使い方 アプリケーションノート

PowerPoint Presentation

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

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

Microsoft PowerPoint - dsp12_2006.ppt

Microsoft PowerPoint - application_manual_j(RR [32])KC社名に変更.ppt [互換モード]

目次 目次... 1 はじめに... 3 マイコンシミュレータのデバッグ機能... 3 スタートアップコマンドファイル... 5 シミュレータコマンド ( マクロ ) 例... 6 I/O 制御等で外的要因待ちをしている場合 ( その1)... 6 I/O 制御等で外的要因待ちをしている場合 ( そ


TTC_AR-1081_IB共通_2_110622

スレーブ用システム設計ガイド アプライアンス社モータビジネスユニット 2012/2/15 Rev. 2 Page 1

<91E63589F161>

【注意事項】RXファミリ 組み込み用TCP/IP M3S-T4-Tiny

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

橡EN1165.PDF

(2) 構造体変数の宣言 文法は次のとおり. struct 構造体タグ名構造体変数名 ; (1) と (2) は同時に行える. struct 構造体タグ名 { データ型変数 1; データ型変数 2;... 構造体変数名 ; 例 : struct STUDENT{ stdata; int id; do

EQUIUM EQUIUM S5010 1

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

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

< 中略 > 24 0 NNE 次に 指定した日時の時間降水量と気温を 観測地点の一覧表に載っているすべての地点について出力するプログラムを作成してみます 観測地点の一覧表は index.txt というファイルで与えられています このファイルを読みこむためのサブルーチンが AMD

電磁流量計 WZ-C Modbus RTU 通信仕様書 ver.8.225

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ


h01


..0.._ e.qxp

法人保険( )

1

4 5 4


PowerPoint プレゼンテーション

10ビットPWM機能によるデューティパルス出力

OAKS16-BoardKit

Microsoft PowerPoint - OS07.pptx


RF2_BIOS一覧

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

PowerPoint Presentation

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

Transcription:

RX62N 周辺機能紹介 RTC リアルタイムクロック ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A

コンテンツ RTC の概要 プログラムサンプル プログラムサンプルのカスタマイズ 2

RTC の概要 3

RTC の仕様 32.768KHz メイン発振 サブ発振 CPG RTC システムクロック (ICLK) 周辺モジュールクロック (PCLK) 外部バスクロック (BCLK) ソフトウェアスタンバイモードでも動作する 4

RTC の動作概要 秒 分 時 日 曜日 月 年 5

プログラムサンプル 6

サンプル プログラム仕様 RTC のプログラム例 RTC を 2011 年 12 月 31 日 ( 土 )23 時 59 分 50 秒に初期化し 1 秒経過ごとに年 月 日 曜日 時 分 秒を変数にコピーします 仕様 割り込み なし 7

プログラム フローチャート リセット スタート main スタートアップルーチン init_rtc RTC 初期化 時刻の初期設定 桁上げ割り込み要求許可 CPU 内部レジスタ クロックレート およびメモリ内の静的変数領域はスタートアップ ルーチン内で初期化されます 秒カウンタへの桁上げで time 構造体変数を RTC の現在値で更新 時刻の読み出し手順 8

時刻の設定フロー カウンタの停止 カウンタの設定 = 時刻の設定 カウンタの再起動 9

RTC コントロールレジスタ 2(RCR2) (1) カウント動作時刻設定前 10

RTC コントロールレジスタ 2(RCR2) (2) 11

カウンタ 年カウンタ (RYRCNT) 月カウンタ (RMONCNT) 日カウンタ (RDAYCNT) 曜日カウンタ (RWKCNT) 時カウンタ (RHRCNT) 分カウンタ (RMINCNT) 秒カウンタ (RSECCNT) 範囲 :BCDで0000~9999 範囲 :BCDで01~12 範囲 :BCDで01~31 範囲 :BCDで0( 日曜 )~6( 土曜 ) 範囲 :BCDで00~23 範囲 :BCDで00~59 範囲 :BCDで00~59 日カウンタの設定範囲は月やうるう年によって異なる 12

RTC の初期化関数 enum{sun,mon,tue,wed,thu,fri,sat}; void init_rtc(void){ // RTCstop RTC.RCR2.BIT.START = 0; while(rtc.rcr2.bit.start!= 0); } // Timer 64Hz counter reset RTC.RCR2.BIT.RESET = 1; // set real time clock RTC.RYRCNT.WORD = 0x2011; //2011 年 RTC.RMONCNT.BYTE = 0x12; //12 月 RTC.RDAYCNT.BYTE = 0x31; //31 日 RTC.RWKCNT.BYTE = SAT; // 土曜 RTC.RHRCNT.BYTE = 0x23; //23 時 RTC.RMINCNT.BYTE = 0x59; //59 分 RTC.RSECCNT.BYTE = 0x50; //50 秒 // RTCstart RTC.RCR2.BIT.START = 1; while(rtc.rcr2.bit.start!= 1); 13

RTC コントロールレジスタ 1(RCR1) 1 秒ごとに起きる 14

時刻の読み出しフロー カウンタの読み出しは手順を踏まないと正しい値が読めない 64Hz カウンタの秒カウンタへの桁上げ リセット後は禁止なので設定不要 時刻読み出し中に桁上げが起こった 15

RTC のメイン関数 ( 読み出し手順 ) void main(void) { // Initialize timer (RTC) init_rtc(); // A carry interrupt is enable RTC.RCR1.BIT.CIE = 1; while(1){ // check for a carry interrupt request flag if(ir(rtc,cup) == 1){ // 1-second intervals do{ //flag clear IR(RTC,CUP) = CLEAR; struct { uint16_t year; uint8_t month; uint8_t day; uint8_t youbi; uint8_t hour; uint8_t minute; uint8_t second; } time; main init_rtc RTC 初期化 桁上げ割り込み要求許可 秒カウンタへの桁上げで time 構造体変数を RTC の現在値で更新 } } // read real time clock time.year = RTC.RYRCNT.WORD; time.month = RTC.RMONCNT.BYTE; time.day = RTC.RDAYCNT.BYTE; time.youbi = RTC.RWKCNT.BYTE; time.hour = RTC.RHRCNT.BYTE; time.minute = RTC.RMINCNT.BYTE; time.second = RTC.RSECCNT.BYTE; // check for a carry interrupt request flag }while(ir(rtc,cup) == 1); } 読み出し手順 16

プログラムサンプルのカスタマイズ 17

サンプル プログラムの追加仕様 RTC のプログラム例 RTC を 2011 年 12 月 31 日 ( 土 )23 時 59 分 50 秒に初期化し 1 秒経過ごとに年月日 曜日 時分秒を time 構造体変数にコピーします 2012 年 1 月 1 日 ( 日 )0 時 0 分 0 秒に LED を点 灯します 仕様 割り込み アラーム割り込み 18

アラーム動作 秒 アラームレジスタ 分 時 日 曜日 月 年 アラーム割り込み 19

プログラム フローチャート リセット スタート main スタートアップルーチン init_port LED の初期化 init_rtc RTC 初期化 RTC 割り込み関数 (Excep_RTC_ALM) CPU 内部レジスタ クロックレート およびメモリ内の静的変数領域はスタートアップ ルーチン内で初期化されます set_alarm アラームの設定 setpsw_i( 組み込み関数 ) 割り込み許可 LED 点灯 RTE 桁上げ割り込み要求許可 秒カウンタへの桁上げで time 構造体変数を RTC の現在値で更新 追加処理 20

アラームの設定フロー リセット後は禁止なので設定不要 21

アラームレジスタ 年アラームレジスタ (RYRAR) 年アラームイネーブルレジスタ (RYRAREN) 月アラームレジスタ (RMONAR) 曜日アラームレジスタ (RWKAR) 日アラームレジスタ (RDAYAR) 時アラームレジスタ (RDAYAR) 分アラームレジスタ (RMINAR) 秒アラームレジスタ (RSECAR) AND 条件 対応するカウンタと比較する値の設定 比較を有効とするか無効とするかの設定 22

RTC コントロールレジスタ 1(RCR1) (1) 更新の確認が必要 23

RTC コントロールレジスタ 1(RCR1) (2) 24

割り込み要求レジスタ i(iri)( i = 割り込みベクタ番号 ) 周期割り込み :IR62 H/W で 1 になる 25

割り込みコントローラの設定 割り込みコントローラ CPUへ IER( 許可 ) IPR( 優先レベル ) 26

割り込み要求許可レジスタ m(ierm)(m = 02h ~ 1Fh) IER0B 27

割り込み要因プライオリティレジスタ m(iprm)(m= 00h~8Fh) アラーム割り込み :IPR3C 28

アラーム設定関数 (1) enum{sun,mon,tue,wed,thu,fri,sat}; void set_alarm(void) { // Counting? while(rtc.rcr2.bit.start!= 1); // set alarm RTC.RYRAR.WORD = 0x2012; RTC.RYRAREN.BIT.ENB = 1; RTC.RMONAR.BYTE = 0x80 0x01; RTC.RDAYAR.BYTE = 0x80 0x01; RTC.RWKAR.BYTE = 0x80 SUN; RTC.RHRAR.BYTE = 0x80 0x00; RTC.RMINAR.BYTE = 0x80 0x00; RTC.RSECAR.BYTE = 0x80 0x00; // enable alarm interrupt request RTC.RCR1.BIT.AIE = 1; while( RTC.RCR1.BIT.AIE!= 1 ); EMB=1 アラーム設定関数 (2) へ続く 29

アラーム設定関数 (2) } アラーム設定関数 (1) の続き // enable periodic interrupt request RTC.RCR1.BIT.PIE = 1; RTC.RCR1.BIT.PES = 2; // 1/64 sec // check periodic interrupt request flag // because wait for 1/64 second while( IR(RTC,PRD)!= 0 ); IR(RTC,PRD) = 0; while( IR(RTC,PRD)!= 0 ); 1/64 秒 IR(RTC,PRD) = 0; // disable periodic interrupt request RTC.RCR1.BIT.PIE = 0; // clear alarm interrupt request flag IR(RTC,ALM) = 0; // enable alarm interrupt IEN(RTC,ALM) = 1; 1/64 秒未満 // to set the priority of alarm interrupt IPR(RTC,ALM) = 1; 30

割り込み関数の作成とベクタテーブルの登録 割り込み関数 // RTCALM #pragma interrupt (Excep_RTC_ALM(vect=92)) void Excep_RTC_ALM(void) { // Lighting PORT4.DR.BIT.B7 = 0; } RTC 割り込み関数 (Excep_RTC_ALM) LED 点灯 RTE 31

END ルネサスエレクトロニクス株式会社