+++ /dev/null
-/**
- * Hyper Operating System Application Framework
- *
- * @file at91uartdrv_iocontrol.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
- *
- * Copyright (C) 2006-2007 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#include "at91uartdrv_local.h"
-
-
-FILE_ERR At91UartDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize)
-{
- C_AT91UARTDRV *self;
- C_CHRFILE *pChrFile;
-
- /* upper cast */
- self = (C_AT91UARTDRV *)pDrvObj;
- pChrFile = (C_CHRFILE *)pFileObj;
-
- return FILE_ERR_NG;
-}
-
-
-/* end of file */
+++ /dev/null
-/**
- * Hyper Operating System Application Framework
- *
- * @file at91uartdrv_local.h
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
- *
- * Copyright (C) 2006-2007 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#ifndef __HOS__at91uartdrv_local_h__
-#define __HOS__at91uartdrv_local_h__
-
-
-#include "at91uartdrv.h"
-
-
-#define AT91UART_US_CR 0x00 /* Control Register */
-#define AT91UART_US_MR 0x04 /* Mode Register */
-#define AT91UART_US_IER 0x08 /* Interrupt Enable Register */
-#define AT91UART_US_IDR 0x0c /* Interrupt Disable Register */
-#define AT91UART_US_IMR 0x10 /* Interrupt Mask Register */
-#define AT91UART_US_CSR 0x14 /* Channel Status Register */
-#define AT91UART_US_RHR 0x18 /* Receiver Holding Register */
-#define AT91UART_US_THR 0x1c /* Transmitter Holding Register */
-#define AT91UART_US_BRGR 0x20 /* Baud Rate Generator Register */
-#define AT91UART_US_RTOR 0x24 /* Receiver Time-out Register */
-#define AT91UART_US_TTGR 0x28 /* Transmitter Time-guard Register */
-#define AT91UART_US_RPR 0x30 /* Receive Pointer Register */
-#define AT91UART_US_RCR 0x34 /* Receive Counter Register */
-#define AT91UART_US_TPR 0x38 /* Transmit Pointer Register */
-#define AT91UART_US_TCR 0x3c /* Transmit Counter Register */
-
-#define AT91UART_REG_WRITE(self, offset, val) do { *(unsigned long *)((char *)(self)->pRegBase + (offset)) = (val); } while(0)
-#define AT91UART_REG_READ(self, offset) (*((unsigned long *)((char *)(self)->pRegBase + (offset))))
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HANDLE At91UartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode);
-void At91UartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj);
-FILE_ERR At91UartDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize);
-FILE_POS At91UartDrv_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign);
-FILE_SIZE At91UartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size);
-FILE_SIZE At91UartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size);
-FILE_ERR At91UartDrv_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj);
-
-void At91UartDrv_Isr(VPARAM Param); /* 割込み処理 */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __HOS__armuartdrv_h__ */
-
-
-/* end of file */
+++ /dev/null
-/**
- * Hyper Operating System Application Framework
- *
- * @file at91uartdrv_seek.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
- *
- * Copyright (C) 2006-2007 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#include "at91uartdrv_local.h"
-
-
-FILE_POS At91UartDrv_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign)
-{
- C_AT91UARTDRV *self;
- C_CHRFILE *pChrFile;
-
- /* upper cast */
- self = (C_AT91UARTDRV *)pDrvObj;
- pChrFile = (C_CHRFILE *)pFileObj;
-
- return FILE_ERR_NG;
-}
-
-
-/* end of file */
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file at91usartdrv.h
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
+ *
+ * Copyright (C) 2006-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#ifndef __HOS__at91usartdrv_h__
+#define __HOS__at91usartdrv_h__
+
+
+#include "system/sysapi/sysapi.h"
+#include "system/file/chrdrv.h"
+#include "library/container/stmbuf/stmbuf.h"
+
+
+/* UARTドライバ制御部 */
+typedef struct c_at91usartdrv
+{
+ C_CHRDRV ChrDrv; /* キャラクタ型デバイスドライバを継承 */
+
+ void *pRegBase; /* レジスタベースアドレス */
+ unsigned long ulBaseClock; /* ベースクロック */
+ int iIntNum; /* 割込み番号 */
+
+ int iOpenCount; /* オープンカウンタ */
+ SYSEVT_HANDLE hEvtSend; /* 送信イベント */
+ SYSEVT_HANDLE hEvtRecv; /* 受信イベント */
+ SYSMTX_HANDLE hMtxSend; /* 送信排他制御ミューテックス */
+ SYSMTX_HANDLE hMtxRecv; /* 受信排他制御ミューテックス */
+ C_STREAMBUF StmBufRecv; /* 受信バッファ */
+} C_AT91USARTDRV;
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void At91UsartDrv_Create(C_AT91USARTDRV *self, void *pRegBase, int iIntNum, unsigned long ulBaseClock, int iBufSize); /**< コンストラクタ */
+void At91UsartDrv_Delete(C_DRVOBJ *pDrvObj); /**< デストラクタ */
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __HOS__at91usartdrv_h__ */
+
+
+/* end of file */
/**
* Hyper Operating System Application Framework
*
- * @file at91uartdrv_close.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
+ * @file at91usartdrv_close.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
*
* Copyright (C) 2006-2007 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
-#include "at91uartdrv_local.h"
+#include "at91usartdrv_local.h"
/** クローズ */
-void At91UartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj)
+void At91UsartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj)
{
- C_AT91UARTDRV *self;
+ C_AT91USARTDRV *self;
C_CHRFILE *pChrFile;
/* upper cast */
- self = (C_AT91UARTDRV *)pDrvObj;
+ self = (C_AT91USARTDRV *)pDrvObj;
pChrFile = (C_CHRFILE *)pFileObj;
/* クローズ処理 */
/**
* Hyper Operating System Application Framework
*
- * @file at91uartdrv_create.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
+ * @file at91usartdrv_create.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
*
* Copyright (C) 2006-2007 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
-#include "at91uartdrv_local.h"
+#include "at91usartdrv_local.h"
/* 仮想関数テーブル */
-const T_DRVOBJ_METHODS At91UartDrv_Methods =
+const T_DRVOBJ_METHODS At91UsartDrv_Methods =
{
- At91UartDrv_Delete,
- At91UartDrv_Open,
- At91UartDrv_Close,
- At91UartDrv_IoControl,
- At91UartDrv_Seek,
- At91UartDrv_Read,
- At91UartDrv_Write,
- At91UartDrv_Flush,
+ At91UsartDrv_Delete,
+ At91UsartDrv_Open,
+ At91UsartDrv_Close,
+ At91UsartDrv_IoControl,
+ At91UsartDrv_Seek,
+ At91UsartDrv_Read,
+ At91UsartDrv_Write,
+ At91UsartDrv_Flush,
};
/** コンストラクタ */
-void At91UartDrv_Create(C_AT91UARTDRV *self, void *pRegBase, int iIntNum, unsigned long ulBaseClock, int iBufSize)
+void At91UsartDrv_Create(C_AT91USARTDRV *self, void *pRegBase, int iIntNum, unsigned long ulBaseClock, int iBufSize)
{
void *pMem;
/* 親クラスコンストラクタ呼び出し */
- ChrDrv_Create(&self->ChrDrv, &At91UartDrv_Methods);
+ ChrDrv_Create(&self->ChrDrv, &At91UsartDrv_Methods);
/* メンバ変数初期化 */
self->pRegBase = pRegBase;
/* 割込み処理登録 */
self->iIntNum = iIntNum;
- SysIsr_Create(iIntNum, At91UartDrv_Isr, (VPARAM)self);
+ SysIsr_Create(iIntNum, At91UsartDrv_Isr, (VPARAM)self);
}
/**
* Hyper Operating System Application Framework
*
- * @file at91uartdrv_delete.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
+ * @file at91usartdrv_delete.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
*
* Copyright (C) 2006-2007 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
-#include "at91uartdrv_local.h"
+#include "at91usartdrv_local.h"
/** デストラクタ */
-void At91UartDrv_Delete(C_DRVOBJ *pDrvObj)
+void At91UsartDrv_Delete(C_DRVOBJ *pDrvObj)
{
- C_AT91UARTDRV *self;
+ C_AT91USARTDRV *self;
void *pMem;
/* upper cast */
- self = (C_AT91UARTDRV *)pDrvObj;
+ self = (C_AT91USARTDRV *)pDrvObj;
/* 同期オブジェクト削除 */
SysEvt_Delete(self->hEvtRecv);
/**
* Hyper Operating System Application Framework
*
- * @file at91uartdrv_flash.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
+ * @file at91usartdrv_flash.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
*
* Copyright (C) 2006-2007 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
-#include "at91uartdrv_local.h"
+#include "at91usartdrv_local.h"
-FILE_ERR At91UartDrv_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj)
+FILE_ERR At91UsartDrv_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj)
{
- C_AT91UARTDRV *self;
+ C_AT91USARTDRV *self;
C_CHRFILE *pChrFile;
/* upper cast */
- self = (C_AT91UARTDRV *)pDrvObj;
+ self = (C_AT91USARTDRV *)pDrvObj;
pChrFile = (C_CHRFILE *)pFileObj;
return FILE_ERR_OK;
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file at91usartdrv_iocontrol.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
+ *
+ * Copyright (C) 2006-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "at91usartdrv_local.h"
+
+
+FILE_ERR At91UsartDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize)
+{
+ C_AT91USARTDRV *self;
+ C_CHRFILE *pChrFile;
+
+ /* upper cast */
+ self = (C_AT91USARTDRV *)pDrvObj;
+ pChrFile = (C_CHRFILE *)pFileObj;
+
+ return FILE_ERR_NG;
+}
+
+
+/* end of file */
/**
* Hyper Operating System Application Framework
*
- * @file at91uartdrv_isr.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
+ * @file at91usartdrv_isr.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
*
* Copyright (C) 2006-2007 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
-#include "at91uartdrv_local.h"
+#include "at91usartdrv_local.h"
/* 受信割り込み */
-void At91UartDrv_Isr(VPARAM Param)
+void At91UsartDrv_Isr(VPARAM Param)
{
- C_AT91UARTDRV *self;
+ C_AT91USARTDRV *self;
unsigned long uwCsr;
int c;
- self = (C_AT91UARTDRV *)Param;
+ self = (C_AT91USARTDRV *)Param;
- uwCsr = AT91UART_REG_READ(self, AT91UART_US_CSR);
+ uwCsr = AT91USART_REG_READ(self, AT91USART_US_CSR);
/* 受信 */
if ( uwCsr & 0x00000001 )
{
do
{
- c = AT91UART_REG_READ(self, AT91UART_US_RHR);
+ c = AT91USART_REG_READ(self, AT91USART_US_RHR);
StreamBuf_SendChar(&self->StmBufRecv, c);
- uwCsr = AT91UART_REG_READ(self, AT91UART_US_CSR);
+ uwCsr = AT91USART_REG_READ(self, AT91USART_US_CSR);
} while ( uwCsr & 0x00000001 );
SysEvt_Set(self->hEvtRecv);
/* 送信チェック */
if ( uwCsr & 0x00000002 )
{
- AT91UART_REG_WRITE(self, AT91UART_US_IDR, 0x00000002); /* 送信割り込み禁止 */
+ AT91USART_REG_WRITE(self, AT91USART_US_IDR, 0x00000002); /* 送信割り込み禁止 */
SysEvt_Set(self->hEvtSend);
}
}
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file at91usartdrv_local.h
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
+ *
+ * Copyright (C) 2006-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#ifndef __HOS__at91usartdrv_local_h__
+#define __HOS__at91usartdrv_local_h__
+
+
+#include "at91usartdrv.h"
+
+
+#define AT91USART_US_CR 0x00 /* Control Register */
+#define AT91USART_US_MR 0x04 /* Mode Register */
+#define AT91USART_US_IER 0x08 /* Interrupt Enable Register */
+#define AT91USART_US_IDR 0x0c /* Interrupt Disable Register */
+#define AT91USART_US_IMR 0x10 /* Interrupt Mask Register */
+#define AT91USART_US_CSR 0x14 /* Channel Status Register */
+#define AT91USART_US_RHR 0x18 /* Receiver Holding Register */
+#define AT91USART_US_THR 0x1c /* Transmitter Holding Register */
+#define AT91USART_US_BRGR 0x20 /* Baud Rate Generator Register */
+#define AT91USART_US_RTOR 0x24 /* Receiver Time-out Register */
+#define AT91USART_US_TTGR 0x28 /* Transmitter Time-guard Register */
+#define AT91USART_US_RPR 0x30 /* Receive Pointer Register */
+#define AT91USART_US_RCR 0x34 /* Receive Counter Register */
+#define AT91USART_US_TPR 0x38 /* Transmit Pointer Register */
+#define AT91USART_US_TCR 0x3c /* Transmit Counter Register */
+
+#define AT91USART_REG_WRITE(self, offset, val) do { *(unsigned long *)((char *)(self)->pRegBase + (offset)) = (val); } while(0)
+#define AT91USART_REG_READ(self, offset) (*((unsigned long *)((char *)(self)->pRegBase + (offset))))
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+HANDLE At91UsartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode);
+void At91UsartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj);
+FILE_ERR At91UsartDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize);
+FILE_POS At91UsartDrv_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign);
+FILE_SIZE At91UsartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size);
+FILE_SIZE At91UsartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size);
+FILE_ERR At91UsartDrv_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj);
+
+void At91UsartDrv_Isr(VPARAM Param); /* 割込み処理 */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __HOS__armuartdrv_h__ */
+
+
+/* end of file */
/**
* Hyper Operating System Application Framework
*
- * @file at91uartdrv_open.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
+ * @file at91usartdrv_open.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
*
* Copyright (C) 2006-2007 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
-#include "at91uartdrv_local.h"
+#include "at91usartdrv_local.h"
/** オープン */
-HANDLE At91UartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode)
+HANDLE At91UsartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode)
{
- C_AT91UARTDRV *self;
+ C_AT91USARTDRV *self;
C_CHRFILE *pChrFile;
/* upper cast */
- self = (C_AT91UARTDRV *)pDrvObj;
+ self = (C_AT91USARTDRV *)pDrvObj;
/* create file descriptor */
if ( (pChrFile = SysMem_Alloc(sizeof(*pChrFile))) == NULL )
/* オープン処理 */
if ( self->iOpenCount++ == 0 )
{
- AT91UART_REG_WRITE(self, AT91UART_US_MR, 0x000008c0); /* 8bit, non-paroty */
- AT91UART_REG_WRITE(self, AT91UART_US_CR, 0x00000050); /* enable */
- AT91UART_REG_WRITE(self, AT91UART_US_BRGR, 0x00000034);
+ AT91USART_REG_WRITE(self, AT91USART_US_MR, 0x000008c0); /* 8bit, non-paroty */
+ AT91USART_REG_WRITE(self, AT91USART_US_CR, 0x00000050); /* enable */
+ AT91USART_REG_WRITE(self, AT91USART_US_BRGR, 0x00000034);
SysInt_Enable(self->iIntNum);
}
/**
* Hyper Operating System Application Framework
*
- * @file at91uartdrv_read.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
+ * @file at91usartdrv_read.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
*
* Copyright (C) 2006-2007 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
-#include "at91uartdrv_local.h"
+#include "at91usartdrv_local.h"
/** %jp{受信} */
-FILE_SIZE At91UartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size)
+FILE_SIZE At91UsartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size)
{
- C_AT91UARTDRV *self;
+ C_AT91USARTDRV *self;
C_CHRFILE *pChrFile;
unsigned char *pubBuf;
FILE_SIZE i;
int c;
/* upper cast */
- self = (C_AT91UARTDRV *)pDrvObj;
+ self = (C_AT91USARTDRV *)pDrvObj;
pChrFile = (C_CHRFILE *)pFileObj;
pubBuf = (unsigned char *)pBuf;
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file at91usartdrv_seek.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
+ *
+ * Copyright (C) 2006-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "at91usartdrv_local.h"
+
+
+FILE_POS At91UsartDrv_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign)
+{
+ C_AT91USARTDRV *self;
+ C_CHRFILE *pChrFile;
+
+ /* upper cast */
+ self = (C_AT91USARTDRV *)pDrvObj;
+ pChrFile = (C_CHRFILE *)pFileObj;
+
+ return FILE_ERR_NG;
+}
+
+
+/* end of file */
/**
* Hyper Operating System Application Framework
*
- * @file at91uartdrv_write.c
- * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
+ * @file at91usartdrv_write.c
+ * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
*
* Copyright (C) 2006-2007 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
-#include "at91uartdrv_local.h"
+#include "at91usartdrv_local.h"
/** %jp{送信} */
-FILE_SIZE At91UartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size)
+FILE_SIZE At91UsartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size)
{
- C_AT91UARTDRV *self;
+ C_AT91USARTDRV *self;
C_CHRFILE *pChrFile;
const unsigned char *pubBuf;
FILE_SIZE i;
int c;
/* upper cast */
- self = (C_AT91UARTDRV *)pDrvObj;
+ self = (C_AT91USARTDRV *)pDrvObj;
pChrFile = (C_CHRFILE *)pFileObj;
pubBuf = (const unsigned char *)pData;
for ( i = 0; i < Size; i++ )
{
c = *pubBuf++;
- while ( !(AT91UART_REG_READ(self, AT91UART_US_CSR) & 0x0002) )
+ while ( !(AT91USART_REG_READ(self, AT91USART_US_CSR) & 0x0002) )
{
if ( pChrFile->cWriteMode == FILE_WMODE_BLOCKING )
{
/* ブロッキングなら送信割り込みを待つ */
- AT91UART_REG_WRITE(self, AT91UART_US_IER, 0x00000002); /* 送信割り込み許可 */
+ AT91USART_REG_WRITE(self, AT91USART_US_IER, 0x00000002); /* 送信割り込み許可 */
SysEvt_Wait(self->hEvtSend);
SysEvt_Clear(self->hEvtSend);
}
goto loop_end;
}
}
- AT91UART_REG_WRITE(self, AT91UART_US_THR, c);
+ AT91USART_REG_WRITE(self, AT91USART_US_THR, c);
}
loop_end: