- Timestamp:
- Jun 2, 2015, 3:39:53 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.c
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 * XR[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 * Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 * ̳ÛØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 * ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 * ñ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 * ÆÓ·é±ÆD 12 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 14 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 17 * スコード中に含まれていること. 18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 19 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 20 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 21 * の無保証規定を掲載すること. 22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 23 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 24 * と. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 26 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 28 * 報告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 30 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 32 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 33 * 免責すること. 38 34 * 39 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨40 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI41 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF42 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»43 * ÌÓCðíÈ¢D35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 44 40 * 45 41 */ 46 42 47 43 /* 48 * VAhCoiCQ-FRM-FM3pj44 * シリアルドライバ(CQ-FRM-FM3用) 49 45 */ 50 46 … … 55 51 56 52 /* 57 * WX^Ýèl53 * レジスタ設定値 58 54 */ 59 55 #define PORT2SIOPID(x) ((x) + 1) … … 62 58 63 59 /* 64 * USART WX^è`60 * USARTレジスタ定義 65 61 * #define MFS_SMR(ch) (MFS_BASEADDR((ch)) + 0x00) 66 62 * #define MFS_SCR(ch) (MFS_BASEADDR((ch)) + 0x01) … … 74 70 75 71 /* 76 * rbgèÄÍoCgANZXpÉLqµÄ¢é72 * ビット割り当てはバイトアクセス用に記述している 77 73 */ 78 74 … … 94 90 #define SMR_WAKEUP (1U << 4) 95 91 96 #define SMR_SBL_1OR3 (0U << 3) /* ESCR.ESBL = 0 Å1 */97 #define SMR_SBL_2OR4 (1U << 3) /* ESCR.ESBL = 0 Å2 */92 #define SMR_SBL_1OR3 (0U << 3) /* ESCR.ESBL = 0で1 */ 93 #define SMR_SBL_2OR4 (1U << 3) /* ESCR.ESBL = 0で2 */ 98 94 99 95 #define SMR_BDS_LSBFIRST (0U << 2) … … 131 127 132 128 /* 133 * VAI/O|[gÇubNGA129 * シリアルI/Oポート管理ブロックエリア 134 130 */ 135 131 SIOPCB siopcb_table[TNUM_PORT]; … … 153 149 154 150 /* 155 * áxoÍÌú»151 * 低レベル出力の初期化 156 152 */ 157 153 … … 160 156 uint32_t ch = INDEX_PORT(siopid); 161 157 162 /* ú»ÏÝÌêÍ·®É^[*/158 /* 初期化済みの場合はすぐにリターン */ 163 159 if((sil_reb_mem((void*)MFS_SCR(ch)) & (SCR_TXE | SCR_RXE)) != 0) 164 160 { … … 166 162 } 167 163 168 /* USART ̳ø»CZbg*/164 /* USARTの無効化,リセット */ 169 165 sil_wrb_mem((void *)MFS_SCR(ch) , SCR_UPCL); 170 166 sil_wrb_mem((void *)MFS_SCR(ch) , 0x0); 171 167 172 /* ÊM[hÝè*/168 /* 通信モード設定 */ 173 169 sil_wrb_mem((void *)MFS_SMR(ch) , 174 170 (SMR_MODE_ASYNC_NORMAL | SMR_SBL_1OR3 | SMR_BDS_LSBFIRST | SMR_SOE_DISABLE)); 175 171 sil_wrb_mem((void *)MFS_ESCR(ch) , 176 172 (ESCR_FLWEN_DISABLE | ESCR_INV_NRZ | ESCR_PEN_DISABLE | ESCR_DATALEN_8)); 177 /* ÊM¬xÝè*/178 sil_wrh_mem((void *)MFS_BGR0(ch) , BPS_SETTING); /* n[t[hANZX·é*/179 /* FIFO ³ø»*/173 /* 通信速度設定 */ 174 sil_wrh_mem((void *)MFS_BGR0(ch) , BPS_SETTING); /* ハーフワードアクセスする */ 175 /* FIFO無効化 */ 180 176 sil_wrb_mem((void *)MFS_FCR0(ch) , 0x00); 181 177 sil_wrb_mem((void *)MFS_FCR1(ch) , 0x00); 182 178 183 /* USART ÌLø»*/179 /* USARTの有効化 */ 184 180 sil_orb((void *)MFS_SMR(ch) , SMR_SOE_ENABLE); 185 181 sil_orb((void*)MFS_SCR(ch) , (SCR_TXE | SCR_RXE)); … … 187 183 188 184 /* 189 * ^[QbgÌVAú»185 * ターゲットのシリアル初期化 190 186 */ 191 187 void target_usart_init(ID siopid) … … 193 189 target_low_output_init(siopid); 194 190 195 /* ÝÂ*/191 /* 割込み許可 */ 196 192 x_clear_int(INTNO_SIO_TX); 197 193 x_clear_int(INTNO_SIO_RX); 198 /* ÝÖ~*/194 /* 割込み禁止 */ 199 195 (void)ena_int(INTNO_SIO_TX); 200 196 (void)ena_int(INTNO_SIO_RX); … … 202 198 203 199 /* 204 * ^[QbgÌVAI¹200 * ターゲットのシリアル終了 205 201 */ 206 202 void target_usart_term(ID siopid) 207 203 { 208 /* ÝÖ~*/204 /* 割込み禁止 */ 209 205 (void)dis_int(INTNO_SIO_TX); 210 206 (void)dis_int(INTNO_SIO_RX); 211 207 212 /* USART ̳ø»*/208 /* USARTの無効化 */ 213 209 sil_andb((void*)MFS_SCR(INDEX_PORT(siopid)) , (SCR_TXE | SCR_RIE)); 214 210 } 215 211 216 212 /* 217 * SIO ú»213 * SIO初期化 218 214 */ 219 215 void sio_initialize(intptr_t exinf) … … 229 225 230 226 /* 231 * VAI[v227 * シリアルオープン 232 228 */ 233 229 SIOPCB *sio_opn_por(ID siopid, intptr_t exinf) … … 248 244 249 245 /* 250 * VAN[Y246 * シリアルクローズ 251 247 */ 252 248 void sio_cls_por(SIOPCB *p_siopcb) … … 256 252 257 253 /* 258 * Ýnh254 * 割込みハンドラ 259 255 */ 260 256 void sio_isr_tx(intptr_t exinf) … … 277 273 278 274 /* 279 * 1 ¶M275 * 1文字送信 280 276 */ 281 277 bool_t sio_snd_chr(SIOPCB *siopcb, char c) … … 293 289 294 290 /* 295 * 1 ¶óM291 * 1文字受信 296 292 */ 297 293 int_t sio_rcv_chr(SIOPCB *siopcb) … … 307 303 308 304 /* 309 * R[obNÌÂ305 * コールバックの許可 310 306 */ 311 307 void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn) … … 324 320 325 321 /* 326 * R[obNÌÖ~322 * コールバックの禁止 327 323 */ 328 324 void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn) … … 341 337 342 338 /* 343 * 1 ¶oÍi|[OÅÌoÍj339 * 1文字出力(ポーリングでの出力) 344 340 */ 345 341 void sio_pol_snd_chr(char c, ID siopid) -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.