You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
885 lines
18 KiB
885 lines
18 KiB
# 1 "uart_stream.c"
|
|
# 1 "/home/ondra/git/avr-lib/examples//"
|
|
# 1 "<built-in>"
|
|
# 1 "<command-line>"
|
|
# 1 "uart_stream.c"
|
|
|
|
|
|
|
|
|
|
# 1 "/usr/avr/include/avr/io.h" 1 3
|
|
# 99 "/usr/avr/include/avr/io.h" 3
|
|
# 1 "/usr/avr/include/avr/sfr_defs.h" 1 3
|
|
# 126 "/usr/avr/include/avr/sfr_defs.h" 3
|
|
# 1 "/usr/avr/include/inttypes.h" 1 3
|
|
# 37 "/usr/avr/include/inttypes.h" 3
|
|
# 1 "/usr/lib/gcc/avr/4.9.2/include/stdint.h" 1 3 4
|
|
# 9 "/usr/lib/gcc/avr/4.9.2/include/stdint.h" 3 4
|
|
# 1 "/usr/avr/include/stdint.h" 1 3 4
|
|
# 122 "/usr/avr/include/stdint.h" 3 4
|
|
typedef signed int int8_t __attribute__((__mode__(__QI__)));
|
|
typedef unsigned int uint8_t __attribute__((__mode__(__QI__)));
|
|
typedef signed int int16_t __attribute__ ((__mode__ (__HI__)));
|
|
typedef unsigned int uint16_t __attribute__ ((__mode__ (__HI__)));
|
|
typedef signed int int32_t __attribute__ ((__mode__ (__SI__)));
|
|
typedef unsigned int uint32_t __attribute__ ((__mode__ (__SI__)));
|
|
|
|
typedef signed int int64_t __attribute__((__mode__(__DI__)));
|
|
typedef unsigned int uint64_t __attribute__((__mode__(__DI__)));
|
|
# 143 "/usr/avr/include/stdint.h" 3 4
|
|
typedef int16_t intptr_t;
|
|
|
|
|
|
|
|
|
|
typedef uint16_t uintptr_t;
|
|
# 160 "/usr/avr/include/stdint.h" 3 4
|
|
typedef int8_t int_least8_t;
|
|
|
|
|
|
|
|
|
|
typedef uint8_t uint_least8_t;
|
|
|
|
|
|
|
|
|
|
typedef int16_t int_least16_t;
|
|
|
|
|
|
|
|
|
|
typedef uint16_t uint_least16_t;
|
|
|
|
|
|
|
|
|
|
typedef int32_t int_least32_t;
|
|
|
|
|
|
|
|
|
|
typedef uint32_t uint_least32_t;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef int64_t int_least64_t;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef uint64_t uint_least64_t;
|
|
# 214 "/usr/avr/include/stdint.h" 3 4
|
|
typedef int8_t int_fast8_t;
|
|
|
|
|
|
|
|
|
|
typedef uint8_t uint_fast8_t;
|
|
|
|
|
|
|
|
|
|
typedef int16_t int_fast16_t;
|
|
|
|
|
|
|
|
|
|
typedef uint16_t uint_fast16_t;
|
|
|
|
|
|
|
|
|
|
typedef int32_t int_fast32_t;
|
|
|
|
|
|
|
|
|
|
typedef uint32_t uint_fast32_t;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef int64_t int_fast64_t;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef uint64_t uint_fast64_t;
|
|
# 274 "/usr/avr/include/stdint.h" 3 4
|
|
typedef int64_t intmax_t;
|
|
|
|
|
|
|
|
|
|
typedef uint64_t uintmax_t;
|
|
# 10 "/usr/lib/gcc/avr/4.9.2/include/stdint.h" 2 3 4
|
|
# 38 "/usr/avr/include/inttypes.h" 2 3
|
|
# 77 "/usr/avr/include/inttypes.h" 3
|
|
typedef int32_t int_farptr_t;
|
|
|
|
|
|
|
|
typedef uint32_t uint_farptr_t;
|
|
# 127 "/usr/avr/include/avr/sfr_defs.h" 2 3
|
|
# 100 "/usr/avr/include/avr/io.h" 2 3
|
|
# 248 "/usr/avr/include/avr/io.h" 3
|
|
# 1 "/usr/avr/include/avr/iom328p.h" 1 3
|
|
# 249 "/usr/avr/include/avr/io.h" 2 3
|
|
# 534 "/usr/avr/include/avr/io.h" 3
|
|
# 1 "/usr/avr/include/avr/portpins.h" 1 3
|
|
# 535 "/usr/avr/include/avr/io.h" 2 3
|
|
|
|
# 1 "/usr/avr/include/avr/common.h" 1 3
|
|
# 537 "/usr/avr/include/avr/io.h" 2 3
|
|
|
|
# 1 "/usr/avr/include/avr/version.h" 1 3
|
|
# 539 "/usr/avr/include/avr/io.h" 2 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 1 "/usr/avr/include/avr/fuse.h" 1 3
|
|
# 239 "/usr/avr/include/avr/fuse.h" 3
|
|
typedef struct
|
|
{
|
|
unsigned char low;
|
|
unsigned char high;
|
|
unsigned char extended;
|
|
} __fuse_t;
|
|
# 546 "/usr/avr/include/avr/io.h" 2 3
|
|
|
|
|
|
# 1 "/usr/avr/include/avr/lock.h" 1 3
|
|
# 549 "/usr/avr/include/avr/io.h" 2 3
|
|
# 6 "uart_stream.c" 2
|
|
# 1 "/usr/avr/include/util/delay.h" 1 3
|
|
# 43 "/usr/avr/include/util/delay.h" 3
|
|
# 1 "/usr/avr/include/util/delay_basic.h" 1 3
|
|
# 40 "/usr/avr/include/util/delay_basic.h" 3
|
|
static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
|
|
static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));
|
|
# 80 "/usr/avr/include/util/delay_basic.h" 3
|
|
void
|
|
_delay_loop_1(uint8_t __count)
|
|
{
|
|
__asm__ volatile (
|
|
"1: dec %0" "\n\t"
|
|
"brne 1b"
|
|
: "=r" (__count)
|
|
: "0" (__count)
|
|
);
|
|
}
|
|
# 102 "/usr/avr/include/util/delay_basic.h" 3
|
|
void
|
|
_delay_loop_2(uint16_t __count)
|
|
{
|
|
__asm__ volatile (
|
|
"1: sbiw %0,1" "\n\t"
|
|
"brne 1b"
|
|
: "=w" (__count)
|
|
: "0" (__count)
|
|
);
|
|
}
|
|
# 44 "/usr/avr/include/util/delay.h" 2 3
|
|
# 1 "/usr/avr/include/math.h" 1 3
|
|
# 127 "/usr/avr/include/math.h" 3
|
|
extern double cos(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double sin(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double tan(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double fabs(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double fmod(double __x, double __y) __attribute__((__const__));
|
|
# 168 "/usr/avr/include/math.h" 3
|
|
extern double modf(double __x, double *__iptr);
|
|
|
|
|
|
|
|
extern float modff (float __x, float *__iptr);
|
|
|
|
|
|
|
|
|
|
extern double sqrt(double __x) __attribute__((__const__));
|
|
extern float sqrtf (float) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
extern double cbrt(double __x) __attribute__((__const__));
|
|
# 194 "/usr/avr/include/math.h" 3
|
|
extern double hypot (double __x, double __y) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double square(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double floor(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double ceil(double __x) __attribute__((__const__));
|
|
# 234 "/usr/avr/include/math.h" 3
|
|
extern double frexp(double __x, int *__pexp);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double ldexp(double __x, int __exp) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double exp(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double cosh(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double sinh(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double tanh(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double acos(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double asin(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double atan(double __x) __attribute__((__const__));
|
|
# 298 "/usr/avr/include/math.h" 3
|
|
extern double atan2(double __y, double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double log(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double log10(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern double pow(double __x, double __y) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern int isnan(double __x) __attribute__((__const__));
|
|
# 333 "/usr/avr/include/math.h" 3
|
|
extern int isinf(double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__attribute__((__const__)) static inline int isfinite (double __x)
|
|
{
|
|
unsigned char __exp;
|
|
__asm__ (
|
|
"mov %0, %C1 \n\t"
|
|
"lsl %0 \n\t"
|
|
"mov %0, %D1 \n\t"
|
|
"rol %0 "
|
|
: "=r" (__exp)
|
|
: "r" (__x) );
|
|
return __exp != 0xff;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__attribute__((__const__)) static inline double copysign (double __x, double __y)
|
|
{
|
|
__asm__ (
|
|
"bst %D2, 7 \n\t"
|
|
"bld %D0, 7 "
|
|
: "=r" (__x)
|
|
: "0" (__x), "r" (__y) );
|
|
return __x;
|
|
}
|
|
# 376 "/usr/avr/include/math.h" 3
|
|
extern int signbit (double __x) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double fdim (double __x, double __y) __attribute__((__const__));
|
|
# 392 "/usr/avr/include/math.h" 3
|
|
extern double fma (double __x, double __y, double __z) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double fmax (double __x, double __y) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double fmin (double __x, double __y) __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern double trunc (double __x) __attribute__((__const__));
|
|
# 426 "/usr/avr/include/math.h" 3
|
|
extern double round (double __x) __attribute__((__const__));
|
|
# 439 "/usr/avr/include/math.h" 3
|
|
extern long lround (double __x) __attribute__((__const__));
|
|
# 453 "/usr/avr/include/math.h" 3
|
|
extern long lrint (double __x) __attribute__((__const__));
|
|
# 45 "/usr/avr/include/util/delay.h" 2 3
|
|
# 84 "/usr/avr/include/util/delay.h" 3
|
|
static inline void _delay_us(double __us) __attribute__((always_inline));
|
|
static inline void _delay_ms(double __ms) __attribute__((always_inline));
|
|
# 141 "/usr/avr/include/util/delay.h" 3
|
|
void
|
|
_delay_ms(double __ms)
|
|
{
|
|
double __tmp ;
|
|
# 166 "/usr/avr/include/util/delay.h" 3
|
|
uint16_t __ticks;
|
|
__tmp = ((16000000UL) / 4e3) * __ms;
|
|
if (__tmp < 1.0)
|
|
__ticks = 1;
|
|
else if (__tmp > 65535)
|
|
{
|
|
|
|
__ticks = (uint16_t) (__ms * 10.0);
|
|
while(__ticks)
|
|
{
|
|
|
|
_delay_loop_2(((16000000UL) / 4e3) / 10);
|
|
__ticks --;
|
|
}
|
|
return;
|
|
}
|
|
else
|
|
__ticks = (uint16_t)__tmp;
|
|
_delay_loop_2(__ticks);
|
|
|
|
}
|
|
# 223 "/usr/avr/include/util/delay.h" 3
|
|
void
|
|
_delay_us(double __us)
|
|
{
|
|
double __tmp ;
|
|
# 248 "/usr/avr/include/util/delay.h" 3
|
|
uint8_t __ticks;
|
|
double __tmp2 ;
|
|
__tmp = ((16000000UL) / 3e6) * __us;
|
|
__tmp2 = ((16000000UL) / 4e6) * __us;
|
|
if (__tmp < 1.0)
|
|
__ticks = 1;
|
|
else if (__tmp2 > 65535)
|
|
{
|
|
_delay_ms(__us / 1000.0);
|
|
}
|
|
else if (__tmp > 255)
|
|
{
|
|
uint16_t __ticks=(uint16_t)__tmp2;
|
|
_delay_loop_2(__ticks);
|
|
return;
|
|
}
|
|
else
|
|
__ticks = (uint8_t)__tmp;
|
|
_delay_loop_1(__ticks);
|
|
|
|
}
|
|
# 7 "uart_stream.c" 2
|
|
# 1 "/usr/avr/include/avr/pgmspace.h" 1 3
|
|
# 87 "/usr/avr/include/avr/pgmspace.h" 3
|
|
# 1 "/usr/lib/gcc/avr/4.9.2/include/stddef.h" 1 3 4
|
|
# 212 "/usr/lib/gcc/avr/4.9.2/include/stddef.h" 3 4
|
|
typedef unsigned int size_t;
|
|
# 88 "/usr/avr/include/avr/pgmspace.h" 2 3
|
|
# 1064 "/usr/avr/include/avr/pgmspace.h" 3
|
|
extern const void * memchr_P(const void *, int __val, size_t __len) __attribute__((__const__));
|
|
extern int memcmp_P(const void *, const void *, size_t) __attribute__((__pure__));
|
|
extern void *memccpy_P(void *, const void *, int __val, size_t);
|
|
extern void *memcpy_P(void *, const void *, size_t);
|
|
extern void *memmem_P(const void *, size_t, const void *, size_t) __attribute__((__pure__));
|
|
extern const void * memrchr_P(const void *, int __val, size_t __len) __attribute__((__const__));
|
|
extern char *strcat_P(char *, const char *);
|
|
extern const char * strchr_P(const char *, int __val) __attribute__((__const__));
|
|
extern const char * strchrnul_P(const char *, int __val) __attribute__((__const__));
|
|
extern int strcmp_P(const char *, const char *) __attribute__((__pure__));
|
|
extern char *strcpy_P(char *, const char *);
|
|
extern int strcasecmp_P(const char *, const char *) __attribute__((__pure__));
|
|
extern char *strcasestr_P(const char *, const char *) __attribute__((__pure__));
|
|
extern size_t strcspn_P(const char *__s, const char * __reject) __attribute__((__pure__));
|
|
extern size_t strlcat_P (char *, const char *, size_t );
|
|
extern size_t strlcpy_P (char *, const char *, size_t );
|
|
extern size_t __strlen_P(const char *) __attribute__((__const__));
|
|
extern size_t strnlen_P(const char *, size_t) __attribute__((__const__));
|
|
extern int strncmp_P(const char *, const char *, size_t) __attribute__((__pure__));
|
|
extern int strncasecmp_P(const char *, const char *, size_t) __attribute__((__pure__));
|
|
extern char *strncat_P(char *, const char *, size_t);
|
|
extern char *strncpy_P(char *, const char *, size_t);
|
|
extern char *strpbrk_P(const char *__s, const char * __accept) __attribute__((__pure__));
|
|
extern const char * strrchr_P(const char *, int __val) __attribute__((__const__));
|
|
extern char *strsep_P(char **__sp, const char * __delim);
|
|
extern size_t strspn_P(const char *__s, const char * __accept) __attribute__((__pure__));
|
|
extern char *strstr_P(const char *, const char *) __attribute__((__pure__));
|
|
extern char *strtok_P(char *__s, const char * __delim);
|
|
extern char *strtok_rP(char *__s, const char * __delim, char **__last);
|
|
|
|
extern size_t strlen_PF (uint_farptr_t src) __attribute__((__const__));
|
|
extern size_t strnlen_PF (uint_farptr_t src, size_t len) __attribute__((__const__));
|
|
extern void *memcpy_PF (void *dest, uint_farptr_t src, size_t len);
|
|
extern char *strcpy_PF (char *dest, uint_farptr_t src);
|
|
extern char *strncpy_PF (char *dest, uint_farptr_t src, size_t len);
|
|
extern char *strcat_PF (char *dest, uint_farptr_t src);
|
|
extern size_t strlcat_PF (char *dst, uint_farptr_t src, size_t siz);
|
|
extern char *strncat_PF (char *dest, uint_farptr_t src, size_t len);
|
|
extern int strcmp_PF (const char *s1, uint_farptr_t s2) __attribute__((__pure__));
|
|
extern int strncmp_PF (const char *s1, uint_farptr_t s2, size_t n) __attribute__((__pure__));
|
|
extern int strcasecmp_PF (const char *s1, uint_farptr_t s2) __attribute__((__pure__));
|
|
extern int strncasecmp_PF (const char *s1, uint_farptr_t s2, size_t n) __attribute__((__pure__));
|
|
extern char *strstr_PF (const char *s1, uint_farptr_t s2);
|
|
extern size_t strlcpy_PF (char *dst, uint_farptr_t src, size_t siz);
|
|
extern int memcmp_PF(const void *, uint_farptr_t, size_t) __attribute__((__pure__));
|
|
|
|
|
|
__attribute__((__always_inline__)) static __inline__ size_t strlen_P(const char * s);
|
|
static __inline__ size_t strlen_P(const char *s) {
|
|
return __builtin_constant_p(__builtin_strlen(s))
|
|
? __builtin_strlen(s) : __strlen_P(s);
|
|
}
|
|
# 8 "uart_stream.c" 2
|
|
# 1 "/usr/avr/include/avr/interrupt.h" 1 3
|
|
# 9 "uart_stream.c" 2
|
|
|
|
# 1 "/usr/avr/include/stdlib.h" 1 3
|
|
# 47 "/usr/avr/include/stdlib.h" 3
|
|
# 1 "/usr/lib/gcc/avr/4.9.2/include/stddef.h" 1 3 4
|
|
# 324 "/usr/lib/gcc/avr/4.9.2/include/stddef.h" 3 4
|
|
typedef int wchar_t;
|
|
# 48 "/usr/avr/include/stdlib.h" 2 3
|
|
# 68 "/usr/avr/include/stdlib.h" 3
|
|
typedef struct {
|
|
int quot;
|
|
int rem;
|
|
} div_t;
|
|
|
|
|
|
typedef struct {
|
|
long quot;
|
|
long rem;
|
|
} ldiv_t;
|
|
|
|
|
|
typedef int (*__compar_fn_t)(const void *, const void *);
|
|
# 114 "/usr/avr/include/stdlib.h" 3
|
|
extern void abort(void) __attribute__((__noreturn__));
|
|
|
|
|
|
|
|
|
|
extern int abs(int __i) __attribute__((__const__));
|
|
# 128 "/usr/avr/include/stdlib.h" 3
|
|
extern long labs(long __i) __attribute__((__const__));
|
|
# 151 "/usr/avr/include/stdlib.h" 3
|
|
extern void *bsearch(const void *__key, const void *__base, size_t __nmemb,
|
|
size_t __size, int (*__compar)(const void *, const void *));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern div_t div(int __num, int __denom) __asm__("__divmodhi4") __attribute__((__const__));
|
|
|
|
|
|
|
|
|
|
|
|
extern ldiv_t ldiv(long __num, long __denom) __asm__("__divmodsi4") __attribute__((__const__));
|
|
# 183 "/usr/avr/include/stdlib.h" 3
|
|
extern void qsort(void *__base, size_t __nmemb, size_t __size,
|
|
__compar_fn_t __compar);
|
|
# 216 "/usr/avr/include/stdlib.h" 3
|
|
extern long strtol(const char *__nptr, char **__endptr, int __base);
|
|
# 250 "/usr/avr/include/stdlib.h" 3
|
|
extern unsigned long strtoul(const char *__nptr, char **__endptr, int __base);
|
|
# 262 "/usr/avr/include/stdlib.h" 3
|
|
extern long atol(const char *__s) __attribute__((__pure__));
|
|
# 274 "/usr/avr/include/stdlib.h" 3
|
|
extern int atoi(const char *__s) __attribute__((__pure__));
|
|
# 286 "/usr/avr/include/stdlib.h" 3
|
|
extern void exit(int __status) __attribute__((__noreturn__));
|
|
# 298 "/usr/avr/include/stdlib.h" 3
|
|
extern void *malloc(size_t __size) __attribute__((__malloc__));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern void free(void *__ptr);
|
|
|
|
|
|
|
|
|
|
extern size_t __malloc_margin;
|
|
|
|
|
|
|
|
|
|
extern char *__malloc_heap_start;
|
|
|
|
|
|
|
|
|
|
extern char *__malloc_heap_end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern void *calloc(size_t __nele, size_t __size) __attribute__((__malloc__));
|
|
# 346 "/usr/avr/include/stdlib.h" 3
|
|
extern void *realloc(void *__ptr, size_t __size) __attribute__((__malloc__));
|
|
|
|
extern double strtod(const char *__nptr, char **__endptr);
|
|
|
|
extern double atof(const char *__nptr);
|
|
# 372 "/usr/avr/include/stdlib.h" 3
|
|
extern int rand(void);
|
|
|
|
|
|
|
|
extern void srand(unsigned int __seed);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern int rand_r(unsigned long *__ctx);
|
|
# 417 "/usr/avr/include/stdlib.h" 3
|
|
extern __inline__ __attribute__((__gnu_inline__))
|
|
char *itoa (int __val, char *__s, int __radix)
|
|
{
|
|
if (!__builtin_constant_p (__radix)) {
|
|
extern char *__itoa (int, char *, int);
|
|
return __itoa (__val, __s, __radix);
|
|
} else if (__radix < 2 || __radix > 36) {
|
|
*__s = 0;
|
|
return __s;
|
|
} else {
|
|
extern char *__itoa_ncheck (int, char *, unsigned char);
|
|
return __itoa_ncheck (__val, __s, __radix);
|
|
}
|
|
}
|
|
# 462 "/usr/avr/include/stdlib.h" 3
|
|
extern __inline__ __attribute__((__gnu_inline__))
|
|
char *ltoa (long __val, char *__s, int __radix)
|
|
{
|
|
if (!__builtin_constant_p (__radix)) {
|
|
extern char *__ltoa (long, char *, int);
|
|
return __ltoa (__val, __s, __radix);
|
|
} else if (__radix < 2 || __radix > 36) {
|
|
*__s = 0;
|
|
return __s;
|
|
} else {
|
|
extern char *__ltoa_ncheck (long, char *, unsigned char);
|
|
return __ltoa_ncheck (__val, __s, __radix);
|
|
}
|
|
}
|
|
# 505 "/usr/avr/include/stdlib.h" 3
|
|
extern __inline__ __attribute__((__gnu_inline__))
|
|
char *utoa (unsigned int __val, char *__s, int __radix)
|
|
{
|
|
if (!__builtin_constant_p (__radix)) {
|
|
extern char *__utoa (unsigned int, char *, int);
|
|
return __utoa (__val, __s, __radix);
|
|
} else if (__radix < 2 || __radix > 36) {
|
|
*__s = 0;
|
|
return __s;
|
|
} else {
|
|
extern char *__utoa_ncheck (unsigned int, char *, unsigned char);
|
|
return __utoa_ncheck (__val, __s, __radix);
|
|
}
|
|
}
|
|
# 547 "/usr/avr/include/stdlib.h" 3
|
|
extern __inline__ __attribute__((__gnu_inline__))
|
|
char *ultoa (unsigned long __val, char *__s, int __radix)
|
|
{
|
|
if (!__builtin_constant_p (__radix)) {
|
|
extern char *__ultoa (unsigned long, char *, int);
|
|
return __ultoa (__val, __s, __radix);
|
|
} else if (__radix < 2 || __radix > 36) {
|
|
*__s = 0;
|
|
return __s;
|
|
} else {
|
|
extern char *__ultoa_ncheck (unsigned long, char *, unsigned char);
|
|
return __ultoa_ncheck (__val, __s, __radix);
|
|
}
|
|
}
|
|
# 579 "/usr/avr/include/stdlib.h" 3
|
|
extern long random(void);
|
|
|
|
|
|
|
|
|
|
extern void srandom(unsigned long __seed);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern long random_r(unsigned long *__ctx);
|
|
# 638 "/usr/avr/include/stdlib.h" 3
|
|
extern char *dtostre(double __val, char *__s, unsigned char __prec,
|
|
unsigned char __flags);
|
|
# 655 "/usr/avr/include/stdlib.h" 3
|
|
extern char *dtostrf(double __val, signed char __width,
|
|
unsigned char __prec, char *__s);
|
|
# 672 "/usr/avr/include/stdlib.h" 3
|
|
extern int atexit(void (*)(void));
|
|
extern int system (const char *);
|
|
extern char *getenv (const char *);
|
|
# 11 "uart_stream.c" 2
|
|
|
|
# 1 "lib/uart.h" 1
|
|
|
|
# 13 "lib/uart.h"
|
|
# 1 "/usr/lib/gcc/avr/4.9.2/include/stdbool.h" 1 3 4
|
|
# 14 "lib/uart.h" 2
|
|
|
|
|
|
# 1 "lib/stream.h" 1
|
|
|
|
# 12 "lib/stream.h"
|
|
typedef struct {
|
|
void (*tx) (uint8_t b);
|
|
uint8_t (*rx) (void);
|
|
} STREAM;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void put_str(const STREAM *p, char* str);
|
|
|
|
|
|
|
|
void put_u8(const STREAM *p, const uint8_t num);
|
|
|
|
|
|
|
|
void put_i8(const STREAM *p, const int8_t num);
|
|
|
|
|
|
|
|
void put_u16(const STREAM *p, const uint16_t num);
|
|
|
|
|
|
|
|
void put_i16(const STREAM *p, const int16_t num);
|
|
|
|
|
|
|
|
void put_u32(const STREAM *p, const uint32_t num);
|
|
|
|
|
|
|
|
void put_i32(const STREAM *p, const int32_t num);
|
|
|
|
|
|
|
|
|
|
|
|
void put_u16f(const STREAM *p, const uint16_t num, const uint8_t places);
|
|
|
|
|
|
|
|
void put_i16f(const STREAM *p, const int16_t num, const uint8_t places);
|
|
|
|
|
|
|
|
void put_u32f(const STREAM *p, const uint32_t num, const uint8_t places);
|
|
|
|
|
|
|
|
void put_i32f(const STREAM *p, const int32_t num, const uint8_t places);
|
|
# 17 "lib/uart.h" 2
|
|
|
|
|
|
extern STREAM* uart;
|
|
|
|
|
|
void _uart_init_do(uint16_t ubrr);
|
|
# 36 "lib/uart.h"
|
|
void uart_isr_rx(_Bool enable);
|
|
|
|
|
|
void uart_isr_tx(_Bool enable);
|
|
|
|
|
|
void uart_isr_dre(_Bool enable);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t uart_rx();
|
|
|
|
|
|
|
|
void uart_tx(uint8_t data);
|
|
|
|
|
|
void uart_flush();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void uart_puts(const char* str);
|
|
|
|
|
|
void uart_puts_pgm(const char* str);
|
|
|
|
|
|
|
|
|
|
|
|
void uart_putu(const uint8_t num);
|
|
|
|
|
|
void uart_putn(const int8_t num);
|
|
|
|
|
|
void uart_puti(const int16_t num, const uint8_t places);
|
|
|
|
|
|
void uart_putiu(const uint16_t num, const uint8_t places);
|
|
|
|
|
|
void uart_putl(const int32_t num, const uint8_t places);
|
|
|
|
|
|
void uart_putlu(const uint32_t num, const uint8_t places);
|
|
|
|
|
|
|
|
|
|
void uart_nl();
|
|
# 13 "uart_stream.c" 2
|
|
|
|
|
|
void main()
|
|
{
|
|
|
|
_uart_init_do(16000000UL / 16 / (9600) - 1);
|
|
|
|
put_str(uart, "hello");
|
|
|
|
while(1);
|
|
}
|
|
|