- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
I'm a newbie using Cypress platform and i'm currently developing an application where uses rs485 protocol, based on a UART component.
I'm guessing if there's any possibility to use the UART interrupt for RX and using Tx in blocking and polling mode. I mean, i want to check that UART has sent all the data, by checking UART_INTR_TX_UART_DONE without interrupts. Here an example:
uint8_t
Rs485_SendData( uint8_t *txbuf, uint16_t len ) {
uint16_t btosend, bsent;
btosend = len;
bsent = 0;
En_Tx();
while( btosend-- ) {
UART_UartPutChar( *( txbuf + bsent ) );
bsent++;
}
/* Here i want to check by polling if UART_INTR_TX_UART_DONE sets to enable Rx pin of driver */
En_Rx();
return bsent;
}
Any suggest?
Thanks in advance
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your code will work when you use UART_GetTxInterruptSource() (parentheses needed).
Additionally you will need to reset the interrupt cause at end of your handler using UART_ClearTxInterruptSource().
Bob