source: atk1_sh2/trunk/syslib/sh2-gnu/cq7144a/hw_serial.h@ 4

Last change on this file since 4 was 4, checked in by msugi, 14 years ago

Interface誌2006年8月号添付のTOPPERS/OSEK用SH2をTOPPERS/ATK1に対応させました.多少のバグフィックスも行っています.

File size: 3.4 KB
Line 
1/*
2 * TOPPERS/OSEK Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * OSEK Kernel
5 *
6 * Copyright (C) 2004-2006 by Witz Corporation, JAPAN
7 *
8 * ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì (1)`(4) ‚ÌðŒ‚©CFree Software Foundation
9 * ‚É‚æ‚Á‚ÄŒö•\‚³‚ê‚Ä‚¢‚é GNU General Public License ‚Ì Version 2 ‚É‹L
10 * q‚³‚ê‚Ä‚¢‚éðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒFƒAi–{ƒ\ƒtƒgƒEƒFƒA
11 * ‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü•ÏEÄ”z•ziˆÈ‰ºC
12 * —˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
13 * (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
14 * Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
15 * ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
16 * (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
17 * —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ…
18ƒƒ“ƒgi—˜—p
19 * ŽÒƒ}ƒjƒ…
20ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
21 * ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
22 * (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
23 * —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
24 * ‚ƁD
25 * (a) Ä”z•z‚É”º‚¤ƒhƒLƒ…
26ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
27ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
28 * ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
29 * (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
30 * •ñ‚·‚邱‚ƁD
31 * (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
32 * ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
33 *
34 * –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
35 * ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC‚»‚Ì“K—p‰Â”\«‚à
36 * ŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼
37 * Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚𕉂í‚È‚¢D
38 *
39 */
40
41/*
42 * ƒTƒ“ƒvƒ‹Œü‚¯ƒ^[ƒQƒbƒgˆË‘¶ƒVƒŠƒAƒ‹IOƒ‚ƒWƒ…
43[ƒ‹iCQ7144A—pj
44 */
45
46/*
47 * –{Šî”‚ÍUART1‚ðAISP(In system programming)‚ƃVƒŠƒAƒ‹’ʐM‚ÅŒ“—p‚·‚éD
48 * ‚±‚Ì‚½‚߁A–{ƒ‚ƒWƒ…
49[ƒ‹‚ɂ‚¢‚Ä‚àUART1‚ðƒVƒŠƒAƒ‹IO‚ÉŽg—p‚·‚éD
50 */
51
52#if !defined( _HW_SERIAL_H_ )
53#define _HW_SERIAL_H_
54
55
56#include "kernel.h"
57#include "sh7144.h"
58
59
60/*
61 * ƒVƒŠƒAƒ‹ƒ|[ƒg‚ÌŠ„ž‚݃Œƒxƒ‹’è‹`
62 */
63#define CFG_INTLVL_SERIAL_RX1 (UINT16)( 0x6 ) /* ƒVƒŠƒAƒ‹ŽóM */
64
65/*
66 * ƒVƒŠƒAƒ‹ƒ|[ƒg‚̃{[ƒŒ[ƒg’è‹`
67 *
68 * CFG_BRR_SERIAL ‚Ì’è‹`•ÏX‚Ń{[ƒŒ[ƒg‚ð•ÏX‰Â”\
69 */
70#define BRR_SERIAL_9600 (UINT8)( 77 ) /* 750000/{BRR+1} = 9615 */
71#define BRR_SERIAL_19200 (UINT8)( 38 ) /* 750000/{BRR+1} = 19230 */
72#define BRR_SERIAL_38400 (UINT8)( 19 ) /* 750000/{BRR+1} = 37500 */
73#define BRR_SERIAL_57600 (UINT8)( 12 ) /* 750000/{BRR+1} = 57692 */
74#define CFG_BRR_SERIAL BRR_SERIAL_57600
75
76
77#if !defined( _MACRO_ONLY )
78
79/*
80 * ƒVƒXƒeƒ€ƒƒOo—̓‚ƒWƒ…
81[ƒ‹‰Šú‰»ŠÖ”ƒvƒƒgƒ^ƒCƒvéŒ¾
82 */
83extern void InitHwSerial( void );
84
85/*
86 * ƒVƒXƒeƒ€ƒƒOo—̓‚ƒWƒ…
87[ƒ‹’âŽ~ŠÖ”ƒvƒƒgƒ^ƒCƒvéŒ¾
88 */
89extern void TermHwSerial( void );
90
91/*
92 * ŒÄ‚ÑŽw‚µƒRƒ“ƒeƒLƒXƒg‚Å‚Ì•¶Žš‘—MŠÖ”ƒvƒƒgƒ^ƒCƒvéŒ¾
93 */
94Inline void PutHwChar( UINT8 character );
95
96/*
97 * ƒR[ƒ‹ƒoƒbƒNŠÖ”ŠO•”ŽQÆ
98 */
99extern void RxSerialInt( UINT8 character );
100
101/*
102 * ŒÄ‚ÑŽw‚µƒRƒ“ƒeƒLƒXƒg‚Å‚Ì•¶Žš‘—MD
103 *
104 * –{ŠÖ”‚ÍŠ„ž‚Ý‹ÖŽ~ó‘ԂŌĂяo‚·‚±‚ƁD
105 * ‰üsƒR[ƒh‚Ȃǂ̐§ŒäƒR[ƒh‚à—v‹‘¤‚ōs‚¤‚±‚ƁD
106 */
107Inline void
108PutHwChar( UINT8 character )
109{
110 /* ‘—Mƒoƒbƒtƒ@‚ª‹ó‚É‚È‚é‚Ü‚Å‘Ò‚Â */
111 while( (SSR1 & (UINT8)0x80) == 0 ){
112 }
113
114 /* ‚P•¶Žš‘‚«ž‚Ý */
115 TDR1 = character;
116
117 /* ‘—M’†‚Æ‚·‚é */
118 SSR1 &= (UINT8)~0x80;
119
120} /* PutHwChar */
121
122#endif /* _MACRO_ONLY */
123
124
125#endif /* _HW_SERIAL_H_ */
126
Note: See TracBrowser for help on using the repository browser.