Changeset 315 for rubycfg_asp/trunk/asp_dcre/pdic/rx600/rx630_uart.c
- Timestamp:
- Jul 23, 2017, 2:29:40 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rubycfg_asp/trunk/asp_dcre/pdic/rx600/rx630_uart.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 7 7 * Copyright (C) 2013 by Mitsuhiro Matsuura 8 8 * 9 * ä¸è¨èä½æ¨©è 10 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 11 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 12 * å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 14 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 15 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 16 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 17 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 18 * ç¨ã§ããå½¢ã§åé 19 å¸ããå ´åã«ã¯ï¼åé 20 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 21 * è 22 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 23 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 24 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 * ç¨ã§ããªãå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 27 * ã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (b) åé 33 å¸ã®å½¢æ 34 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 35 * å ±åãããã¨ï¼ 36 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 37 * 害ãããï¼ä¸è¨èä½æ¨©è 38 ããã³TOPPERSããã¸ã§ã¯ããå 39 責ãããã¨ï¼ 40 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 41 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 42 ããã³TOPPERSããã¸ã§ã¯ãã 43 * å 44 責ãããã¨ï¼ 9 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 11 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 21 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 29 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 30 * 免責すること. 45 31 * 46 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 47 ã 48 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 49 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 50 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 51 * ã®è²¬ä»»ãè² ããªãï¼ 32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 33 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 34 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 35 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 36 * の責任を負わない. 52 37 * 53 38 * @(#) $Id$ … … 56 41 57 42 /* 58 * UART ç¨ ç°¡æSIOãã©ã¤ã43 * UART用 簡易SIOドライバ 59 44 */ 60 45 … … 65 50 #include "rx630_uart.h" 66 51 67 /* ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ï¼SMR) */52 /* シリアルモードレジスタ(SMR) */ 68 53 #define CKS UINT_C(0x03) 69 54 #define STOP UINT_C(0x08) … … 75 60 #define ASYNC_8BIT UINT_C(0x40) 76 61 77 /* ã·ãªã¢ã«ã³ã³ããã¼ã«ã¬ã¸ã¹ã¿ï¼SCR) */62 /* シリアルコントロールレジスタ(SCR) */ 78 63 #define CKE UINT_C(0x03) 79 64 #define TEIE UINT_C(0x04) … … 83 68 #define TIE UINT_C(0x80) 84 69 85 /* ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SSRï¼*/70 /* シリアルステータスレジスタ(SSR) */ 86 71 #define TEND UINT_C(0x04) 87 72 #define PER UINT_C(0x08) … … 89 74 #define ORER UINT_C(0x20) 90 75 91 /* ã·ãªã¢ã«æ¡å¼µã¢ã¼ãã¬ã¸ã¹ã¿ï¼SEMR) */76 /* シリアル拡張モードレジスタ(SEMR) */ 92 77 #define ACS0 UINT_C(0x01) 93 78 #define ABCS UINT_C(0x10) … … 97 82 98 83 /* 99 * ã·ãªã¢ã«I/Oãã¼ãåæåãããã¯ã®å®ç¾©84 * シリアルI/Oポート初期化ブロックの定義 100 85 */ 101 86 typedef struct sio_port_initialization_block { 102 volatile uint8_t *ctlreg; /* ã·ãªã¢ã«ã³ã³ããã¼ã«ã¬ã¸ã¹ã¿ï¼SCR) */103 volatile uint8_t *modereg; /* ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿ï¼SMR) */104 volatile uint8_t *extmodereg; /* ã·ãªã¢ã«æ¡å¼µã¢ã¼ãã¬ã¸ã¹ã¿ï¼SEMR) */105 volatile uint8_t *statusreg; /* ã·ãªã¢ã«ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼SSRï¼*/106 volatile uint8_t *tdreg; /* ãã©ã³ã¹ããããã¼ã¿ã¬ã¸ã¹ã¿ï¼TDR)*/107 volatile uint8_t *rdreg; /* ã¬ã·ã¼ããã¼ã¿ã¬ã¸ã¹ã¿ï¼RDR) */108 volatile uint8_t *bitratereg; /* ãããã¬ã¼ãã¬ã¸ã¹ã¿ï¼BRR) */109 volatile uint32_t *mstpcrreg; /* ã¢ã¸ã¥ã¼ã«ã¹ãããã³ã³ããã¼ã«ã¬ã¸ã¹ã¿ï¼MSTPCRï¼*/110 volatile uint8_t *ssrreg; /* ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿*/111 volatile uint8_t *rxiirreg; /* RXI ç¨å²è¾¼ã¿è¦æ±ã¬ã¸ã¹ã¿*/112 uint8_t tx_intno; /* éä¿¡ï¼ãã¼ã¿ã¨ã³ããã£ï¼å²ãè¾¼ã¿çªå·*/113 uint8_t rx_intno; /* åä¿¡ï¼ãã¼ã¿ãã«ï¼å²ãè¾¼ã¿çªå·*/114 uint8_t te_intno; /* éä¿¡ï¼çµäºï¼å²ãè¾¼ã¿çªå·*/115 uint8_t sci_no; /* SCI ã®çªå·(SCI0ï½SCI6) */116 uint32_t mstpcr_offset; /* MSTPCR ã®å¯¾å¿ããããããªãã»ãã*/87 volatile uint8_t *ctlreg; /* シリアルコントロールレジスタ(SCR) */ 88 volatile uint8_t *modereg; /* シリアルモードレジスタ(SMR) */ 89 volatile uint8_t *extmodereg; /* シリアル拡張モードレジスタ(SEMR) */ 90 volatile uint8_t *statusreg; /* シリアルステータスレジスタ(SSR) */ 91 volatile uint8_t *tdreg; /* トランスミットデータレジスタ(TDR)*/ 92 volatile uint8_t *rdreg; /* レシーブデータレジスタ(RDR) */ 93 volatile uint8_t *bitratereg; /* ビットレートレジスタ(BRR) */ 94 volatile uint32_t *mstpcrreg; /* モジュールストップコントロールレジスタ(MSTPCR) */ 95 volatile uint8_t *ssrreg; /* ステータスレジスタ */ 96 volatile uint8_t *rxiirreg; /* RXI用割込み要求レジスタ */ 97 uint8_t tx_intno; /* 送信(データエンプティ)割り込み番号 */ 98 uint8_t rx_intno; /* 受信(データフル)割り込み番号 */ 99 uint8_t te_intno; /* 送信(終了)割り込み番号 */ 100 uint8_t sci_no; /* SCIの番号(SCI0~SCI6) */ 101 uint32_t mstpcr_offset; /* MSTPCRの対応するビットオフセット */ 117 102 } SIOPINIB; 118 103 119 104 /* 120 * ã·ãªã¢ã«I/Oãã¼ã管çãããã¯ã®å®ç¾©105 * シリアルI/Oポート管理ブロックの定義 121 106 */ 122 107 struct sio_port_control_block { 123 const SIOPINIB *p_siopinib; /* ã·ãªã¢ã«I/Oãã¼ãåæåããã㯠*/ 124 intptr_t exinf; /* æ¡å¼µæ 125 å ± */ 126 bool_t openflag; /* ãªã¼ãã³æ¸ã¿ãã©ã° */ 127 bool_t sendflag; /* éä¿¡å²è¾¼ã¿ã¤ãã¼ãã«ãã©ã° */ 128 bool_t getready; /* æåãåä¿¡ããç¶æ 129 */ 130 bool_t putready; /* æåãéä¿¡ã§ããç¶æ 131 */ 132 bool_t is_initialized; /* ããã¤ã¹åæåæ¸ã¿ãã©ã° */ 108 const SIOPINIB *p_siopinib; /* シリアルI/Oポート初期化ブロック */ 109 intptr_t exinf; /* 拡張情報 */ 110 bool_t openflag; /* オープン済みフラグ */ 111 bool_t sendflag; /* 送信割込みイネーブルフラグ */ 112 bool_t getready; /* 文字を受信した状態 */ 113 bool_t putready; /* 文字を送信できる状態 */ 114 bool_t is_initialized; /* デバイス初期化済みフラグ */ 133 115 }; 134 116 135 117 /* 136 * ã·ãªã¢ã«I/Oãã¼ã管çãããã¯ã®ã¨ãªã¢118 * シリアルI/Oポート管理ブロックのエリア 137 119 */ 138 120 static SIOPCB siopcb_table[TNUM_SIOP]; 139 121 140 /* ã¬ã¸ã¹ã¿ãã¼ãã«*/122 /* レジスタテーブル */ 141 123 static const SIOPINIB siopinib_table[TNUM_SIOP] = 142 124 { … … 180 162 181 163 /* 182 * ã·ãªã¢ã«I/Oãã¼ãIDãã管çãããã¯ãåãåºãããã®ãã¯ã164 * シリアルI/OポートIDから管理ブロックを取り出すためのマクロ 183 165 */ 184 166 #define INDEX_SIOP(siopid) ((uint_t)((siopid) - 1)) … … 188 170 189 171 /* 190 * SIO ãã©ã¤ãã®ã·ãªã¢ã«ã¢ã¼ãã¬ã¸ã¹ã¿(SMR)172 * SIOドライバのシリアルモードレジスタ(SMR) 191 173 */ 192 174 static void … … 196 178 197 179 /* 198 * SCIãã©ã¤ãã®åæåã«ã¼ãã³ 199 */ 200 201 /* 202 * å²ãè¾¼ã¿è¦æ±å 203 ã¬ã¸ã¹ã¿ã®è¨å®(ISELRi) 180 * SCIドライバの初期化ルーチン 181 */ 182 183 /* 184 * 割り込み要求先レジスタの設定(ISELRi) 204 185 * 205 * ãªã»ããå¤ã¨åãå¤ãè¨å®ãããã¨ã«ãªããã,206 * å¦çã¯çç¥ãã.207 */ 208 209 /* 210 * ã¢ã¸ã¥ã¼ã«ã¹ãããæ©è½ã®è¨å®211 */ 212 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* æ¸è¾¼ã¿è¨±å¯*/186 * リセット値と同じ値を設定することになるため, 187 * 処理は省略する. 188 */ 189 190 /* 191 * モジュールストップ機能の設定 192 */ 193 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 213 194 sil_wrw_mem(p_siopinib->mstpcrreg, 214 195 sil_rew_mem(p_siopinib->mstpcrreg) & ~p_siopinib->mstpcr_offset); 215 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* æ¸è¾¼ã¿ç¦æ¢ */ 216 217 /* éåä¿¡ç¦æ¢, SCKn端åã¯å 218 ¥åºåãã¼ãã¨ãã¦ä½¿ç¨ */ 196 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 197 198 /* 送受信禁止, SCKn端子は入出力ポートとして使用 */ 219 199 sil_wrb_mem(p_siopinib->ctlreg, 0x00U); 220 200 221 /* ã¯ããã¯é¸æããã(SMR.CKS[1:0]ããããè¨å®) */201 /* クロック選択ビット(SMR.CKS[1:0]ビットを設定) */ 222 202 sil_wrb_mem(p_siopinib->modereg, 223 203 sil_reb_mem(p_siopinib->modereg) | clksrc); 224 204 225 /* SMR ã«éä¿¡ï¼ åä¿¡ãã©ã¼ããããè¨å®) */205 /* SMRに送信/ 受信フォーマットを設定) */ 226 206 sil_wrb_mem(p_siopinib->modereg, 227 207 sil_reb_mem(p_siopinib->modereg) & (~SCI_SMR_FLG_ENABLE)); 228 208 229 /* ãããã¬ã¼ããè¨å®*/209 /* ビットレートを設定 */ 230 210 sil_wrb_mem(p_siopinib->bitratereg, bitrate); 231 211 232 /* ãããæé(åºæ¬ã¯ããã¯16ãµã¤ã¯ã«ã®æéã1ãããæéã¨ãªã) */212 /* ビット期間(基本クロック16サイクルの期間が1ビット期間となる) */ 233 213 for(i = 0; i < 16; i++) { } 234 214 235 /* éå信許å¯*/215 /* 送受信許可 */ 236 216 sil_wrb_mem(p_siopinib->ctlreg, 237 217 (sil_reb_mem(p_siopinib->ctlreg) | SCI_SCR_FLG_ENABLE)); … … 240 220 241 221 /* 242 * SIO ãã©ã¤ãã®åæåã«ã¼ãã³222 * SIOドライバの初期化ルーチン 243 223 */ 244 224 void … … 249 229 250 230 /* 251 * ã·ãªã¢ã«I/Oãã¼ã管çãããã¯ã®åæå231 * シリアルI/Oポート管理ブロックの初期化 252 232 */ 253 233 for (p_siopcb = siopcb_table, i = 0; i < TNUM_SIOP; p_siopcb++, i++){ … … 259 239 260 240 /* 261 * ã«ã¼ãã«èµ·åæã®ããã¼åºåç¨ã®åæå241 * カーネル起動時のバナー出力用の初期化 262 242 */ 263 243 void … … 266 246 SIOPCB *p_siopcb = get_siopcb(siopid); 267 247 const SIOPINIB *p_siopinib = get_siopinib(siopid); 268 /* ãã®æç¹ã§ã¯ãp_siopcb->p_siopinibã¯åæåããã¦ããªã*/269 270 /* äºéåæåã®é²æ¢*/248 /* この時点では、p_siopcb->p_siopinibは初期化されていない */ 249 250 /* 二重初期化の防止 */ 271 251 p_siopcb->is_initialized = true; 272 252 273 /* ãã¼ãã¦ã§ã¢ã®åæåå¦çã¨é信許å¯*/253 /* ハードウェアの初期化処理と送信許可 */ 274 254 rx630_uart_setmode(p_siopinib , bitrate, clksrc); 275 255 sil_wrb_mem(p_siopinib->ctlreg, … … 278 258 279 259 /* 280 * ã·ãªã¢ã«I/Oãã¼ãã¸ã®ãã¼ãªã³ã°ã§ã®åºå260 * シリアルI/Oポートへのポーリングでの出力 281 261 */ 282 262 void … … 288 268 289 269 /* 290 * éä¿¡ã¬ã¸ã¹ã¿ã空ã«ãªãã¾ã§å¾ 291 㤠270 * 送信レジスタが空になるまで待つ 292 271 */ 293 272 while((sil_reb_mem(p_siopinib->ssrreg) & SCI_SSR_TEND_BIT) == 0U); … … 297 276 298 277 /* 299 * ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³278 * シリアルI/Oポートのオープン 300 279 */ 301 280 SIOPCB * … … 310 289 311 290 /* 312 * ãã¼ãã¦ã§ã¢ã®åæå291 * ハードウェアの初期化 313 292 * 314 * æ¢ã«åæåãã¦ããå ´åã¯, äºéã«åæåããªã.293 * 既に初期化している場合は, 二重に初期化しない. 315 294 */ 316 295 if(!(p_siopcb->is_initialized)){ … … 327 306 328 307 /* 329 * ã·ãªã¢ã«I/Oãã¼ãã®ã¯ãã¼ãº308 * シリアルI/Oポートのクローズ 330 309 */ 331 310 void … … 333 312 { 334 313 /* 335 * UART åæ¢314 * UART停止 336 315 */ 337 316 sil_wrh_mem((volatile uint16_t *)p_siopcb->p_siopinib->ctlreg, 0x00U); … … 341 320 342 321 /* 343 * ã·ãªã¢ã«I/Oãã¼ãã¸ã®æåéä¿¡322 * シリアルI/Oポートへの文字送信 344 323 */ 345 324 bool_t … … 357 336 358 337 /* 359 * ã·ãªã¢ã«I/Oãã¼ãããã®æååä¿¡338 * シリアルI/Oポートからの文字受信 360 339 */ 361 340 int_t … … 365 344 366 345 /* 367 * åä¿¡ãã©ã°ãONã®ã¨ãã®ã¿åä¿¡ãããã¡ããæåãåå¾ãã.368 * ããã¯, ãã¼ãªã³ã°åä¿¡ã«å¯¾å¿ããããã§ãã.369 * ããã, RX600ã·ãªã¼ãºã§ã¯åä¿¡ãã©ã°ããªããã¨, ã·ã¹ãã ãµã¼ãã¹370 * ã§ã¯åä¿¡å²è¾¼ã¿ã®ä¸ãããããã¼ã¿ãåä¿¡ãã«æ¥ãªããã¨ãã, 常ã«371 * åä¿¡ãããã¡ããæåãåå¾ãã.346 * 受信フラグがONのときのみ受信バッファから文字を取得する. 347 * これは, ポーリング受信に対応するためである. 348 * しかし, RX600シリーズでは受信フラグがないこと, システムサービス 349 * では受信割込みの中からしかデータを受信しに来ないことから, 常に 350 * 受信バッファから文字を取得する. 372 351 */ 373 352 c = (int)(sil_reb_mem(p_siopcb->p_siopinib->rdreg)); … … 377 356 378 357 /* 379 * ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯358 * シリアルI/Oポートからのコールバックの許可 380 359 */ 381 360 void … … 398 377 399 378 /* 400 * ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ¢379 * シリアルI/Oポートからのコールバックの禁止 401 380 */ 402 381 void … … 419 398 420 399 /* 421 * SIO ã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³400 * SIOの割込みサービスルーチン 422 401 */ 423 402 void … … 429 408 (void *)p_siopcb->p_siopinib->ssrreg) & SCI_SSR_TEND_BIT) != 0U){ 430 409 /* 431 * éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼410 * 送信可能コールバックルーチンを呼び出す. 432 411 */ 433 412 rx630_uart_irdy_snd(p_siopcb->exinf); … … 441 420 442 421 /* 443 * åä¿¡ãã©ã°ãONã®ã¨ãã®ã¿åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºã.444 * ããã, RX600ã·ãªã¼ãºã§ã¯åä¿¡ãã©ã°ããªããã, 常ã«åä¿¡éç¥445 * ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºã.446 * ããã§ã¯åä¿¡å²è¾¼ã¿ã®çºçãä¿¡ãã.447 */ 448 /* 449 * åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼422 * 受信フラグがONのときのみ受信通知コールバックルーチンを呼び出す. 423 * しかし, RX600シリーズでは受信フラグがないため, 常に受信通知 424 * コールバックルーチンを呼び出す. 425 * ここでは受信割込みの発生を信じる. 426 */ 427 /* 428 * 受信通知コールバックルーチンを呼び出す. 450 429 */ 451 430 rx630_uart_irdy_rcv(p_siopcb->exinf); … … 454 433 455 434 /* 456 * ãã¼ãçªå·ãã管çãããã¯ã®å 457 é çªå°ã¸ã®å¤æ 435 * ポート番号から管理ブロックの先頭番地への変換 458 436 */ 459 437 SIOPCB * … … 464 442 465 443 /* 466 * 管çãããã¯ã®å 467 é çªå°ããåä¿¡å²è¾¼ã¿çªå·ã¸ã®å¤æ 444 * 管理ブロックの先頭番地から受信割込み番号への変換 468 445 */ 469 446 INTNO … … 474 451 475 452 /* 476 * 管çãããã¯ã®å 477 é çªå°ããéä¿¡å²è¾¼ã¿çªå·ã¸ã®å¤æ 453 * 管理ブロックの先頭番地から送信割込み番号への変換 478 454 */ 479 455 INTNO -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.