OSDN Git Service

b3a53cbe83af4ba5de9b18e5322b37aafef3364d
[hos/hos-v4a.git] / aplfw / driver / serial / renesas / scidrv_open.c
1 /** 
2  *  Hyper Operating System  Application Framework
3  *
4  * @file  scidrv.c
5  * @brief %jp{SCI用デバイスドライバ}
6  *
7  * Copyright (C) 2006 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #include "scidrv_local.h"
13
14
15 /** オープン */
16 HANDLE SciDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode)
17 {
18         C_SCIDRV        *self;
19         C_CHRFILE               *pChrFile;
20         
21         /* upper cast */
22         self = (C_SCIDRV *)pDrvObj;
23
24         /* create file descriptor */
25         if ( (pChrFile = SysMem_Alloc(sizeof(*pChrFile))) == NULL )
26         {
27                 return HANDLE_NULL;
28         }
29         ChrFile_Create(pChrFile, pDrvObj, NULL);
30         
31         /* オープン処理 */
32         if ( self->iOpenCount++ == 0 )
33         {
34                 SciHal_Setup(&self->SciHal);
35                 SciHal_SetSpeed(&self->SciHal, 38400);
36                 SciHal_EnableInterrupt(&self->SciHal, SCIHAL_INT_RIE);
37         }
38
39         return (HANDLE)pChrFile;
40 }
41
42
43 /* end of file */