📄 h8s_sci.h
字号:
/* * TOPPERS/JSP Kernel * Toyohashi Open Platform for Embedded Real-Time Systems/ * Just Standard Profile Kernel * * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory * Toyohashi Univ. of Technology, JAPAN * Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering * Tomakomai National College of Technology, JAPAN * Copyright (C) 2001-2004 by Industrial Technology Institute, * Miyagi Prefectural Government, JAPAN * * 惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation * によって给山されている GNU General Public License の Version 2 に淡 * 揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア * を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· * 网脱と钙ぶ∷することを痰浸で钓满するˉ * (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 * スコ〖ド面に崔まれていることˉ * (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 * 脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 * 荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 * の痰瘦沮惮年を非很することˉ * (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 * 脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ * とˉ * (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 * 侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ * (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに * 鼠桂することˉ * (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 * 巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ * * 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お * よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も * 崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 * 儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ */#ifndef _H8S_SCI_H_#define _H8S_SCI_H_#include <s_services.h> /* デバイスドライバ脱筛洁インクル〖ドファイル */#include <h8s_sil.h>/* * H8S 柒垄シリアルコミュニケ〖ションインタフェ〖ス(SCI)簇息の年盗 *//* SCIレジスタのアドレス *//* ベ〖スアドレス */#define SCI0_BASE_ADDR 0xff78 /* チャネル0 */#define SCI1_BASE_ADDR 0xff80 /* チャネル1 *//* レジスタオフセット */#define SMR 0 /* シリアルモ〖ドレジスタタ */#define BRR 1 /* ビットレ〖トレジスタ */#define SCR 2 /* シリアルコントロ〖ルレジスタ */#define TDR 3 /* トランスミットデ〖タレジスタ */#define SSR 4 /* シリアルステ〖タスレジスタ */#define RDR 5 /* レシ〖ブデ〖タレジスタ */#define SCMR 6 /* スマ〖トカ〖ドモ〖ドレジスタ *//* 称レジスタのビットパタ〖ン *//* RSR, RDR, TSR, TDR *//* 年盗すべきものは、泼に痰い *//* SMR */#define CA BIT7#define CHR BIT6 /* 8bit = 0 / 7bit = 1 */#define PE BIT5 /* Parity OFF = 0 / Parity ON = 1 */#define OE BIT4 /* EVEN Parity = 0 / ODD Parity = 1 */#define STOP BIT3 /* 1 STOP BIT = 0 / 2 STOP BIT = 1 */#define MP BIT2#define CSK1 BIT1#define CSK0 BIT0/* SCR */#define TIE BIT7#define RIE BIT6#define TE BIT5#define RE BIT4#define MPIE BIT3#define TEIE BIT2#define CKE1 BIT1#define CKE0 BIT0/* SSR */#define TDRE BIT7#define RDRF BIT6#define ORER BIT5#define FER BIT4#define PER BIT3#define TEND BIT2#define MPB BIT1#define MPBT BIT0/* * ボ〖レ〖ト簇犯の年盗 * 瓢侯件侨眶¨20 [MHz] なので、マニュアルp567より疯まる。 */#if BAUD_RATE == 9600 /* ビットレ〖ト¨ 9600 [bit/s] */ #define BRR_RATE 64 /* N = 64 */#elif BAUD_RATE == 38400 /* ビットレ〖ト¨38400 [bit/s] */ #define BRR_RATE 15 /* N = 15 */#elif BAUD_RATE == 57600 /* ビットレ〖ト¨57600 [bit/s] */ #define BRR_RATE 10 /* N = 10 */#endif#ifndef _MACRO_ONLY/* * シリアルI/Oポ〖ト介袋步ブロック */typedef struct sio_port_control_block SIOPCB;#endif /* _MACRO_ONLY *//* * SCI脱システムインタフェ〖スレイヤ〖 *//* x : ポ〖トのベ〖スアドレス(UW 房) y : レジスタオフセット(UW 房) z : レジスタ猛 */#define h8s_sci_wrb( x, y, z ) h8s_wrb_mem( (VP)(x + y), z )#define h8s_sci_reb( x, y ) h8s_reb_mem( (VP)(x + y) )/* * コ〖ルバックル〖チンの急侍戎规 */#define SIO_ERDY_SND 1u /* 流慨材墙コ〖ルバック */#define SIO_ERDY_RCV 2u /* 减慨奶梦コ〖ルバック */#ifndef _MACRO_ONLY/* * SIOドライバの介袋步ル〖チン */extern void h8s_sci_initialize(void);/* * オ〖プンしているポ〖トがあるか々 */extern BOOL h8s_sci_openflag(void);/* * シリアルI/Oポ〖トのオ〖プン */extern SIOPCB *h8s_sci_opn_por(ID siopid, VP_INT exinf);/* * シリアルI/Oポ〖トのクロ〖ズ */extern void h8s_sci_cls_por(SIOPCB *siopcb);/* * シリアルI/Oポ〖トへの矢机流慨 */extern BOOL h8s_sci_snd_chr(SIOPCB *siopcb, char c);/* * シリアルI/Oポ〖トからの矢机减慨 */extern INT h8s_sci_rcv_chr(SIOPCB *siopcb);/* * シリアルI/Oポ〖トからのコ〖ルバックの钓材 */extern void h8s_sci_ena_cbr(SIOPCB *siopcb, UINT cbrtn);/* * シリアルI/Oポ〖トからのコ〖ルバックの敦贿 */extern void h8s_sci_dis_cbr(SIOPCB *siopcb, UINT cbrtn);/* * SIOの充哈みサ〖ビスル〖チン */extern void h8s_sci_isr_in(void);extern void h8s_sci_isr_out(void);/* * SIOの减慨エラ〖充哈みサ〖ビスル〖チン */extern void h8s_sci_isr_error(void);/* * シリアルI/Oポ〖トからの流慨材墙コ〖ルバック */extern void h8s_sci_ierdy_snd(VP_INT exinf);/* * シリアルI/Oポ〖トからの减慨奶梦コ〖ルバック */extern void h8s_sci_ierdy_rcv(VP_INT exinf);/* * カ〖ネル弹瓢箕脱の介袋步 (sys_putcで网脱) */extern void h8s_sci_init(void);/* * シリアルI/Oポ〖トへの矢机流慨∈ポ〖リング∷ */extern void h8s_sci_putchar_pol(char c);#endif /* _MACRO_ONLY */#endif /* _H8S_sci_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -