海阔天空lanpeng.blog.chinaunix.net
lanlovehua
全部博文(134)
linux-软件应用(0)
2022年(1)
2020年(7)
2018年(2)
2016年(5)
2015年(14)
2014年(21)
2013年(3)
2012年(1)
2011年(15)
2010年(30)
2009年(35)
lds33
koozool
恒华电子
water2oi
RHCE520
mallocya
wmyrzy
wb123456
cainiaoz
km康蒙92
zhangtin
KAKA55
qq526665
Bsolar
浪花小雨
gnsusn
分类: 嵌入式
2010-04-23 16:47:49
#include "mini2440.h" #define UART_CLK (PCLK) #define UART_BAUD_RATE 115200 #define UART_BRD ((UART_CLK / (UART_BAUD_RATE *16)) - 1) #define TXD0READY (1<<2) #define RXD0READY (1<<0) void uart0_init() { rGPHCON |= 0xa0; rGPHUP |= 0x0c; rULCON0 = 0x03; rUCON0 = 0x05; rUFCON0 = 0x00; rUMCON0 = 0x00; rUBRDIV0 = (long)UART_BRD; } void putc(unsigned char data) { while(!(rUTRSTAT0 & TXD0READY)); rUTXH0 = data; if (data == '\n') { //换行处理 putc('\r'); } } void puts(unsigned char *Dats) { unsigned char i = 0; for(; Dats[i] != '\0'; i++){ putc(Dats[i]); } } unsigned char getc(void) { unsigned char data; while(!(rUTRSTAT0 & RXD0READY)); data = rURXH0; if(data == '\b'){ //退格处理 putc('\b'); putc(' '); } return data; } void Get_Send(void) { unsigned char data; unsigned char Dats[100]; unsigned char i = 0; unsigned char *p = "\nHello, world!\n"; uart0_init(); while(1){ puts(p); puts("Input:\n"); while((data = getc()) != '\r'){ putc(data); if((data == '\b')&&(i > 0)){ i--; } else{ Dats[i] = data; i++; } } Dats[i] = '\0'; puts("\nYour order is: \n"); puts(Dats); putc('\n'); i = 0; } }
上一篇:ARM-Linux下交叉编译lzo
下一篇:Linux下DNW源代码--mini2440
登录 注册