[H8-ML(3220)] Re: 割込みによるシリアル通信について (便乗提案編)
From: hamayan <hamayan@xxxxxxxxxxxxxxx>
Date: 2003年05月23日(金)09時57分38秒
hamayan です。

ルネサスでもGCCでも、多分イエローソフトでも同じ事が可能かと思いますが、
H8やSHの周辺デバイスはメモリマップドされています。
ルネサスの統一ヘッダーをご覧になれば判りますが、統一ヘッダーの中身は
構造体、共用体のオンパレードです。
そこで!ルネサスを例に取れば、

#include "3068s.h"
#pragma interrupt ( SCI0_RX_INT )
#pragma interrupt ( SCI1_RX_INT )

static void Common_SCI_Rx( volatile struct st_sci *SCI )
{
  char c;

  c = SCI->RDR;
  if( SCI->SSR.BYTE & 0x38 ) SCI->SSR.BYTE &= 0x87;
  else SCI->SSR.BYTE &= 0xbf;
  /*cをリングバッファ等に保存*/
}

/*SCI0の割り込みエントリー*/
void SCI0_RX_INT(void)
{
  Common_SCI_Rx( &SCI0 );
}

/*SCI1の割り込みエントリー*/
void SCI1_RX_INT(void)
{
  Common_SCI_Rx( &SCI1 );
}

構造体を苦手とするH8では、イマイチかも知れませんが、構造体が得意
なSHなら!

しかし、上のプログラムはコンパイルすらしていないので怪しいです。
各自で試して見てね。

------------------------------------------------------------
)^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^(
☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆
from はまやん
アドレスは
	hamayan@xxxxxxxxxxxxxxxx
FILEを添付される場合は
	hamayan@xxxxxxxxxxxxxxx
URL
	http://www003.upp.so-net.ne.jp/hamayan/
The Embeded Protocol Engine
    Navajoデモ中!
	http://hamayan.ddo.jp:8080/
★★★★★★★★★end of message and thank you★★★★★★★

スレッド概略
[3218(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]