Fix incorrect XMEGA serial driver stream functions (thanks to William Patterson).

This commit is contained in:
Dean Camera
2015-05-17 13:01:13 +10:00
parent a9364a866f
commit 366a846156
4 changed files with 15 additions and 10 deletions
+7 -5
View File
@@ -95,19 +95,20 @@ void Serial_SendData(USART_t* const USART,
Serial_SendByte(USART, *((uint8_t*)Buffer++));
}
void Serial_CreateStream(FILE* Stream)
void Serial_CreateStream(USART_t* USART, FILE* Stream)
{
if (!(Stream))
{
Stream = &USARTSerialStream;
stdin = Stream;
stdout = Stream;
}
}
*Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
*Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
fdev_set_udata(Stream, USART);
}
void Serial_CreateBlockingStream(FILE* Stream)
void Serial_CreateBlockingStream(USART_t* USART, FILE* Stream)
{
if (!(Stream))
{
@@ -116,7 +117,8 @@ void Serial_CreateBlockingStream(FILE* Stream)
stdout = Stream;
}
*Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar_Blocking, _FDEV_SETUP_RW);
*Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar_Blocking, _FDEV_SETUP_RW);
fdev_set_udata(Stream, USART);
}
#endif