upd72001.h

説明を見る。
00001 /*
00002  *  TOPPERS/ASP Kernel
00003  *      Toyohashi Open Platform for Embedded Real-Time Systems/
00004  *      Advanced Standard Profile Kernel
00005  * 
00006  *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
00007  *                              Toyohashi Univ. of Technology, JAPAN
00008  *  Copyright (C) 2006-2008 by Embedded and Real-Time Systems Laboratory
00009  *              Graduate School of Information Science, Nagoya Univ., JAPAN
00010  * 
00011  *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
00012  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
00013  *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
00014  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
00015  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
00016  *      スコード中に含まれていること.
00017  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
00018  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
00019  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
00020  *      の無保証規定を掲載すること.
00021  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
00022  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
00023  *      と.
00024  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
00025  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
00026  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
00027  *        報告すること.
00028  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
00029  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
00030  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
00031  *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
00032  *      免責すること.
00033  * 
00034  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
00035  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
00036  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
00037  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
00038  *  の責任を負わない.
00039  * 
00040  *  @(#) $Id: upd72001.h 873 2008-04-11 10:32:26Z hiro $
00041  */
00042 
00043 /*
00044  *      μPD72001用 簡易SIOドライバ
00045  */
00046 
00047 #ifndef TOPPERS_UPD72001_H
00048 #define TOPPERS_UPD72001_H
00049 
00050 /*
00051  *  シリアルI/Oポート数の定義
00052  */
00053 #define TNUM_SIOP       2       /* サポートするシリアルI/Oポートの数 */
00054 
00055 #ifndef TOPPERS_MACRO_ONLY
00056 
00057 /*
00058  *  シリアルI/Oポート管理ブロックの定義
00059  */
00060 typedef struct sio_port_control_block   SIOPCB;
00061 
00062 /*
00063  *  コールバックルーチンの識別番号
00064  */
00065 #define SIO_RDY_SND     1U      /* 送信可能コールバック */
00066 #define SIO_RDY_RCV     2U      /* 受信通知コールバック */
00067 
00068 /*
00069  *  SIOドライバの初期化ルーチン
00070  */
00071 extern void     upd72001_initialize(void);
00072 
00073 /*
00074  *  オープンしているポートがあるか?
00075  */
00076 extern bool_t   upd72001_openflag(void);
00077 
00078 /*
00079  *  シリアルI/Oポートのオープン
00080  */
00081 extern SIOPCB   *upd72001_opn_por(ID siopid, intptr_t exinf);
00082 
00083 /*
00084  *  シリアルI/Oポートのクローズ
00085  */
00086 extern void     upd72001_cls_por(SIOPCB *siopcb);
00087 
00088 /*
00089  *  シリアルI/Oポートへの文字送信
00090  */
00091 extern bool_t   upd72001_snd_chr(SIOPCB *siopcb, char_t c);
00092 
00093 /*
00094  *  シリアルI/Oポートからの文字受信
00095  */
00096 extern int_t    upd72001_rcv_chr(SIOPCB *siopcb);
00097 
00098 /*
00099  *  シリアルI/Oポートからのコールバックの許可
00100  */
00101 extern void     upd72001_ena_cbr(SIOPCB *siopcb, uint_t cbrtn);
00102 
00103 /*
00104  *  シリアルI/Oポートからのコールバックの禁止
00105  */
00106 extern void     upd72001_dis_cbr(SIOPCB *siopcb, uint_t cbrtn);
00107 
00108 /*
00109  *  SIOの割込みサービスルーチン
00110  */
00111 extern void     upd72001_isr(void);
00112 
00113 /*
00114  *  シリアルI/Oポートからの送信可能コールバック
00115  */
00116 extern void     upd72001_irdy_snd(intptr_t exinf);
00117 
00118 /*
00119  *  シリアルI/Oポートからの受信通知コールバック
00120  */
00121 extern void     upd72001_irdy_rcv(intptr_t exinf);
00122 
00123 #endif /* TOPPERS_MACRO_ONLY */
00124 #endif /* TOPPERS_UPD72001_H */

Copyright © 2008 by Kijineko Inc.

ホームページ制作