- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, I am porting some code from Nios 1 to Nios 2 and I am stuck on the UART code. Here is the original code:
char poll_uart_rx( void )
{
int i;
i = nr_uart_rxchar( na_uart_0 );
if( i == -1 )
return( 0 );
else
return( (char) i );
}
The new Nios 2 documentation says to use getchar() or getc(). These both seem to be blocking reads. I need a non-blocking read. Looking through "altera_avalon_uart.c" I found that 'alt_avalon_uart_read' supports non-blocking reads, but what newlib call do I make to get a non-blocking read? Thanks
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I open device uart in non blocking mode:
static int fdterm; // FILEDESCRIPTOR RETURNED BY OPEN .. fdterm = open("/dev/uart1", O_RDWR | O_NONBLOCK | O_NOCTTY); .. reading is done by .. res=read(fdterm,uart1_tempbuff,sizeof(uart1_tempbuff)-1); if(res>0) { ... we have received some bytes }
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page