Wednesday 10 June 2015

arm uart

#include <LPC212x.H>
#include"lcdsub.c"
char rx;
void delay(int);
void serialint();
void serialwrite(char);
char serialread();
void serialint()
{
U0LCR=0x83;
U0DLM=0x00;
U0DLL=0x5E;
U0FDR=0x52;
U0LCR=0x03;
}
void serialwrite(char tx)
{
U0THR=tx;
while((U0LSR &0x40)==0);
U0LSR |=0x40;
}
char serialread()
{
while((U0LSR &0x01)==0);
rx=U0RBR;
U0LSR |= 0x01;
return rx;
}
int main()
{
IO0DIR |= 0xFF<<15;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
IO0DIR |= (1<<0);
IO0DIR &= ~((1<<1));
lcdint();
serialint();
lcdstr("initializing");
while(1)
{

}
}

//#include <LPC214X.H>
//#define data 0xFF<<16    //assinging values for po.16-p0.23
#define rs (1<<23)
#define rw (1<<24)
#define en (1<<25)

void delay(int);
void lcdint();
void lcdcmd(int);
void lcddata(char);
void lcdstr(unsigned char*);
void lcdstr(unsigned char *chr)
{
while(*chr)
{
lcddata(*chr++);
}
}
void lcddata(char xdata)
{
IO0PIN = (xdata<<15);
//IO0SET|=(xdata<<15);
IO0SET =(rs);
IO1CLR =(rw);

IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdcmd(int cmd)
{
IO0CLR =(rs);
IO0CLR =(rw);
//IO0SET|=(cmd<<15);
IO0PIN = (cmd<<15);
IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdint()
{
lcdcmd(0x0E);
  delay(500);
lcdcmd(0x38);
delay(500);
lcdcmd(0x06);
delay(500);
lcdcmd(0x80);
 delay(500);
 //lcdstr("okay");
}
void delay(int m)
{
while(m--);
}
/*IO0DIR |= 0xFF;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
*/






No comments:

Post a Comment