[En-Nut-Discussion] Possible BUG in ARM usart driver or crt routines

Harald Kipp harald.kipp at egnite.de
Wed Sep 2 17:32:16 CEST 2009


Hi Ole,

Ole Reinhardt wrote:
> Hi Harald,
> 
>> Just tried that on Ethernut 3. Not exactly the behaviour you described,
>> but definitely broken. I'll look into it.
> 
> Thanks!

Not completely solved, but I found the reason.

Setting a different buffer size will not automatically adjust the low
and high watermarks. Using

    parm = 8;
    _ioctl(_fileno(uart1), UART_SETTXBUFSIZ, &parm);
    parm = 2;
    _ioctl(_fileno(uart1), UART_SETTXBUFLWMARK, &parm);
    parm = 6;
    _ioctl(_fileno(uart1), UART_SETTXBUFHWMARK, &parm);

should fix your current problem.

Harald



More information about the En-Nut-Discussion mailing list