SH-2Aの時計を使う


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ハードウェア

水晶はジャンク基板から外したRTC用32.768kHzを
追加(X3)しました。

ソフトウェア

レジスタに設定するだけで日時を設定できます。
現在は、USB接続でパソコンと同期できるようになりました。
文字が小さいので大きくしました。


X3に 32.768kHzを使う設定

チップ抵抗(R16)は外します。

//時計用レジスタ初期設定
void teme_init(void)
{
   RTC.RCR1.BYTE = 0x00;    //時計動作停止リセット
    RTC.RCR2.BYTE = 0x0A;
   RTC.RCR3.BYTE = 0x00;
   RTC.RCR5.BYTE = 0x00;    // RTC_X1
   RTC.RFRH.WORD = 0x0000;  // RFC = X1 
   RTC.RFRL.WORD = 0x0000;  // 32.768kHz
   RTC.RCR2.BYTE = 0x09;    //時計動作開始
}

X2に水晶をつけた場合の設定

10MHz,12MHz,16MHz,18MHzが使用できます。
チップ抵抗(R15)は外します。
12MHzがジャンクであったので試してみました
   RTC.RCR1.BYTE = 0x00;//時計動作停止リセット
   RTC.RCR2.BYTE = 0x0A;//設定時 時計ストップ
   RTC.RCR3.BYTE = 0x00;

//EXTAL	クロック使用時 10,12,16,18MHz
	RTC.RCR5.BYTE = 0x01;    // EXTAL使用
	RTC.RFRH.WORD = 0x0001;  // H=0x0001
//	RTC.RFRL.WORD = 0x312B;  // L=0x312B = 10MHz
	RTC.RFRL.WORD = 0x6E34;  // L=0x6E34 = 12MHz
//	RTC.RFRL.WORD = 0xE846;  // L=0xE846 = 16MHz


表示

データはBCD(2進化10進数)で入っています
printfが使えれば簡単ですね
printf("%4x/%2x/%2x   %2x:%2x:%2x ",
    RTC.RYRCNT,RTC.RMONCNT,RTC.RDAYCNT,RTC.RHRCNT,
    RTC.RMINCNT, RTC.RSECCNT);

日時を設定


   RTC.RYRCNT  = 0x2010;	//年設定
   RTC.RMONCNT = 0x11;	//月
   RTC.RDAYCNT = 0x08;	//日
   RTC.RHRCNT  = 0x22;	//時
   RTC.RMINCNT = 0x40;	//分
   RTC.RSECCNT = 0x00;	//秒
   RTC.RWKCNT  = 0x01;     // 曜日

アラーム設定してディープスリープモードに入れます。
アラーム時間に復帰できる・・・みたい、まだ出来ません。

パソコンと同期したいと思っています。-> できた 
電波時計もいいな・・・




|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|
添付ファイル