![]() |
![]() |
Functions | |
| CSL_Status | UART_init (CSL_UartObj *uartObj, Uint32 uartInstId, CSL_UartOpmode opmode) |
| CSL_Status | UART_setup (CSL_UartHandle hUart, CSL_UartSetup *uartSetup) |
| CSL_Status | UART_config (CSL_UartHandle hUart, CSL_UartConfig *uartConfig) |
| CSL_Status | UART_setupBaudRate (CSL_UartHandle hUart, Uint32 clkInput, Uint32 baudRate) |
| CSL_Status | UART_reset (CSL_UartHandle hUart) |
| CSL_Status | UART_resetOff (CSL_UartHandle hUart) |
| CSL_Status | UART_eventEnable (CSL_UartHandle hUart, CSL_UartEventType uartEvent) |
| CSL_Status | UART_eventDisable (CSL_UartHandle hUart, CSL_UartEventType uartEvent) |
| CSL_Status | UART_read (CSL_UartHandle hUart, Char *pBuf, Uint16 count, Uint32 timeout) |
| CSL_Status | UART_write (CSL_UartHandle hUart, Char *pBuf, Uint16 count, Uint32 timeout) |
| CSL_Status | UART_fgetc (CSL_UartHandle hUart, Char *elem, Uint32 timeout) |
| CSL_Status | UART_fputc (CSL_UartHandle hUart, const Char elem, Uint32 timeout) |
| CSL_Status | UART_fgets (CSL_UartHandle hUart, Char *pBuf, Uint16 bufSize, Uint32 timeout) |
| CSL_Status | UART_fputs (CSL_UartHandle hUart, const Char *pBuf, Uint32 timeout) |
| Int16 | UART_getEventId (CSL_UartHandle hUart) |
| CSL_Status | UART_getConfig (CSL_UartHandle hUart, CSL_UartConfig *config) |
| CSL_Status | UART_setCallback (CSL_UartHandle hUart, CSL_UartIsrAddr *isrAddr) |
| static Bool | UART_getDataReadyStatus (CSL_UartHandle hUart) |
| static Bool | UART_getXmitHoldRegEmptyStatus (CSL_UartHandle hUart) |
| static CSL_Status | UART_getRecvorResetStatus (CSL_UartHandle hUart) |
| static CSL_Status | UART_getXmitorResetState (CSL_UartHandle hUart) |
| static CSL_UartXferMode | UART_getModeOfTransfer (CSL_UartHandle hUart) |
| static CSL_Status | UART_setToIntMode (CSL_UartHandle hUart) |
| static CSL_Status | UART_setToPollMode (CSL_UartHandle hUart) |
| static CSL_Status | UART_enableFreeRun (CSL_UartHandle hUart) |
| static CSL_Status | UART_disableFreeRun (CSL_UartHandle hUart) |
| CSL_Status UART_config | ( | CSL_UartHandle | hUart, |
| CSL_UartConfig * | uartConfig | ||
| ) |
============================================================================
UART_config
Description
This is a low level API than UART_setup API. It's used to configure registers directly.
Arguments
hUart Handle to the UART.
pConfig Pointer to the CSL_UartConfig structure.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartConfig Config;
Config.DLL =
Config.DLH =
Config.LCR =
Config.FCR =
Config.MCR =
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
status = UART_config(CSL_UartHandle hUart,&Config);
============================================================================
============================================================================
UART_config
Description
This is a low level API which is used to confgiure registers DLL,DLH,FCR,MCR,LCR. Arguments
hUart Handle to the UART.
pConfig Pointer to the CSL_UartConfig structure.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
CSL_UartConfig Config;
CSL_UartSetup uartSetup;
uartInstId = 0;
Config.FCR = CSL_UART_FIFO_DMA1_DISABLE_TRIG01;
Config.DLL = 0x001b;
Config.DLH = 0x0006;
Config.LCR = 0x0003
Config.MCR = 0x0000;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj);
status = UART_reset(hUart);
status = UART_config(hUart,&Config);
status = UART_resetOff(hUart);
============================================================================
References CSL_UartConfig::DLH, CSL_UartConfig::DLL, CSL_UartConfig::FCR, CSL_UartConfig::LCR, CSL_UartConfig::MCR, CSL_UartObj::trigLevel, and CSL_UartObj::uartRegs.
| static CSL_Status UART_disableFreeRun | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_disableFreeRun
Description
This API is used to stop free running mode.
Arguments
hUart Handle to the uart
Return Value CSL_Status
Pre Condition
UART_init should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
status = UART_setup(hUart,&setup);
status = UUART_disableFreeRun(hUart);
============================================================================
References CSL_UartObj::uartRegs.
| static CSL_Status UART_enableFreeRun | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_enableFreeRun
Description
This API is used to start free running mode.
Arguments
hUart Handle to the uart
Return Value CSL_Status
Pre Condition
UART_init should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
CSL_UartConfig config;
uartInstId = 0;
config.FCR = CSL_UART_FIFO_DMA1_DISABLE_TRIG01;
config.DLL = 0x001b;
config.DLH = 0x0006;
config.LCR = 0x0003
config.MCR = 0x0000;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
status = UART_config(hUart,&config);
status = UART_resetOff(hUart);
status = UUART_enableFreeRun(hUart);
============================================================================
References CSL_UartObj::uartRegs.
| CSL_Status UART_eventDisable | ( | CSL_UartHandle | hUart, |
| CSL_UartEventType | uartEvent | ||
| ) |
============================================================================
UART_eventDisable
Description
This API is used to enable events like Receiver data availabe, Transmitter holding register empty
Arguments
hUart Handle to the UART.
isrMask Particular events can be disabled by setting correspoding
bits in the variable
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
Uint16 isrMask = 0x01;
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
status = UART_eventDisable(&uartObj,CSL_RTC_RECVOR_REG_DATA_INTERRUPT);
status = CSL_UartSetup( hUart,&uartSetup);
status = UART_eventEnable(hUart,CSL_RTC_XMITOR_REG_EMPTYINTERRUPT);
============================================================================
============================================================================
UART_eventDisable
Description
This API is used to enable events like Receiver data availabe, Transmitter holding register empty
Arguments
hUart Handle to the UART.
isrMask Particular events can be disabled by setting correspoding
bits in the variable
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
Uint16 isrMask = 0x01;
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
status = UART_eventDisable(&uartObj,CSL_UART_RECVOR_REG_DATA_INTERRUPT);
status = UART_setup( hUart,&uartSetup);
status = UART_eventEnable(hUart,CSL_UART_XMITOR_REG_EMPTYINTERRUPT);
============================================================================
References CSL_UART_RECVOR_LINE_STATUS_INTERRUPT, CSL_UART_RECVOR_REG_DATA_INTERRUPT, CSL_UART_XMITOR_REG_EMPTY_INTERRUPT, and CSL_UartObj::uartRegs.
| CSL_Status UART_eventEnable | ( | CSL_UartHandle | hUart, |
| CSL_UartEventType | uartEvent | ||
| ) |
============================================================================
UART_eventEnable
Description
This API is used to enable events like Receiver data availabe, Transmitter holding register empty
Arguments
hUart Handle to the UART.
isrMask Interested particular events can be enabled by setting the
correspoding bits in the variable
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartSetup uartSetup;
Uint16 isrMask = 0x01;
Uint32 uartInstId = 0x0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
status = UART_Setup( &uartObj,&uartSetup);
status = UART_eventEnable(&uartObj,CSL_RTC_RECVOR_REG_DATA_INTERRUPT)
============================================================================
============================================================================
UART_eventEnable
Description
This API is used to enable events like Receiver data availabe, Transmitter holding register empty
Arguments
hUart Handle to the UART.
isrMask Interested particular events can be enabled by setting the
correspoding bits in the variable
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartSetup uartSetup;
Uint16 isrMask = 0x01;
Uint32 uartInstId = 0x0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
status = UART_setup( &uartObj,&uartSetup);
status = UART_eventEnable(&uartObj,CSL_UART_RECVOR_REG_DATA_INTERRUPT)
============================================================================
References CSL_UART_RECVOR_LINE_STATUS_INTERRUPT, CSL_UART_RECVOR_REG_DATA_INTERRUPT, CSL_UART_XMITOR_REG_EMPTY_INTERRUPT, and CSL_UartObj::uartRegs.
| CSL_Status UART_fgetc | ( | CSL_UartHandle | hUart, |
| Char * | elem, | ||
| Uint32 | timeout | ||
| ) |
============================================================================
UART_fgetc
Description
UART_fgetc reads a single character from the RBR into elem.
Arguments
hUart Handle to the UART.
elem A size one buffer.
timeout Timeout value
0 - wait indefinitely for DR bit to get set.
x - wait x value for DR bit to get set.
Return Value CSL_Status
Modifies
Handle is modified
elem is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[1];
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = CSL_UartSetup( hUart,&uartSetup);
status = UART_fgetc(hUart,buf,200)
============================================================================
============================================================================
UART_fgetc
Description
UART_fgetc reads a single character from the RBR into elem.
Arguments
hUart Handle to the UART.
elem A size one buffer.
timeout Timeout value
0 - wait indefinitely for DR bit to get set.
x - wait x value for DR bit to get set.
Return Value CSL_Status
Modifies
Handle is modified
elem is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[1];
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = UART_setup( hUart,&uartSetup);
status = UART_fgetc(hUart,buf,200)
============================================================================
References CSL_EUART_TIMEOUT, UART_getDataReadyStatus(), and CSL_UartObj::uartRegs.
| CSL_Status UART_fgets | ( | CSL_UartHandle | hUart, |
| Char * | pBuf, | ||
| Uint16 | bufSize, | ||
| Uint32 | timeout | ||
| ) |
============================================================================
UART_fgets
Description
UART_fgets reads in at most one less than bufSize characters from RBR and stores them into the buffer pointed to by pBuf.Reading stops after a newline. If a newline is read, it is stored into the buffer. A "\0" is stored after the last character in the buffer. Arguments
hUart Handle to the UART.
pBuf Output buffer
bufSize Size of output buffer
timeout Timeout value
0 - wait indefinitely for DR bit to get set.
x - wait x value for DR bit to get set.
Return Value CSL_Status
Modifies
Handle is modified
pBuf is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[12];
Uint16 N = 12;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = CSL_UartSetup( hUart,&uartSetup);
status = UART_fgets(hUart,buf,N,100) ;
============================================================================
============================================================================
UART_fgets
Description
UART_fgets reads in at most one less than bufSize characters from RBR and stores them into the buffer pointed to by pBuf.Reading stops after a newline. If a newline is read, it is stored into the buffer. A '\0' is stored after the last character in the buffer. Arguments
hUart Handle to the UART.
pBuf Output buffer
bufSize Size of output buffer
timeout Timeout value
0 - wait indefinitely for DR bit to get set.
x - wait x value for DR bit to get set.
Return Value CSL_Status
Modifies
Handle is modified
pBuf is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[12];
Uint16 N = 12;
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = CSL_UartSetup( hUart,&uartSetup);
status = UART_fgets(hUart,buf,N,100) ;
============================================================================
References CSL_EUART_INVALID_BUFSIZE, CSL_EUART_TIMEOUT, UART_getDataReadyStatus(), and CSL_UartObj::uartRegs.
| CSL_Status UART_fputc | ( | CSL_UartHandle | hUart, |
| const Char | elem, | ||
| Uint32 | timeout | ||
| ) |
============================================================================
UART_fputc
Description
UART_fputc writes a single character to THR(Transmitter Holding Register).
Arguments
hUart Handle to the UART.
elem Character to transmit
timeout Timeout value
0 - wait indefinitely for THRE bit to get set.
x - wait x value for THRE bit to get set.
Return Value CSL_Status
Modifies
Handle is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[1];
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = CSL_UartSetup( hUart,&uartSetup);
status = UART_fputc(hUart,buf[0],200)
============================================================================
============================================================================
UART_fputc
Description
UART_fputc writes a single character to THR(Transmitter Holding Register).
Arguments
hUart Handle to the UART.
elem Character to transmit
timeout Timeout value
0 - wait indefinitely for THRE bit to get set.
x - wait x value for THRE bit to get set.
Return Value CSL_Status
Modifies
Handle is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[1];
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = UART_setup( hUart,&uartSetup);
status = UART_fputc(hUart,buf[0],200)
============================================================================
References CSL_EUART_TIMEOUT, UART_getXmitHoldRegEmptyStatus(), and CSL_UartObj::uartRegs.
| CSL_Status UART_fputs | ( | CSL_UartHandle | hUart, |
| const Char * | pBuf, | ||
| Uint32 | timeout | ||
| ) |
============================================================================
UART_fputs
Description
UART_fputs writes the string pointed by pBuf to THR, without its trailing "\0".
Arguments
hUart Handle to the UART.
pBuf Input buffer
timeout Timeout value
0 - wait indefinitely for THRE bit to get set.
x - wait x value for THRE bit to get set.
Return Value CSL_Status
Modifies
Handle is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[12] ="Test";
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = UART_Setup( hUart,&uartSetup);
status = UART_fputs(hUart,buf);
============================================================================
============================================================================
UART_fputs
Description
UART_fputs writes the string pointed by pBuf to THR, without its trailing '\0'.
Arguments
hUart Handle to the UART.
pBuf Input buffer
timeout Timeout value
0 - wait indefinitely for THRE bit to get set.
x - wait x value for THRE bit to get set.
Return Value CSL_Status
Modifies
Handle is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[12] ="Test";
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = UART_setup( hUart,&uartSetup);
status = UART_fputs(hUart,buf);
============================================================================
References CSL_EUART_TIMEOUT, UART_getXmitHoldRegEmptyStatus(), and CSL_UartObj::uartRegs.
| CSL_Status UART_getConfig | ( | CSL_UartHandle | hUart, |
| CSL_UartConfig * | config | ||
| ) |
============================================================================
UART_getEventId
Description
UART_getEventId returns the event id in the Handle.
Arguments
None
Return Value Uint16
Modifies
None Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
Uint16 uartEvtId;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
uartEvtId = UART_getEventId();
============================================================================
============================================================================
UART_getConfig
Description
UART_getEventId returns the event id in the Handle.
Arguments
None
Return Value Uint16
Modifies
None Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
Uint16 uartEvtId;
CSL_UartSetup uartSetup;
CSL_UartConfig getconfig;
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
status = UART_Setup(hUart,&uartSetup);
status = UART_getConfig(hUart,&getconfig);
============================================================================
References CSL_UartConfig::DLH, CSL_UartConfig::DLL, CSL_UartConfig::FCR, CSL_UartConfig::LCR, CSL_UartConfig::MCR, and CSL_UartObj::uartRegs.
| static Bool UART_getDataReadyStatus | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_getDataReadyStatus
Description
This API is used to get the status of DR bit in LSR reg
Arguments
hUart Handle to the uart
Return Value Bool
Pre Condition
UART_init should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
Bool bStatus;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
bStatus = UART_getDataReadyStatus(hUart);
============================================================================
References CSL_UartObj::uartRegs.
Referenced by UART_fgetc(), UART_fgets(), and UART_read().
| Int16 UART_getEventId | ( | CSL_UartHandle | hUart | ) |
============================================================================
UART_getEventId
Description
UART_getEventId returns the event id.
Arguments
None
Return Value Int16
Modifies
None Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint16 uartEvtId;
Uint32 uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)(&uartObj);
uartEvtId = UART_getEventId(hUart);
============================================================================
============================================================================
UART_getEventId
Description
UART_getEventId returns the event id in the Handle.
Arguments
None
Return Value Uint16
Modifies
None Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint16 uartEvtId;
Uint32 uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)(&uartObj);
uartEvtId = UART_getEventId(hUart);
============================================================================
References CSL_UartObj::uartRegs.
| static CSL_UartXferMode UART_getModeOfTransfer | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_getModeOfTransfer
Description
This API is used to get Xfer mode of UART in ,Fifo mode or non fifo mode.
Arguments
hUart Handle to the uart
Return Value CSL_UartXferMode
Pre Condition
UART_init and UART_setup should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
CSL_UartXferMode uartXferMode;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
uartSetup.....
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
status = UART_setup(hUart,&uartSetup);
uartXferMode = UART_getModeOfTransfer(hUart);
============================================================================
References CSL_UART_FIFO_MODE, CSL_UART_MODE_UNDEFINED, CSL_UART_NON_FIFO_MODE, and CSL_UartObj::uartRegs.
Referenced by UART_write().
| static CSL_Status UART_getRecvorResetStatus | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_getRecvorResetStatus
Description
This API is used to get the Receiver reset status
Arguments
hUart Handle to the uart
Return Value Bool
Pre Condition
UART_init should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
Bool bStatus;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
bStatus = UART_getRecvorResetStatus(hUart);
============================================================================
References CSL_UartObj::uartRegs.
| static Bool UART_getXmitHoldRegEmptyStatus | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_getXmitHoldRegEmptyStatus
Description
This API is used to get the status of THRE bit in LSR reg
Arguments
hUart Handle to the uart
Return Value Bool
Pre Condition
UART_init should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
Bool bStatus;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
bStatus = UART_getXmitHoldRegEmptyStatus(hUart);
============================================================================
References CSL_UartObj::uartRegs.
Referenced by UART_fputc(), UART_fputs(), and UART_write().
| static CSL_Status UART_getXmitorResetState | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_getXmitorResetState
Description
This API is used to get the Receiver reset status
Arguments
hUart Handle to the uart
Return Value Bool
Pre Condition
UART_init should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
Bool bStatus;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
bStatus = UART_getXmitorResetState(hUart);
============================================================================
References CSL_UartObj::uartRegs.
| CSL_Status UART_init | ( | CSL_UartObj * | uartObj, |
| Uint32 | uartInstId, | ||
| CSL_UartOpmode | opmode | ||
| ) |
============================================================================
UART_init
Description
This is the initialization function for the uart CSL. The function must be called before calling any other API from this CSL. This will initialize the uart object. Arguments
uartInstId Instance number of the uart
uartObj Pointer to the uart object
opmode Operation mode of uart
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartOpmode opmode = UART_POLLED;
uartInstId = CSL_UART_INST_0;
status = UART_init(&uartObj,uartInstId);
============================================================================
Enable Master clock
Enable uart peripheral clock gating
Resetting UART module
References CSL_EUART_INVALID_INST_ID, CSL_UART_INST_0, CSL_UART_INST_INVALID, CSL_UartObj::insId, CSL_UartObj::opmode, CSL_UartObj::sysAddr, UART_OPMODE_OTHER, and CSL_UartObj::uartRegs.
| CSL_Status UART_read | ( | CSL_UartHandle | hUart, |
| Char * | pBuf, | ||
| Uint16 | count, | ||
| Uint32 | timeout | ||
| ) |
============================================================================
UART_read
Description
UART_read attempts to read up to count characters from RBR(Recieve Buffer Register) into the buffer starting at pBuf
Arguments
hUart Handle to the UART.
pBuf Output buffer
count No of characters to read.
timeout Timeout value
0 - wait indefinitely for DR bit to get set.
x - wait x value for DR bit to get set.
Return Value CSL_Status
Modifies
Handle is modified
bBuf is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[12];
Uint16 N = 12;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = CSL_UartSetup( hUart,&uartSetup);
status = UART_read(hUart,buf,N,1000) ;
============================================================================
============================================================================
UART_read
Description
UART_read attempts to read up to count characters from RBR(Recieve Buffer Register) into the buffer starting at pBuf in polled mode. In interrupt mode,only charater it will read . Arguments
hUart Handle to the UART.
pBuf Output buffer
count No of characters to read.
timeout Timeout value
0 - wait indefinitely for DR bit to get set.
x - wait x value for DR bit to get set.
Return Value CSL_Status
Modifies
Handle is modified
bBuf is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[12];
Uint16 N = 12;
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = UART_setup( hUart,&uartSetup);
status = UART_read(hUart,buf,N,1000) ;
============================================================================
References CSL_EUART_TIMEOUT, CSL_UartObj::opmode, UART_getDataReadyStatus(), UART_POLLED, and CSL_UartObj::uartRegs.
| CSL_Status UART_reset | ( | CSL_UartHandle | hUart | ) |
============================================================================
UART_reset
Description
This API is used to reset the UART receiver and transmitter.
Arguments
hUart Handle to the UART.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
Bool brecvstatus;
Bool bxmitstatus;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = CSL_UartHandle(&uartObj);
status = UART_resetOff(hUart);
status = UART_reset(hUart);
brecvstatus = UART_getRecvorResetStatus(hUart);
bxmitstatus = UART_getXmitorResetState(hUart);
============================================================================
============================================================================
UART_reset
Description
This API is used to reset the UART receiver and transmitter.
Arguments
hUart Handle to the UART.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
CSL_UartConfig Config;
Uint32 uartInstId;
Bool brecvstatus;
Bool bxmitstatus;
uartInstId = 0;
Config.FCR = CSL_UART_FIFO_DMA1_DISABLE_TRIG01;
Config.DLL = 0x001b;
Config.DLH = 0x0006;
Config.LCR = 0x0003
Config.MCR = 0x0000;
status = UART_init(&uartObj,uartInstId);
hUart = CSL_UartHandle(&uartObj);
status = UART_reset(hUart);
status = UART_config(hUart,&Config);
status = UART_resetOff(hUart);
brecvstatus = UART_getRecvorResetStatus(hUart);
bxmitstatus = UART_getXmitorResetState(hUart);
============================================================================
References CSL_UartObj::uartRegs.
| CSL_Status UART_resetOff | ( | CSL_UartHandle | hUart | ) |
============================================================================
UART_resetOff
Description
This API is used to set the UART receiver and transmitter.
Arguments
hUart Handle to the UART.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
Bool brecvstatus;
Bool bxmitstatus;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = CSL_UartHandle(&uartObj);
status = UART_resetOff(hUart);
brecvstatus = UART_getRecvorResetStatus(hUart);
bxmitstatus = UART_getXmitorResetState(hUart);
============================================================================
============================================================================
UART_resetOff
Description
This API is used to set the UART receiver and transmitter.
Arguments
hUart Handle to the UART.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
Bool brecvstatus;
Bool bxmitstatus;
uartInstId = 0;
config.FCR = CSL_UART_FIFO_DMA1_DISABLE_TRIG01;
config.DLL = 0x001b;
config.DLH = 0x0006;
config.LCR = 0x0003
config.MCR = 0x0000;
status = UART_init(&uartObj,uartInstId);
hUart = CSL_UartHandle(&uartObj);
status = UART_reset(hUart);
status = UART_config(hUart,&Config);
status = UART_resetOff(hUart);
brecvstatus = UART_getRecvorResetStatus(hUart);
bxmitstatus = UART_getXmitorResetState(hUart);
============================================================================
References CSL_UartObj::uartRegs.
| CSL_Status UART_setCallback | ( | CSL_UartHandle | hUart, |
| CSL_UartIsrAddr * | isrAddr | ||
| ) |
============================================================================
UART_setCallback
Description
UART_setCallback will set call back functions in isrDispatchTable.
Arguments
hUart - Handle to the UART.
isrAddr - pointer to the CSL_UartIsrAddr.
Return Value CSL_Status
Modifies
hUart Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartHandle hUart;
CSL_UartIsrAddr isrAddr;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = UART_setCallback(hUart,&isrAddr);
============================================================================
References CSL_UartIsrAddr::ctoi, CSL_UartIsrAddr::lsiAddr, CSL_UartIsrAddr::rbiAddr, CSL_UartIsrAddr::tbeiAddr, UART_EVT_CTOI_IID, UART_EVT_LSI_IID, UART_EVT_RBI_IID, UART_EVT_TBEI_IID, and CSL_UartObj::UART_isrDispatchTable.
| static CSL_Status UART_setToIntMode | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_setToIntMode
Description
This API is used to set the interrupt mode.
Arguments
hUart Handle to the uart
Return Value CSL_Status
Pre Condition
UART_init should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
status = UART_setToIntMode(hUart);
============================================================================
References CSL_UartObj::opmode, and UART_INTERRUPT.
| static CSL_Status UART_setToPollMode | ( | CSL_UartHandle | hUart | ) | [inline, static] |
============================================================================
UART_setToPollMode
Description
This API is used to switch to the poll mode.
Arguments
hUart Handle to the uart
Return Value CSL_Status
Pre Condition
UART_init should be called successfully.
Post Condition
none
Modifies
none
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = &uartObj;
status = UART_setToPollMode(hUart);
============================================================================
References CSL_UartObj::opmode, and UART_POLLED.
| CSL_Status UART_setup | ( | CSL_UartHandle | hUart, |
| CSL_UartSetup * | uartSetup | ||
| ) |
============================================================================
UART_setup
Description
The main function of this API is to setup the baud rate,configure fifo,enable transmitter and receiver UART setup word size,stop bits and parity.
Arguments
hUart Handle to the UART.
uartSetup Pointer to the UART_Setup structure.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
status = UART_setup(CSL_UartHandle hUart,&uartSetup);
============================================================================
============================================================================
UART_setup
Description
The main function of this API is to setup the baud rate,configure fifo,enable transmitter and receiver UART setup word size,stop bits and parity.
Arguments
hUart Handle to the UART.
uartSetup Pointer to the CSL_UartSetup structure.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_setup(CSL_UartHandle hUart,&uartSetup);
============================================================================
Putting UART recvor and xmittor in reset state
References CSL_UartSetup::afeEnable, CSL_UartSetup::baud, CSL_UartSetup::clkInput, CSL_EUART_INVALID_WORDLENGTH, CSL_UART_CLK_DIVIDER, CSL_UART_DISABLE_PARITY, CSL_UART_EVEN_PARITY, CSL_UART_MARK_PARITY, CSL_UART_ODD_PARITY, CSL_UART_SPACE_PARITY, CSL_UART_WORD5, CSL_UART_WORD6, CSL_UART_WORD7, CSL_UART_WORD8, CSL_UartSetup::fifoControl, CSL_UartSetup::loopBackEnable, CSL_UartSetup::parity, CSL_UartSetup::rtsEnable, CSL_UartSetup::stopBits, CSL_UartObj::trigLevel, CSL_UartObj::uartRegs, and CSL_UartSetup::wordLength.
| CSL_Status UART_setupBaudRate | ( | CSL_UartHandle | hUart, |
| Uint32 | clkInput, | ||
| Uint32 | baudRate | ||
| ) |
============================================================================
UART_setupBaudRate
Description
This API is used to set the baud rate.
Arguments
hUart Handle to the UART
clkInput Input clock frequency in Hz
baudRate Baud rate.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
UART_baud uartBaud;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
uartBaud.clkInput = 60000000;
uartBaud.baudRate = 2400;
status = UART_setupBaudRate(CSL_UartHandle hUart,&Config);
============================================================================
============================================================================
UART_setupBaudRate
Description
This API is used to set the baud rate.
Arguments
hUart Handle to the UART
clkInput Input clock frequency in Hz
baudRate Baud rate.
Return Value CSL_Status
Modifies
Handle is modified
Example
CSL_Status status;
CSL_UartObj uartObj;
CSL_UartHandle hUart;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = UART_setup(hUart,&uartSetup);
status = UART_setupBaudRate(hUart,60000000,4800);
============================================================================
References CSL_UART_CLK_DIVIDER, and CSL_UartObj::uartRegs.
| CSL_Status UART_write | ( | CSL_UartHandle | hUart, |
| Char * | pBuf, | ||
| Uint16 | count, | ||
| Uint32 | timeout | ||
| ) |
============================================================================
UART_write
Description
UART_write writes up to count characters to the THR(Transmitter Holding Register) from the buffer starting at pBuf
Arguments
hUart Handle to the UART.
pBuf Input buffer
count No of characters to write.
timeout Timeout value
0 - wait indefinitely for THRE bit to get set.
x - wait x value for THRE bit to get set.
Return Value CSL_Status
Modifies
Handle is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[12];
Uint16 N = 12;
uartInstId = 0;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = CSL_UartSetup( hUart,&uartSetup);
status = UART_write(hUart,buf,N,1000) ;
============================================================================
============================================================================
UART_write
Description
UART_write writes up to count characters to the THR(Transmitter Holding Register) from the buffer starting at pBuf In interrupt mode maximum of 16 charaters it will write Arguments
hUart Handle to the UART.
pBuf Input buffer
count No of characters to write.
timeout Timeout value
0 - wait indefinitely for THRE bit to get set.
x - wait x value for THRE bit to get set.
Return Value CSL_Status
Modifies
Handle is modified Example
CSL_Status status;
CSL_UartObj uartObj;
Uint32 uartInstId;
CSL_UartSetup uartSetup;
CSL_UartHandle hUart;
Char buf[12];
Uint16 N = 12;
uartInstId = 0;
uartSetup.afeEnable = CSL_UART_NO_AFE;
uartSetup.baud = 2400;
uartSetup.clkInput = 60000000;
uartSetup.fifoControl = CSL_UART_FIFO_DISABLE;
uartSetup.loopBackEnable = CSL_UART_NO_LOOPBACK;
uartSetup.parity = CSL_UART_DISABLE_PARITY;
uartSetup.rtsEnable = CSL_UART_NO_RTS;
uartSetup.stopBits = 0;
uartSetup.wordLength = CSL_UART_WORD8;
status = UART_init(&uartObj,uartInstId);
hUart = (CSL_UartHandle)&uartObj;
status = UART_setup( hUart,&uartSetup);
status = UART_write(hUart,buf,N,1000) ;
============================================================================
References CSL_EUART_TIMEOUT, CSL_UART_FIFO_MODE, CSL_UART_NON_FIFO_MODE, CSL_UartObj::opmode, UART_getModeOfTransfer(), UART_getXmitHoldRegEmptyStatus(), UART_POLLED, and CSL_UartObj::uartRegs.
1.7.4