X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/3a00e41639f06bd096f7437c951caf8b0dd46848..e7e45baef1a7846fde7004b2ec045eef2e4261d1:/LUFA/Drivers/Peripheral/AVR8/Serial_AVR8.c?ds=sidebyside diff --git a/LUFA/Drivers/Peripheral/AVR8/Serial_AVR8.c b/LUFA/Drivers/Peripheral/AVR8/Serial_AVR8.c index 7b7f5d61f..89d75bf85 100644 --- a/LUFA/Drivers/Peripheral/AVR8/Serial_AVR8.c +++ b/LUFA/Drivers/Peripheral/AVR8/Serial_AVR8.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2011. + Copyright (C) Dean Camera, 2012. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -28,6 +28,9 @@ this software. */ +#include "../../../Common/Common.h" +#if (ARCH == ARCH_AVR8) + #define __INCLUDE_FROM_SERIAL_C #include "../Serial.h" @@ -82,8 +85,35 @@ void Serial_SendString(const char* StringPtr) } } -void Serial_SendData(const uint8_t* Buffer, uint16_t Length) +void Serial_SendData(const uint8_t* Buffer, + uint16_t Length) { while (Length--) Serial_SendByte(*(Buffer++)); } + +void Serial_CreateStream(FILE* Stream) +{ + if (!(Stream)) + { + Stream = &USARTSerialStream; + stdin = Stream; + stdout = Stream; + } + + *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW); +} + +void Serial_CreateBlockingStream(FILE* Stream) +{ + if (!(Stream)) + { + Stream = &USARTSerialStream; + stdin = Stream; + stdout = Stream; + } + + *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar_Blocking, _FDEV_SETUP_RW); +} + +#endif