nuclear@4: #ifndef SERIAL_H_ nuclear@4: #define SERIAL_H_ nuclear@4: nuclear@4: #include "hwregs.h" nuclear@4: nuclear@4: /* dff030 is REG_SERDAT nuclear@4: * dff018 is REG_SERDATR nuclear@4: * bit 13 of SERDATR is TBE (transmit buffer empty) nuclear@4: */ nuclear@4: #define ser_putchar(c) \ nuclear@4: asm volatile( \ nuclear@4: "or.w #0x100, %0\n\t" \ nuclear@4: "0: btst #13, 0xdff018\n\t" \ nuclear@4: "beq 0b\n\t" \ nuclear@4: "move.w %0, 0xdff030\n\t" \ nuclear@4: :: "d"((int16_t)c)) nuclear@4: nuclear@4: void ser_init(int baud); nuclear@4: void ser_print(const char *s); nuclear@4: nuclear@4: #endif /* SERIAL_H_ */