Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

UART problem - RRDY never set

Altera_Forum
Honored Contributor II
1,928 Views

I have a simple polled UART application which is not working as I expect: 

 

rs232_rx_control = IORD_ALTERA_AVALON_UART_STATUS(UART_BASE); 

if (rs232_rx_control & ALTERA_AVALON_UART_STATUS_RRDY_MSK) 

*pBuffer = IORD_ALTERA_AVALON_UART_RXDATA(UART_BASE); 

return 1; 

 

The baud rate is 57600 and I am generating the characters manually, so speed isn't the problem. 

The problem is that RRDY is never being set. The characters are being received into RXDATA. They overwrite the previous received character. 

I don't see any receiver overruns, framing errors or detected breaks. 

Transmitting characters is no problem for me. 

 

0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
1,094 Views

Maybe looked at the others bits of the status register (PE, FE, BRK) to see if the error doesn't come from here.

0 Kudos
Altera_Forum
Honored Contributor II
1,094 Views

Solved this myself. 

 

I hadn't initialised the UART control register. I guess the default is to enable interrupts. 

 

With all interrupts disabled the code worked as expected.
0 Kudos
Altera_Forum
Honored Contributor II
1,094 Views

Solved this myself. 

 

I hadn't initialised the UART control register. I guess the default is to enable interrupts. 

 

With all interrupts disabled the code worked as expected.
0 Kudos
Altera_Forum
Honored Contributor II
1,094 Views

hey bmarshall, 

 

I'm facing the same problem, can you tell me how you initialised the UART control register and disabled interrupts.  

Thanx, 

Marek
0 Kudos
Altera_Forum
Honored Contributor II
1,094 Views

I've been on vacation. 

I no longer have this code. Current version is interrupt driven.
0 Kudos
Altera_Forum
Honored Contributor II
1,094 Views

No problem, I ended up understanding your previous post. By disabling the interrupts in the control register I got the code to work as expected. 

Regards, 

Marek
0 Kudos
Reply