This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: UART communication
- To: Andreas dot Karlsson at combitechsystems dot com
- Subject: Re: [ECOS] UART communication
- From: "Dave Airlie" <airlied at parthus dot com>
- Date: 5 Sep 2000 16:59:53 +0100
- Cc: ecos-discuss at sourceware dot cygnus dot com, aeb at arm dot com
With eCos on the ARM AEB you cannot choose 57600, I up came against
something similiar a while back.. check the return from
cyg_io_set_config I found it by tracing the code ...
I think you can use a different clock multiplier to get 57600 but it
involves changing eCos code...
Dave.
On Tue, 5 Sep 2000 Andreas.Karlsson@combitechsystems.com wrote:
> Hi,
>
> While receiving several bytes on the UART0 port on my AEB-board the
> eCos-serialdriver says it only received 1 byte with the value of 0.
>
> The incoming data looks very nice on an oscilloscope.
>
> Just to be sure that I hadn't messed something up in my receiver-thread I
> connected the TX and the RX pin and sent 4 bytes, the packet was received
> just as it should.
>
>
>
> I compiled the ser0 with a baud rate of 57600 since that's the only one I
> can use. The other settings are 1 stop bit, no parity, wordsize=8 and
> CTS/RTS enabled.
>
> I noticed that the baudrate of 57600 wasn't supported in aeb_serial.h but
> what happens when I make this selection in the configuration?
>
> To be able to enable CTS/RTS I had to modify the select_baud-array in
> aeb_serial.h. This because I should be able to set all fields in the
> cyg_serial_info_t struct. I added the value of 26 on the bauddivisor for
> 57600, maybe this is the problem.
>
> I really don't know what could be wrong so if anybody has a clue...
>
> /Andreas
>
--
David Airlie, Software Engineer, Parthus Technologies plc.,
Mary Rosse Centre, National Tech Park, Limerick, Ireland.
t: +353-61-508116 / f: +353-61-508101 / David.Airlie@parthus.com