From 8d5038068e02766021fb2ad693572c392b158b4c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 29 Jan 2009 14:57:22 +0000 Subject: 2009-01-29 Sebastian Huber * bsp_howto/console.t: Clarify interrupt transmit process. * user/concepts.t: Typo. --- doc/bsp_howto/console.t | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'doc/bsp_howto') diff --git a/doc/bsp_howto/console.t b/doc/bsp_howto/console.t index d23b66a79f..c855e0e180 100644 --- a/doc/bsp_howto/console.t +++ b/doc/bsp_howto/console.t @@ -370,7 +370,15 @@ static void my_driver_interrupt_handler( The @code{my_driver_interrupt_write} function is responsible for telling the device that the @code{n} characters at @code{buf} are to be transmitted. The -return value may be arbitrary since it is not checked from Termios. +return value may be arbitrary since it is not checked from Termios. It is +guaranteed that @code{n} is greater than zero. This routine is invoked either +from task context with disabled interrupts to start a new transmission process +with exactly one character in case of an idle output state or from the +interrupt handler to refill the transmitter. If the routine is invoked to +start the transmit process the output state will become busy and Termios starts +to fill the output buffer. If the transmit interrupt arises before Termios was +able to fill the transmit buffer you will end up with one interrupt per +character. @example @group -- cgit v1.2.3