1 /*---------------------------------------------------------------*
2 | H8/3069F I/O address definition Release 1.0 2010-02-12 |
4 | Copyright (c) BestTechnology CO.,LTD. 2009-2010 |
5 *---------------------------------------------------------------*/
14 typedef unsigned long int _LONG;
15 typedef unsigned int _WORD;
16 typedef unsigned char _BYTE;
32 union un_p1dr { /* union P1DR */
33 _BYTE BYTE; /* Byte Access */
34 struct { /* Bit Access */
35 _BYTE B7 :1; /* Bit 7 */
36 _BYTE B6 :1; /* Bit 6 */
37 _BYTE B5 :1; /* Bit 5 */
38 _BYTE B4 :1; /* Bit 4 */
39 _BYTE B3 :1; /* Bit 3 */
40 _BYTE B2 :1; /* Bit 2 */
41 _BYTE B1 :1; /* Bit 1 */
42 _BYTE B0 :1; /* Bit 0 */
45 union un_p2pcr { /* union P2PCR */
46 _BYTE BYTE; /* Byte Access */
47 struct { /* Bit Access */
48 _BYTE B7 :1; /* Bit 7 */
49 _BYTE B6 :1; /* Bit 6 */
50 _BYTE B5 :1; /* Bit 5 */
51 _BYTE B4 :1; /* Bit 4 */
52 _BYTE B3 :1; /* Bit 3 */
53 _BYTE B2 :1; /* Bit 2 */
54 _BYTE B1 :1; /* Bit 1 */
55 _BYTE B0 :1; /* Bit 0 */
58 union un_p2dr { /* union P2DR */
59 _BYTE BYTE; /* Byte Access */
60 struct { /* Bit Access */
61 _BYTE B7 :1; /* Bit 7 */
62 _BYTE B6 :1; /* Bit 6 */
63 _BYTE B5 :1; /* Bit 5 */
64 _BYTE B4 :1; /* Bit 4 */
65 _BYTE B3 :1; /* Bit 3 */
66 _BYTE B2 :1; /* Bit 2 */
67 _BYTE B1 :1; /* Bit 1 */
68 _BYTE B0 :1; /* Bit 0 */
71 union un_p3dr { /* union P3DR */
72 _BYTE BYTE; /* Byte Access */
73 struct { /* Bit Access */
74 _BYTE B7 :1; /* Bit 7 */
75 _BYTE B6 :1; /* Bit 6 */
76 _BYTE B5 :1; /* Bit 5 */
77 _BYTE B4 :1; /* Bit 4 */
78 _BYTE B3 :1; /* Bit 3 */
79 _BYTE B2 :1; /* Bit 2 */
80 _BYTE B1 :1; /* Bit 1 */
81 _BYTE B0 :1; /* Bit 0 */
84 union un_p4pcr { /* union P4PCR */
85 _BYTE BYTE; /* Byte Access */
86 struct { /* Bit Access */
87 _BYTE B7 :1; /* Bit 7 */
88 _BYTE B6 :1; /* Bit 6 */
89 _BYTE B5 :1; /* Bit 5 */
90 _BYTE B4 :1; /* Bit 4 */
91 _BYTE B3 :1; /* Bit 3 */
92 _BYTE B2 :1; /* Bit 2 */
93 _BYTE B1 :1; /* Bit 1 */
94 _BYTE B0 :1; /* Bit 0 */
97 union un_p4dr { /* union P4DR */
98 _BYTE BYTE; /* Byte Access */
99 struct { /* Bit Access */
100 _BYTE B7 :1; /* Bit 7 */
101 _BYTE B6 :1; /* Bit 6 */
102 _BYTE B5 :1; /* Bit 5 */
103 _BYTE B4 :1; /* Bit 4 */
104 _BYTE B3 :1; /* Bit 3 */
105 _BYTE B2 :1; /* Bit 2 */
106 _BYTE B1 :1; /* Bit 1 */
107 _BYTE B0 :1; /* Bit 0 */
110 union un_p5pcr { /* union P5PCR */
111 _BYTE BYTE; /* Byte Access */
112 struct { /* Bit Access */
114 _BYTE B3 :1; /* Bit 3 */
115 _BYTE B2 :1; /* Bit 2 */
116 _BYTE B1 :1; /* Bit 1 */
117 _BYTE B0 :1; /* Bit 0 */
120 union un_p5dr { /* union P5DR */
121 _BYTE BYTE; /* Byte Access */
122 struct { /* Bit Access */
124 _BYTE B3 :1; /* Bit 3 */
125 _BYTE B2 :1; /* Bit 2 */
126 _BYTE B1 :1; /* Bit 1 */
127 _BYTE B0 :1; /* Bit 0 */
130 union un_p6dr { /* union P6DR */
131 _BYTE BYTE; /* Byte Access */
132 struct { /* Bit Access */
133 _BYTE B7 :1; /* Bit 7 */
134 _BYTE B6 :1; /* Bit 6 */
135 _BYTE B5 :1; /* Bit 5 */
136 _BYTE B4 :1; /* Bit 4 */
137 _BYTE B3 :1; /* Bit 3 */
138 _BYTE B2 :1; /* Bit 2 */
139 _BYTE B1 :1; /* Bit 1 */
140 _BYTE B0 :1; /* Bit 0 */
143 union un_p7dr { /* union P7DR */
144 _BYTE BYTE; /* Byte Access */
145 struct { /* Bit Access */
146 _BYTE B7 :1; /* Bit 7 */
147 _BYTE B6 :1; /* Bit 6 */
148 _BYTE B5 :1; /* Bit 5 */
149 _BYTE B4 :1; /* Bit 4 */
150 _BYTE B3 :1; /* Bit 3 */
151 _BYTE B2 :1; /* Bit 2 */
152 _BYTE B1 :1; /* Bit 1 */
153 _BYTE B0 :1; /* Bit 0 */
156 union un_p8dr { /* union P8DR */
157 _BYTE BYTE; /* Byte Access */
158 struct { /* Bit Access */
160 _BYTE B4 :1; /* Bit 4 */
161 _BYTE B3 :1; /* Bit 3 */
162 _BYTE B2 :1; /* Bit 2 */
163 _BYTE B1 :1; /* Bit 1 */
164 _BYTE B0 :1; /* Bit 0 */
167 union un_p9dr { /* union P9DR */
168 _BYTE BYTE; /* Byte Access */
169 struct { /* Bit Access */
171 _BYTE B5 :1; /* Bit 5 */
172 _BYTE B4 :1; /* Bit 4 */
173 _BYTE B3 :1; /* Bit 3 */
174 _BYTE B2 :1; /* Bit 2 */
175 _BYTE B1 :1; /* Bit 1 */
176 _BYTE B0 :1; /* Bit 0 */
179 union un_padr { /* union PADR */
180 _BYTE BYTE; /* Byte Access */
181 struct { /* Bit Access */
182 _BYTE B7 :1; /* Bit 7 */
183 _BYTE B6 :1; /* Bit 6 */
184 _BYTE B5 :1; /* Bit 5 */
185 _BYTE B4 :1; /* Bit 4 */
186 _BYTE B3 :1; /* Bit 3 */
187 _BYTE B2 :1; /* Bit 2 */
188 _BYTE B1 :1; /* Bit 1 */
189 _BYTE B0 :1; /* Bit 0 */
192 union un_pbdr { /* union PBDR */
193 _BYTE BYTE; /* Byte Access */
194 struct { /* Bit Access */
195 _BYTE B7 :1; /* Bit 7 */
196 _BYTE B6 :1; /* Bit 6 */
197 _BYTE B5 :1; /* Bit 5 */
198 _BYTE B4 :1; /* Bit 4 */
199 _BYTE B3 :1; /* Bit 3 */
200 _BYTE B2 :1; /* Bit 2 */
201 _BYTE B1 :1; /* Bit 1 */
202 _BYTE B0 :1; /* Bit 0 */
205 union un_mdcr { /* union MDCR */
206 _BYTE BYTE; /* Byte Access */
207 struct { /* Bit Access */
209 _BYTE MDS :3; /* MDS */
212 union un_syscr { /* union SYSCR */
213 _BYTE BYTE; /* Byte Access */
214 struct { /* Bit Access */
215 _BYTE SSBY :1; /* SSBY */
216 _BYTE STS :3; /* STS */
217 _BYTE UE :1; /* UE */
218 _BYTE NMIEG :1; /* NMIEG */
219 _BYTE SSOE :1; /* SSOE */
220 _BYTE RAME :1; /* RAME */
223 union un_divcr { /* union DIVCR */
224 _BYTE BYTE; /* Byte Access */
225 struct { /* Bit Access */
227 _BYTE DIV :2; /* DIV */
230 union un_mstcr { /* union MSTCR */
231 _WORD WORD; /* Word Access */
232 struct { /* Byte Access */
236 struct { /* Bit Access */
237 _BYTE PSTOP :1; /* PSTOP */
239 _BYTE _SCI2 :1; /* MSTPH2 */
240 _BYTE _SCI1 :1; /* MSTPH1 */
241 _BYTE _SCI0 :1; /* MSTPH0 */
242 _BYTE _DMAC :1; /* MSTPL7 */
244 _BYTE _DRAM :1; /* MSTPL5 */
245 _BYTE _ITU :1; /* MSTPL4 */
246 _BYTE _TMR01 :1; /* MSTPL3 */
247 _BYTE _TMR23 :1; /* MSTPL2 */
249 _BYTE _AD :1; /* MSTPL0 */
252 struct st_bsc { /* struct BSC */
255 _BYTE BYTE; /* Byte Access */
256 struct { /* Bit Access */
257 _BYTE A23E :1; /* A23E */
258 _BYTE A22E :1; /* A22E */
259 _BYTE A21E :1; /* A21E */
260 _BYTE A20E :1; /* A20E */
262 _BYTE BRLE :1; /* BRLE */
267 _BYTE BYTE; /* Byte Access */
268 struct { /* Bit Access */
269 _BYTE CS7E :1; /* CS7E */
270 _BYTE CS6E :1; /* CS6E */
271 _BYTE CS5E :1; /* CS5E */
272 _BYTE CS4E :1; /* CS4E */
276 _BYTE BYTE; /* Byte Access */
277 struct { /* Bit Access */
278 _BYTE ABW7 :1; /* ABW7 */
279 _BYTE ABW6 :1; /* ABW6 */
280 _BYTE ABW5 :1; /* ABW5 */
281 _BYTE ABW4 :1; /* ABW4 */
282 _BYTE ABW3 :1; /* ABW3 */
283 _BYTE ABW2 :1; /* ABW2 */
284 _BYTE ABW1 :1; /* ABW1 */
285 _BYTE ABW0 :1; /* ABW0 */
289 _BYTE BYTE; /* Byte Access */
290 struct { /* Bit Access */
291 _BYTE AST7 :1; /* AST7 */
292 _BYTE AST6 :1; /* AST6 */
293 _BYTE AST5 :1; /* AST5 */
294 _BYTE AST4 :1; /* AST4 */
295 _BYTE AST3 :1; /* AST3 */
296 _BYTE AST2 :1; /* AST2 */
297 _BYTE AST1 :1; /* AST1 */
298 _BYTE AST0 :1; /* AST0 */
302 _WORD WORD; /* Word Access */
303 struct { /* Byte Access */
307 struct { /* Bit Access */
308 _BYTE W7 :2; /* W7 */
309 _BYTE W6 :2; /* W6 */
310 _BYTE W5 :2; /* W5 */
311 _BYTE W4 :2; /* W4 */
312 _BYTE W3 :2; /* W3 */
313 _BYTE W2 :2; /* W2 */
314 _BYTE W1 :2; /* W1 */
315 _BYTE W0 :2; /* W0 */
319 _BYTE BYTE; /* Byte Access */
320 struct { /* Bit Access */
321 _BYTE ICIS1 :1; /* ICIS1 */
322 _BYTE ICIS0 :1; /* ICIS0 */
323 _BYTE BROME :1; /* BROME */
324 _BYTE BRSTS1 :1; /* BRSTS1 */
325 _BYTE BRSTS0 :1; /* BRSTS0 */
327 _BYTE RDEA :1; /* RDEA */
328 _BYTE WAITE :1; /* WAITE */
333 _BYTE BYTE; /* Byte Access */
334 struct { /* Bit Access */
335 _BYTE DRAS :3; /* DRAS */
337 _BYTE BE :1; /* BE */
338 _BYTE RDM :1; /* RDM */
339 _BYTE SRFMD :1; /* SRFMD */
340 _BYTE RFSHE :1; /* RFSHE */
344 _BYTE BYTE; /* Byte Access */
345 struct { /* Bit Access */
346 _BYTE MXC :2; /* MXC */
347 _BYTE CSEL :1; /* CSEL */
348 _BYTE RCYCE :1; /* RCYCE */
350 _BYTE _TPC :1; /* TPC */
351 _BYTE RCW :1; /* RCW */
352 _BYTE RLW :1; /* RLW */
356 _BYTE BYTE; /* Byte Access */
357 struct { /* Bit Access */
358 _BYTE CMF :1; /* CMF */
359 _BYTE CMIE :1; /* CMIE */
360 _BYTE CKS :3; /* CKS */
363 _BYTE RTCNT; /* RTCNT */
364 _BYTE RTCOR; /* RTCOR */
366 struct st_intc { /* struct INTC */
368 _BYTE BYTE; /* Byte Access */
369 struct { /* Bit Access */
371 _BYTE IRQ5SC :1; /* IRQ5SC */
372 _BYTE IRQ4SC :1; /* IRQ4SC */
373 _BYTE IRQ3SC :1; /* IRQ3SC */
374 _BYTE IRQ2SC :1; /* IRQ2SC */
375 _BYTE IRQ1SC :1; /* IRQ1SC */
376 _BYTE IRQ0SC :1; /* IRQ0SC */
380 _BYTE BYTE; /* Byte Access */
381 struct { /* Bit Access */
383 _BYTE IRQ5E :1; /* IRQ5E */
384 _BYTE IRQ4E :1; /* IRQ4E */
385 _BYTE IRQ3E :1; /* IRQ3E */
386 _BYTE IRQ2E :1; /* IRQ2E */
387 _BYTE IRQ1E :1; /* IRQ1E */
388 _BYTE IRQ0E :1; /* IRQ0E */
392 _BYTE BYTE; /* Byte Access */
393 struct { /* Bit Access */
395 _BYTE IRQ5F :1; /* IRQ5F */
396 _BYTE IRQ4F :1; /* IRQ4F */
397 _BYTE IRQ3F :1; /* IRQ3F */
398 _BYTE IRQ2F :1; /* IRQ2F */
399 _BYTE IRQ1F :1; /* IRQ1F */
400 _BYTE IRQ0F :1; /* IRQ0F */
405 _BYTE BYTE; /* Byte Access */
406 struct { /* Bit Access */
407 _BYTE _IRQ0 :1; /* IRQ0 */
408 _BYTE _IRQ1 :1; /* IRQ1 */
409 _BYTE _IRQ23 :1; /* IRQ2,IRQ3 */
410 _BYTE _IRQ45 :1; /* IRQ4,IRQ5 */
411 _BYTE _WDT :1; /* WDT,DRAM,A/D */
412 _BYTE _ITU0 :1; /* ITU0 */
413 _BYTE _ITU1 :1; /* ITU1 */
414 _BYTE _ITU2 :1; /* ITU2 */
418 _BYTE BYTE; /* Byte Access */
419 struct { /* Bit Access */
420 _BYTE _TMR01 :1; /* TMR0,1 */
421 _BYTE _TMR23 :1; /* TMR2,3 */
422 _BYTE _DMAC :1; /* DMAC */
424 _BYTE _SCI0 :1; /* SCI0 */
425 _BYTE _SCI1 :1; /* SCI1 */
426 _BYTE _SCI2 :1; /* SCI2 */
430 #if __CPU__==2 /* Normal Mode */
431 struct st_sam { /* struct DMAC */
434 _WORD ETCR; /* ETCR */
435 _BYTE IOAR; /* IOAR */
437 _BYTE BYTE; /* Byte Access */
438 struct { /* Bit Access */
439 _BYTE DTE :1; /* DTE */
440 _BYTE DTSZ :1; /* DTSZ */
441 _BYTE DTID :1; /* DTID */
442 _BYTE RPE :1; /* RPE */
443 _BYTE DTIE :1; /* DTIE */
444 _BYTE DTS :3; /* DTS */
448 struct st_fam { /* struct DMAC */
450 void *MARA; /* MARA */
451 _WORD ETCRA; /* ETCRA */
454 _BYTE BYTE; /* Byte Access */
455 struct { /* Bit Access */
456 _BYTE DTE :1; /* DTE */
457 _BYTE DTSZ :1; /* DTSZ */
458 _BYTE SAID :1; /* SAID */
459 _BYTE SAIDE :1; /* SAIDE */
460 _BYTE DTIE :1; /* DTIE */
461 _BYTE DTS :3; /* DTS */
465 void *MARB; /* MARB */
466 _WORD ETCRB; /* ETCRB */
469 _BYTE BYTE; /* Byte Access */
470 struct { /* Bit Access */
471 _BYTE DTME :1; /* DTME */
473 _BYTE DAID :1; /* DAID */
474 _BYTE DAIDE :1; /* DAIDE */
475 _BYTE TMS :1; /* TMS */
476 _BYTE DTS :3; /* DTS */
480 #else /* Advanced Mode*/
481 struct st_sam { /* struct DMAC */
483 _WORD ETCR; /* ETCR */
484 _BYTE IOAR; /* IOAR */
486 _BYTE BYTE; /* Byte Access */
487 struct { /* Bit Access */
488 _BYTE DTE :1; /* DTE */
489 _BYTE DTSZ :1; /* DTSZ */
490 _BYTE DTID :1; /* DTID */
491 _BYTE RPE :1; /* RPE */
492 _BYTE DTIE :1; /* DTIE */
493 _BYTE DTS :3; /* DTS */
497 struct st_fam { /* struct DMAC */
498 void *MARA; /* MARA */
499 _WORD ETCRA; /* ETCRA */
502 _BYTE BYTE; /* Byte Access */
503 struct { /* Bit Access */
504 _BYTE DTE :1; /* DTE */
505 _BYTE DTSZ :1; /* DTSZ */
506 _BYTE SAID :1; /* SAID */
507 _BYTE SAIDE :1; /* SAIDE */
508 _BYTE DTIE :1; /* DTIE */
509 _BYTE DTS :3; /* DTS */
512 void *MARB; /* MARB */
513 _WORD ETCRB; /* ETCRB */
516 _BYTE BYTE; /* Byte Access */
517 struct { /* Bit Access */
518 _BYTE DTME :1; /* DTME */
520 _BYTE DAID :1; /* DAID */
521 _BYTE DAIDE :1; /* DAIDE */
522 _BYTE TMS :1; /* TMS */
523 _BYTE DTS :3; /* DTS */
528 struct st_flash { /* struct FLASH */
531 _BYTE BYTE; /* Byte Access */
532 struct { /* Bit Access */
534 _BYTE RAMS :1; /* RAMS */
535 _BYTE RAM :3; /* RAM */
540 _BYTE BYTE; /* Byte Access */
541 struct { /* Bit Access */
542 _BYTE FWE :1; /* FWE */
544 _BYTE FLER :1; /* FLER */
546 _BYTE SCO :1; /* SCO */
550 _BYTE BYTE; /* Byte Access */
551 struct { /* Bit Access */
553 _BYTE PPVS :1; /* PPVS */
557 _BYTE BYTE; /* Byte Access */
558 struct { /* Bit Access */
560 _BYTE EPVB :1; /* EPVB */
564 _BYTE FKEY; /* FKEY */
565 _BYTE FMATS; /* FMATS */
568 _BYTE BYTE; /* Byte Access */
569 struct { /* Bit Access */
570 _BYTE FVCHGE :1; /* FVCHGE */
572 _BYTE FVSEL :4; /* FVSEL */
575 _BYTE FVADRR; /* FVADRR */
576 _BYTE FVADRE; /* FVADRE */
577 _BYTE FVADRH; /* FVADRH */
578 _BYTE FVADRL; /* FVADRL */
580 struct st_itu { /* struct ITU */
582 _BYTE BYTE; /* Byte Access */
583 struct { /* Bit Access */
585 _BYTE STR2 :1; /* STR2 */
586 _BYTE STR1 :1; /* STR1 */
587 _BYTE STR0 :1; /* STR0 */
591 _BYTE BYTE; /* Byte Access */
592 struct { /* Bit Access */
594 _BYTE SYNC2 :1; /* SYNC2 */
595 _BYTE SYNC1 :1; /* SYNC1 */
596 _BYTE SYNC0 :1; /* SYNC0 */
600 _BYTE BYTE; /* Byte Access */
601 struct { /* Bit Access */
603 _BYTE MDF :1; /* MDF */
604 _BYTE FDIR :1; /* FDIR */
606 _BYTE PWM2 :1; /* PWM2 */
607 _BYTE PWM1 :1; /* PWM1 */
608 _BYTE PWM0 :1; /* PWM0 */
612 _BYTE BYTE; /* Byte Access */
613 struct { /* Bit Access */
615 _BYTE TOB2 :1; /* TOB2 */
616 _BYTE TOA2 :1; /* TOA2 */
617 _BYTE TOB1 :1; /* TOB1 */
618 _BYTE TOA1 :1; /* TOA1 */
619 _BYTE TOB0 :1; /* TOB0 */
620 _BYTE TOA0 :1; /* TOA0 */
624 _BYTE BYTE; /* Byte Access */
625 struct { /* Bit Access */
627 _BYTE IMIEA2 :1; /* IMIEA2 */
628 _BYTE IMIEA1 :1; /* IMIEA2 */
629 _BYTE IMIEA0 :1; /* IMIEA2 */
631 _BYTE IMFA2 :1; /* IMFA2 */
632 _BYTE IMFA1 :1; /* IMFA1 */
633 _BYTE IMFA0 :1; /* IMFA0 */
637 _BYTE BYTE; /* Byte Access */
638 struct { /* Bit Access */
640 _BYTE IMIEB2 :1; /* IMIEB2 */
641 _BYTE IMIEB1 :1; /* IMIEB2 */
642 _BYTE IMIEB0 :1; /* IMIEB2 */
644 _BYTE IMFB2 :1; /* IMFB2 */
645 _BYTE IMFB1 :1; /* IMFB1 */
646 _BYTE IMFB0 :1; /* IMFB0 */
650 _BYTE BYTE; /* Byte Access */
651 struct { /* Bit Access */
653 _BYTE OVIE2 :1; /* OVIE2 */
654 _BYTE OVIE1 :1; /* OVIE2 */
655 _BYTE OVIE0 :1; /* OVIE2 */
657 _BYTE OVF2 :1; /* OVF2 */
658 _BYTE OVF1 :1; /* OVF1 */
659 _BYTE OVF0 :1; /* OVF0 */
663 struct st_itu0 { /* struct ITU0 */
665 _BYTE BYTE; /* Byte Access */
666 struct { /* Bit Access */
668 _BYTE CCLR :2; /* CCLR */
669 _BYTE CKEG :2; /* CKEG */
670 _BYTE TPSC :3; /* TPSC */
674 _BYTE BYTE; /* Byte Access */
675 struct { /* Bit Access */
677 _BYTE IOB :3; /* IOB */
679 _BYTE IOA :3; /* IOA */
682 _WORD TCNT; /* TCNT */
686 union un_wdt { /* union WDT */
687 struct { /* Read Access */
689 _BYTE BYTE; /* Byte Access */
690 struct { /* Bit Access */
691 _BYTE OVF :1; /* OVF */
692 _BYTE WTIT :1; /* WT/IT */
693 _BYTE TME :1; /* TME */
695 _BYTE CKS :3; /* CKS */
698 _BYTE TCNT; /* TCNT */
701 _BYTE BYTE; /* Byte Access */
703 _BYTE WRST :1; /* WSRT */
707 struct { /* Write Access */
708 _WORD TCSR; /* TCSR/TCNT */
709 _WORD RSTCSR; /* RSTCSR */
712 struct st_tmr01 { /* struct TMR01 */
714 _BYTE BYTE; /* Byte Access */
715 struct { /* Bit Access */
716 _BYTE CMIEB :1; /* CMIEB */
717 _BYTE CMIEA :1; /* CMIEA */
718 _BYTE OVIE :1; /* OVIE */
719 _BYTE CCLR :2; /* CCLR */
720 _BYTE CKS :3; /* CKS */
724 _BYTE BYTE; /* Byte Access */
725 struct { /* Bit Access */
726 _BYTE CMIEB :1; /* CMIEB */
727 _BYTE CMIEA :1; /* CMIEA */
728 _BYTE OVIE :1; /* OVIE */
729 _BYTE CCLR :2; /* CCLR */
730 _BYTE CKS :3; /* CKS */
734 _BYTE BYTE; /* Byte Access */
735 struct { /* Bit Access */
736 _BYTE CMFB :1; /* CMFB */
737 _BYTE CMFA :1; /* CMFA */
738 _BYTE OVF :1; /* OVF */
739 _BYTE ADTE :1; /* ADTE */
740 _BYTE OS :4; /* OS */
744 _BYTE BYTE; /* Byte Access */
745 struct { /* Bit Access */
746 _BYTE CMFB :1; /* CMFB */
747 _BYTE CMFA :1; /* CMFA */
748 _BYTE OVF :1; /* OVF */
749 _BYTE ICE :1; /* ICE */
750 _BYTE OS :4; /* OS */
753 _WORD TCORA; /* TCORA */
754 _WORD TCORB; /* TCORB */
755 _WORD TCNT; /* TCNT */
757 struct st_tmr23 { /* struct TMR23 */
759 _BYTE BYTE; /* Byte Access */
760 struct { /* Bit Access */
761 _BYTE CMIEB :1; /* CMIEB */
762 _BYTE CMIEA :1; /* CMIEA */
763 _BYTE OVIE :1; /* OVIE */
764 _BYTE CCLR :2; /* CCLR */
765 _BYTE CKS :3; /* CKS */
769 _BYTE BYTE; /* Byte Access */
770 struct { /* Bit Access */
771 _BYTE CMIEB :1; /* CMIEB */
772 _BYTE CMIEA :1; /* CMIEA */
773 _BYTE OVIE :1; /* OVIE */
774 _BYTE CCLR :2; /* CCLR */
775 _BYTE CKS :3; /* CKS */
779 _BYTE BYTE; /* Byte Access */
780 struct { /* Bit Access */
781 _BYTE CMFB :1; /* CMFB */
782 _BYTE CMFA :1; /* CMFA */
783 _BYTE OVF :1; /* OVF */
785 _BYTE OS :4; /* OS */
789 _BYTE BYTE; /* Byte Access */
790 struct { /* Bit Access */
791 _BYTE CMFB :1; /* CMFB */
792 _BYTE CMFA :1; /* CMFA */
793 _BYTE OVF :1; /* OVF */
794 _BYTE ICE :1; /* ICE */
795 _BYTE OS :4; /* OS */
798 _WORD TCORA; /* TCORA */
799 _WORD TCORB; /* TCORB */
800 _WORD TCNT; /* TCNT */
802 struct st_tmr0 { /* struct TMR0 */
804 _BYTE BYTE; /* Byte Access */
805 struct { /* Bit Access */
806 _BYTE CMIEB :1; /* CMIEB */
807 _BYTE CMIEA :1; /* CMIEA */
808 _BYTE OVIE :1; /* OVIE */
809 _BYTE CCLR :2; /* CCLR */
810 _BYTE CKS :3; /* CKS */
815 _BYTE BYTE; /* Byte Access */
816 struct { /* Bit Access */
817 _BYTE CMFB :1; /* CMFB */
818 _BYTE CMFA :1; /* CMFA */
819 _BYTE OVF :1; /* OVF */
820 _BYTE ADTE :1; /* ADTE */
821 _BYTE OS :4; /* OS */
825 _BYTE TCORA; /* TCORA */
827 _BYTE TCORB; /* TCORB */
829 _BYTE TCNT; /* TCNT */
831 struct st_tmr1 { /* struct TMR1 */
833 _BYTE BYTE; /* Byte Access */
834 struct { /* Bit Access */
835 _BYTE CMIEB :1; /* CMIEB */
836 _BYTE CMIEA :1; /* CMIEA */
837 _BYTE OVIE :1; /* OVIE */
838 _BYTE CCLR :2; /* CCLR */
839 _BYTE CKS :3; /* CKS */
844 _BYTE BYTE; /* Byte Access */
845 struct { /* Bit Access */
846 _BYTE CMFB :1; /* CMFB */
847 _BYTE CMFA :1; /* CMFA */
848 _BYTE OVF :1; /* OVF */
849 _BYTE ICE :1; /* ICE */
850 _BYTE OS :4; /* OS */
854 _BYTE TCORA; /* TCORA */
856 _BYTE TCORB; /* TCORB */
858 _BYTE TCNT; /* TCNT */
860 struct st_tmr2 { /* struct TMR2 */
862 _BYTE BYTE; /* Byte Access */
863 struct { /* Bit Access */
864 _BYTE CMIEB :1; /* CMIEB */
865 _BYTE CMIEA :1; /* CMIEA */
866 _BYTE OVIE :1; /* OVIE */
867 _BYTE CCLR :2; /* CCLR */
868 _BYTE CKS :3; /* CKS */
873 _BYTE BYTE; /* Byte Access */
874 struct { /* Bit Access */
875 _BYTE CMFB :1; /* CMFB */
876 _BYTE CMFA :1; /* CMFA */
877 _BYTE OVF :1; /* OVF */
879 _BYTE OS :4; /* OS */
883 _BYTE TCORA; /* TCORA */
885 _BYTE TCORB; /* TCORB */
887 _BYTE TCNT; /* TCNT */
889 union un_dastcr { /* DASTCR */
890 _BYTE BYTE; /* Byte Access */
891 struct { /* Bit Access */
893 _BYTE DASTE :1; /* DASTE */
896 struct st_da { /* struct D/A */
897 _BYTE DADR0; /* DADR0 */
898 _BYTE DADR1; /* DADR1 */
900 _BYTE BYTE; /* Byte Access */
901 struct { /* Bit Access */
902 _BYTE DAOE1 :1; /* DAOE1 */
903 _BYTE DAOE0 :1; /* DAOE0 */
904 _BYTE DAE :1; /* DAE */
908 struct st_tpc { /* struct TPC */
910 _BYTE BYTE; /* Byte Access */
911 struct { /* Bit Access */
913 _BYTE G3NOV :1; /* G3NOV */
914 _BYTE G2NOV :1; /* G2NOV */
915 _BYTE G1NOV :1; /* G1NOV */
916 _BYTE G0NOV :1; /* G0NOV */
920 _BYTE BYTE; /* Byte Access */
921 struct { /* Bit Access */
922 _BYTE G3CMS :2; /* G3CMS */
923 _BYTE G2CMS :2; /* G2CMS */
924 _BYTE G1CMS :2; /* G1CMS */
925 _BYTE G0CMS :2; /* G0CMS */
929 _BYTE BYTE; /* Byte Access */
930 struct { /* Bit Access */
931 _BYTE B15 :1; /* NDER15 */
932 _BYTE B14 :1; /* NDER14 */
933 _BYTE B13 :1; /* NDER13 */
934 _BYTE B12 :1; /* NDER12 */
935 _BYTE B11 :1; /* NDER11 */
936 _BYTE B10 :1; /* NDER10 */
937 _BYTE B9 :1; /* NDER9 */
938 _BYTE B8 :1; /* NDER8 */
942 _BYTE BYTE; /* Byte Access */
943 struct { /* Bit Access */
944 _BYTE B7 :1; /* NDER7 */
945 _BYTE B6 :1; /* NDER6 */
946 _BYTE B5 :1; /* NDER5 */
947 _BYTE B4 :1; /* NDER4 */
948 _BYTE B3 :1; /* NDER3 */
949 _BYTE B2 :1; /* NDER2 */
950 _BYTE B1 :1; /* NDER1 */
951 _BYTE B0 :1; /* NDER0 */
954 union { /* NDRB (H'A4) */
955 _BYTE BYTE; /* Byte Access */
956 struct { /* Bit Access */
957 _BYTE B15 :1; /* NDR15 */
958 _BYTE B14 :1; /* NDR14 */
959 _BYTE B13 :1; /* NDR13 */
960 _BYTE B12 :1; /* NDR12 */
961 _BYTE B11 :1; /* NDR11 */
962 _BYTE B10 :1; /* NDR10 */
963 _BYTE B9 :1; /* NDR9 */
964 _BYTE B8 :1; /* NDR8 */
967 union { /* NDRA (H'A5) */
968 _BYTE BYTE; /* Byte Access */
969 struct { /* Bit Access */
970 _BYTE B7 :1; /* NDR7 */
971 _BYTE B6 :1; /* NDR6 */
972 _BYTE B5 :1; /* NDR5 */
973 _BYTE B4 :1; /* NDR4 */
974 _BYTE B3 :1; /* NDR3 */
975 _BYTE B2 :1; /* NDR2 */
976 _BYTE B1 :1; /* NDR1 */
977 _BYTE B0 :1; /* NDR0 */
980 union { /* NDRB (H'A6) */
981 _BYTE BYTE; /* Byte Access */
982 struct { /* Bit Access */
984 _BYTE B11 :1; /* NDR11 */
985 _BYTE B10 :1; /* NDR10 */
986 _BYTE B9 :1; /* NDR9 */
987 _BYTE B8 :1; /* NDR8 */
990 union { /* NDRA (H'A7) */
991 _BYTE BYTE; /* Byte Access */
992 struct { /* Bit Access */
994 _BYTE B3 :1; /* NDR3 */
995 _BYTE B2 :1; /* NDR2 */
996 _BYTE B1 :1; /* NDR1 */
997 _BYTE B0 :1; /* NDR0 */
1001 struct st_sci { /* struct SCI */
1003 _BYTE BYTE; /* Byte Access */
1004 struct { /* Bit Access */
1005 _BYTE CA :1; /* C/A */
1006 _BYTE CHR :1; /* CHR */
1007 _BYTE PE :1; /* PE */
1008 _BYTE OE :1; /* O/E */
1009 _BYTE STOP :1; /* STOP */
1010 _BYTE MP :1; /* MP */
1011 _BYTE CKS :2; /* CKS */
1014 _BYTE BRR; /* BRR */
1016 _BYTE BYTE; /* Byte Access */
1017 struct { /* Bit Access */
1018 _BYTE TIE :1; /* TIE */
1019 _BYTE RIE :1; /* RIE */
1020 _BYTE TE :1; /* TE */
1021 _BYTE RE :1; /* RE */
1022 _BYTE MPIE :1; /* MPIE */
1023 _BYTE TEIE :1; /* TEIE */
1024 _BYTE CKE :2; /* CKE */
1027 _BYTE TDR; /* TDR */
1029 _BYTE BYTE; /* Byte Access */
1030 struct { /* Bit Access */
1031 _BYTE TDRE :1; /* TDRE */
1032 _BYTE RDRF :1; /* RDRF */
1033 _BYTE ORER :1; /* ORER */
1034 _BYTE FER :1; /* FER */
1035 _BYTE PER :1; /* PER */
1036 _BYTE TEND :1; /* TEND */
1037 _BYTE MPB :1; /* MPB */
1038 _BYTE MPBT :1; /* MPBT */
1041 _BYTE RDR; /* RDR */
1043 _BYTE BYTE; /* Byte Access */
1044 struct { /* Bit Access */
1046 _BYTE SDIR :1; /* SDIR */
1047 _BYTE SINV :1; /* SINV */
1049 _BYTE SMIF :1; /* SMIF */
1053 struct st_smci { /* struct SMCI */
1055 _BYTE BYTE; /* Byte Access */
1056 struct { /* Bit Access */
1057 _BYTE GM :1; /* GM */
1058 _BYTE CHR :1; /* CHR */
1059 _BYTE PE :1; /* PE */
1060 _BYTE OE :1; /* O/E */
1061 _BYTE STOP :1; /* STOP */
1062 _BYTE MP :1; /* MP */
1063 _BYTE CKS :2; /* CKS */
1066 _BYTE BRR; /* BRR */
1068 _BYTE BYTE; /* Byte Access */
1069 struct { /* Bit Access */
1070 _BYTE TIE :1; /* TIE */
1071 _BYTE RIE :1; /* RIE */
1072 _BYTE TE :1; /* TE */
1073 _BYTE RE :1; /* RE */
1074 _BYTE MPIE :1; /* MPIE */
1075 _BYTE TEIE :1; /* TEIE */
1076 _BYTE CKE :2; /* CKE */
1079 _BYTE TDR; /* TDR */
1081 _BYTE BYTE; /* Byte Access */
1082 struct { /* Bit Access */
1083 _BYTE TDRE :1; /* TDRE */
1084 _BYTE RDRF :1; /* RDRF */
1085 _BYTE ORER :1; /* ORER */
1086 _BYTE ERS :1; /* ERS */
1087 _BYTE PER :1; /* PER */
1088 _BYTE TEND :1; /* TEND */
1089 _BYTE MPB :1; /* MPB */
1090 _BYTE MPBT :1; /* MPBT */
1093 _BYTE RDR; /* RDR */
1095 _BYTE BYTE; /* Byte Access */
1096 struct { /* Bit Access */
1098 _BYTE SDIR :1; /* SDIR */
1099 _BYTE SINV :1; /* SINV */
1101 _BYTE SMIF :1; /* SMIF */
1105 struct st_ad { /* struct A/D */
1106 _WORD ADDRA; /* ADDRA */
1107 _WORD ADDRB; /* ADDRB */
1108 _WORD ADDRC; /* ADDRC */
1109 _WORD ADDRD; /* ADDRD */
1111 _BYTE BYTE; /* Byte Access */
1112 struct { /* Bit Access */
1113 _BYTE ADF :1; /* ADF */
1114 _BYTE ADIE :1; /* ADIE */
1115 _BYTE ADST :1; /* ADST */
1116 _BYTE SCAN :1; /* SCAN */
1117 _BYTE CKS :1; /* CKS */
1118 _BYTE CH :3; /* CH */
1122 _BYTE BYTE; /* Byte Access */
1123 struct { /* Bit Access */
1124 _BYTE TRGE :1; /* TRGE */
1129 #define P1DDR (*(volatile unsigned char *)0xFEE000) /* P1DDR */
1130 #define P2DDR (*(volatile unsigned char *)0xFEE001) /* P2DDR */
1131 #define P3DDR (*(volatile unsigned char *)0xFEE002) /* P3DDR */
1132 #define P4DDR (*(volatile unsigned char *)0xFEE003) /* P4DDR */
1133 #define P5DDR (*(volatile unsigned char *)0xFEE004) /* P5DDR */
1134 #define P6DDR (*(volatile unsigned char *)0xFEE005) /* P6DDR */
1135 #define P8DDR (*(volatile unsigned char *)0xFEE007) /* P8DDR */
1136 #define P9DDR (*(volatile unsigned char *)0xFEE008) /* P9DDR */
1137 #define PADDR (*(volatile unsigned char *)0xFEE009) /* PADDR */
1138 #define PBDDR (*(volatile unsigned char *)0xFEE00A) /* PBDDR */
1139 #define P2PCR (*(volatile union un_p2pcr *)0xFEE03C) /* P2PCR */
1140 #define P4PCR (*(volatile union un_p4pcr *)0xFEE03E) /* P4PCR */
1141 #define P5PCR (*(volatile union un_p5pcr *)0xFEE03F) /* P5PCR */
1142 #define P1DR (*(volatile union un_p1dr *)0xFFFFD0) /* P1DR */
1143 #define P2DR (*(volatile union un_p2dr *)0xFFFFD1) /* P2DR */
1144 #define P3DR (*(volatile union un_p3dr *)0xFFFFD2) /* P3DR */
1145 #define P4DR (*(volatile union un_p4dr *)0xFFFFD3) /* P4DR */
1146 #define P5DR (*(volatile union un_p5dr *)0xFFFFD4) /* P5DR */
1147 #define P6DR (*(volatile union un_p6dr *)0xFFFFD5) /* P6DR */
1148 #define P7DR (*(volatile union un_p7dr *)0xFFFFD6) /* P7DR */
1149 #define P8DR (*(volatile union un_p8dr *)0xFFFFD7) /* P8DR */
1150 #define P9DR (*(volatile union un_p9dr *)0xFFFFD8) /* P9DR */
1151 #define PADR (*(volatile union un_padr *)0xFFFFD9) /* PADR */
1152 #define PBDR (*(volatile union un_pbdr *)0xFFFFDA) /* PBDR */
1153 #define MDCR (*(volatile union un_mdcr *)0xFEE011) /* MDCR */
1154 #define SYSCR (*(volatile union un_syscr *)0xFEE012) /* SYSCR */
1155 #define DIVCR (*(volatile union un_divcr *)0xFEE01B) /* DIVCR */
1156 #define MSTCR (*(volatile union un_mstcr *)0xFEE01C) /* MSTCR */
1157 #define BSC (*(volatile struct st_bsc *)0xFEE012) /* BSC */
1158 #define INTC (*(volatile struct st_intc *)0xFEE014) /* INTC */
1159 #define DMAC0A (*(volatile struct st_sam *)0xFFFF20) /* DMAC 0A */
1160 #define DMAC0B (*(volatile struct st_sam *)0xFFFF28) /* DMAC 0B */
1161 #define DMAC1A (*(volatile struct st_sam *)0xFFFF30) /* DMAC 1A */
1162 #define DMAC1B (*(volatile struct st_sam *)0xFFFF38) /* DMAC 1B */
1163 #define DMAC0 (*(volatile struct st_fam *)0xFFFF20) /* DMAC 0 */
1164 #define DMAC1 (*(volatile struct st_fam *)0xFFFF30) /* DMAC 1 */
1165 #define FLASH (*(volatile struct st_flash *)0xFEE076) /* FLASH */
1166 #define ITU (*(volatile struct st_itu *)0xFFFF60) /* ITU */
1167 #define ITU0 (*(volatile struct st_itu0 *)0xFFFF68) /* ITU0 */
1168 #define ITU1 (*(volatile struct st_itu0 *)0xFFFF70) /* ITU1 */
1169 #define ITU2 (*(volatile struct st_itu0 *)0xFFFF78) /* ITU2 */
1170 #define WDT (*(volatile union un_wdt *)0xFFFF8C) /* WDT */
1171 #define TMR01 (*(volatile struct st_tmr01 *)0xFFFF80) /* TMR01 */
1172 #define TMR23 (*(volatile struct st_tmr23 *)0xFFFF90) /* TMR23 */
1173 #define TMR0 (*(volatile struct st_tmr0 *)0xFFFF80) /* TMR0 */
1174 #define TMR1 (*(volatile struct st_tmr1 *)0xFFFF81) /* TMR1 */
1175 #define TMR2 (*(volatile struct st_tmr2 *)0xFFFF90) /* TMR2 */
1176 #define TMR3 (*(volatile struct st_tmr1 *)0xFFFF91) /* TMR3 */
1177 #define DASTCR (*(volatile union un_dastcr*)0xFEE01A) /* DASTCR */
1178 #define DA (*(volatile struct st_da *)0xFFFF9C) /* D/A */
1179 #define TPC (*(volatile struct st_tpc *)0xFFFFA0) /* TPC */
1180 #define SCI0 (*(volatile struct st_sci *)0xFFFFB0) /* SCI0 */
1181 #define SCI1 (*(volatile struct st_sci *)0xFFFFB8) /* SCI1 */
1182 #define SCI2 (*(volatile struct st_sci *)0xFFFFC0) /* SCI2 */
1183 #define SMCI0 (*(volatile struct st_smci *)0xFFFFB0) /* SMCI0 */
1184 #define SMCI1 (*(volatile struct st_smci *)0xFFFFB8) /* SMCI1 */
1185 #define SMCI2 (*(volatile struct st_smci *)0xFFFFC0) /* SMCI2 */
1186 #define AD (*(volatile struct st_ad *)0xFFFFE0) /* A/D */
1189 #define DI asm("orc.b #0xc0,ccr")
1190 #define EI asm("andc.b #0x3f,ccr")
1192 /*--------------------------------------------------------------*/
1193 /* 割り込み関数プロトタイプ宣言 */
1194 /*--------------------------------------------------------------*/
1196 void int_nmi (void) asm ("_int_adi") __attribute__((interrupt_handler));
1199 void int_trap0 (void) __attribute__((interrupt_handler));
1200 void int_trap1 (void) __attribute__((interrupt_handler));
1201 void int_trap2 (void) __attribute__((interrupt_handler));
1202 void int_trap3 (void) __attribute__((interrupt_handler));
1205 void int_irq0 (void) asm ("_int_irq0") __attribute__((interrupt_handler));
1206 void int_irq1 (void) asm ("_int_irq1") __attribute__((interrupt_handler));
1207 void int_irq2 (void) asm ("_int_irq2") __attribute__((interrupt_handler));
1208 void int_irq3 (void) asm ("_int_irq3") __attribute__((interrupt_handler));
1209 void int_irq4 (void) asm ("_int_irq4") __attribute__((interrupt_handler));
1210 void int_irq5 (void) asm ("_int_irq5") __attribute__((interrupt_handler));
1211 // ウォッチドッグタイマ (インターバルタイマ)
1212 void int_wovi (void) asm ("_int_wovi") __attribute__((interrupt_handler));
1213 // リフレッシュコントローラ (コンペアマッチ)
1214 void int_cmi (void) asm ("_int_cmi") __attribute__((interrupt_handler));
1217 void int_adi (void) asm ("_int_adi") __attribute__((interrupt_handler));
1219 // ITU0 (コンペアマッチ/インプットキャプチャA0)
1220 void int_imia0 (void) asm ("_int_imia0") __attribute__((interrupt_handler));
1221 // ITU0 (コンペアマッチ/インプットキャプチャB0)
1222 void int_imib0 (void) asm ("_int_imib0") __attribute__((interrupt_handler));
1224 void int_ovi0 (void) asm ("_int_ovi0") __attribute__((interrupt_handler));
1226 // ITU1 (コンペアマッチ/インプットキャプチャA1)
1227 void int_imia1 (void) asm ("_int_imia1") __attribute__((interrupt_handler));
1228 // ITU1 (コンペアマッチ/インプットキャプチャB1)
1229 void int_imib1 (void) asm ("_int_imib1") __attribute__((interrupt_handler));
1231 void int_ovi1 (void) asm ("_int_ovi1") __attribute__((interrupt_handler));
1233 // ITU2 (コンペアマッチ/インプットキャプチャA2)
1234 void int_imia2 (void) asm ("_int_imia2") __attribute__((interrupt_handler));
1235 // ITU2 (コンペアマッチ/インプットキャプチャB2)
1236 void int_imib2 (void) asm ("_int_imib2") __attribute__((interrupt_handler));
1238 void int_ovi2 (void) asm ("_int_ovi2") __attribute__((interrupt_handler));
1241 void int_cmia0 (void) asm ("_int_cmia0") __attribute__((interrupt_handler));
1243 void int_cmib0 (void) asm ("_int_cmib0") __attribute__((interrupt_handler));
1244 // TMR1 (コンペアマッチA1/B1)
1245 void int_cmiab1 (void) asm ("_int_cmiab1") __attribute__((interrupt_handler));
1246 // TMR0,1 (オーバフロー0/1)
1247 void int_tovi01 (void) asm ("_int_tovi01") __attribute__((interrupt_handler));
1250 void int_cmia2 (void) asm ("_int_cmia2") __attribute__((interrupt_handler));
1252 void int_cmib2 (void) asm ("_int_cmib2") __attribute__((interrupt_handler));
1253 // TMR3 (コンペアマッチA3/B3)
1254 void int_cmiab3 (void) asm ("_int_cmiab3") __attribute__((interrupt_handler));
1255 // TMR2,3 (オーバフロー2/3)
1256 void int_tovi23 (void) asm ("_int_tovi23") __attribute__((interrupt_handler));
1258 // DMAC0 (DMAC0/DMAC0A転送完了)
1259 void int_dend0a (void) asm ("_int_dend0a") __attribute__((interrupt_handler));
1260 // DMAC0 (DMAC0B転送完了)
1261 void int_dend0b (void) asm ("_int_dend0b") __attribute__((interrupt_handler));
1262 // DMAC1 (DMAC1/DMAC1A転送完了)
1263 void int_dend1a (void) asm ("_int_dend1a") __attribute__((interrupt_handler));
1264 // DMAC1 (DMAC1B転送完了)
1265 void int_dend1b (void) asm ("_int_dend1b") __attribute__((interrupt_handler));
1268 void int_eri0 (void) asm ("_int_eri0") __attribute__((interrupt_handler));
1270 void int_rxi0 (void) asm ("_int_rxi0") __attribute__((interrupt_handler));
1271 // SCI0 (送信データエンプティ0)
1272 void int_txi0 (void) asm ("_int_txi0") __attribute__((interrupt_handler));
1274 void int_tei0 (void) asm ("_int_tei0") __attribute__((interrupt_handler));
1277 void int_eri1 (void) asm ("_int_eri1") __attribute__((interrupt_handler));
1279 void int_rxi1 (void) asm ("_int_rxi1") __attribute__((interrupt_handler));
1280 // SCI1 (送信データエンプティ1)
1281 void int_txi1 (void) asm ("_int_txi1") __attribute__((interrupt_handler));
1283 void int_tei1 (void) asm ("_int_tei1") __attribute__((interrupt_handler));
1286 void int_eri2 (void) asm ("_int_eri2") __attribute__((interrupt_handler));
1288 void int_rxi2 (void) asm ("_int_rxi2") __attribute__((interrupt_handler));
1289 // SCI2 (送信データエンプティ2)
1290 void int_txi2 (void) asm ("_int_txi2") __attribute__((interrupt_handler));
1292 void int_tei2 (void) asm ("_int_tei2") __attribute__((interrupt_handler));
1294 /*--------------------------------------------------------------*/
1295 /* シリアル通信関数(FIFOバッファ付) */
1296 /*--------------------------------------------------------------*/
1298 typedef enum { // ボーレート設定リスト at 20MHz
1307 typedef enum { // ボーレート設定リスト at 25MHz
1317 extern void SCI0_INIT (TBaudRate, char *, short, char *, short);
1318 extern void SCI1_INIT (TBaudRate, char *, short, char *, short);
1319 extern void SCI2_INIT (TBaudRate, char *, short, char *, short);
1321 extern void SCI0_OUT_DATA (char);
1322 extern void SCI1_OUT_DATA (char);
1323 extern void SCI2_OUT_DATA (char);
1325 extern void SCI0_OUT_STRING (char *);
1326 extern void SCI1_OUT_STRING (char *);
1327 extern void SCI2_OUT_STRING (char *);
1329 extern void SCI0_OUT_STRINGB (char *, short);
1330 extern void SCI1_OUT_STRINGB (char *, short);
1331 extern void SCI2_OUT_STRINGB (char *, short);
1333 extern short SCI0_IN_DATA_CHECK (void);
1334 extern short SCI1_IN_DATA_CHECK (void);
1335 extern short SCI2_IN_DATA_CHECK (void);
1337 extern short SCI0_OUT_DATA_CHECK (void);
1338 extern short SCI1_OUT_DATA_CHECK (void);
1339 extern short SCI2_OUT_DATA_CHECK (void);
1341 extern void SCI0_IN_DATA_CLEAR (void);
1342 extern void SCI1_IN_DATA_CLEAR (void);
1343 extern void SCI2_IN_DATA_CLEAR (void);
1345 extern void SCI0_OUT_DATA_CLEAR (void);
1346 extern void SCI1_OUT_DATA_CLEAR (void);
1347 extern void SCI2_OUT_DATA_CLEAR (void);
1349 extern char SCI0_IN_DATA (void);
1350 extern char SCI1_IN_DATA (void);
1351 extern char SCI2_IN_DATA (void);
1353 extern short SCI0_IN_STRING (char *, short);
1354 extern short SCI1_IN_STRING (char *, short);
1355 extern short SCI2_IN_STRING (char *, short);
1357 extern int SCI0_PRINTF (const char *, ...);
1358 extern int SCI1_PRINTF (const char *, ...);
1359 extern int SCI2_PRINTF (const char *, ...);
1361 /*--------------------------------------------------------------*/
1363 /*--------------------------------------------------------------*/
1364 extern __inline__ void sleep (void) __attribute__ ((always_inline));
1365 extern __inline__ void nop (void) __attribute__ ((always_inline));
1366 extern __inline__ void set_ccr (unsigned char mask) __attribute__ ((always_inline));
1367 extern __inline__ unsigned char get_ccr (void) __attribute__ ((always_inline));
1368 extern __inline__ void *get_sp (void) __attribute__ ((always_inline));
1370 extern __inline__ void sleep (void)
1375 extern __inline__ void nop (void)
1380 extern __inline__ void set_ccr (unsigned char mask)
1382 asm ("ldc %0l,ccr"::"r"(mask));
1385 extern __inline__ unsigned char get_ccr (void)
1387 unsigned char value;
1388 asm ("stc ccr,%0l":"=g"(value):);
1396 #endif /* _3069_H_ */