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★★★★★★★