#include <LPC21xx.H> /* LPC21xx definitions */
#include "Serial.h"
#define CR 0x0D
/* implementation of putchar (also used by printf function to output data) */
int sendchar (int ch) { /* Write character to Serial Port */
if (ch == '\n') {
while (!(U1LSR & 0x20));
U1THR = CR; /* output CR */
}
while (!(U1LSR & 0x20));
return (U1THR = ch);
}
int getkey (void) { /* Read character from Serial Port */
while (!(U1LSR & 0x01));
return (U1RBR);
}
void uart_print_string(char * string, char newline)
{
while (*string != 0x00){ sendchar(*string++);}
if (newline!=0){sendchar(13);}
}
void uart_print_value(long val)
{
char buffer[10] = {0};
char * head = buffer;
char cnt=0;
if (val!=0)
{
while( val )
{
*head++ = (val % 10)["0123456789"];
val /= 10;
cnt++;
}
while (cnt!=0){ cnt--; sendchar(buffer[cnt]); }
}
else
{
sendchar('0');
}
}
void uart_print_hex_value(long val)
{
char buffer[10] = {0};
char * head = buffer;
char cnt=0;
sendchar('0');
sendchar('x');
if (val!=0)
{
while( val )
{
*head++ = (val & 0x0F)["0123456789ABCDEF"];
val=val>>4;
cnt++;
}
while (cnt!=0){ cnt--; sendchar(buffer[cnt]); }
}
else
{
sendchar('0');
}
}