热度 28
2016-3-16 10:49
1190 次阅读|
8 个评论
TQ2440 是由广州天嵌计算机科技有限公司精心打造的一款开发板。以稳定的性能,过硬的质量,丰富的扩展接口,优质的售后服务和技术支持,赢得众多企业的青睐和支持。 //========================================= // NAME: main.c // DESC: TQ2440串口UART打印printf测试程序 //========================================= /* 头文件包含 */ #include "def.h" #include "option.h" #include "2440addr.h" #include #include static volatile int uart_port = 0; void uart_init(int pclk,int buad,int ch) { //UART初始化:端口使能、功能设定、波特率、设置数据格式 rGPHCON = (rGPHCON ~(0xfff4)) | (0xaaa4);//端口RX 、TX 功能 rGPHUP = rGPHUP | (0x71); //端口GPH 禁止上拉 rUFCON0 = 0x0; //禁止FIFO rUFCON1 = 0x0; //禁止FIFO rUFCON2 = 0x0; //禁止FIFO rUMCON0 = 0x0; //禁止AFC rUMCON1 = 0x0; //禁止AFC //Normal:No parity:One stop:8-bits 中断响应 UART clock: PCLK rULCON0 = (rULCON0 ~0xff) | ((0x06)|(0x03)|(0x02)|(0x3)); rUCON0 = (rUCON0 ~0x3ff) | ((0x19)|(0x16)|(0x12)|(0x1)); rUBRDIV0 = ((int)(pclk/16./buad+0.5)-1); rULCON1 = (rULCON1 ~0xff) | ((0x06)|(0x03)|(0x02)|(0x3)); rUCON1 = (rUCON1 ~0x3ff) | ((0x19)|(0x16)|(0x12)|(0x1)); rUBRDIV1 = ((int)(pclk/16./buad+0.5)-1); rULCON2 = (rULCON2 ~0xff) | ((0x06)|(0x03)|(0x02)|(0x3)); rUCON2 = (rUCON2 ~0x3ff) | ((0x19)|(0x16)|(0x12)|(0x1)); rUBRDIV2 = ((int)(pclk/16./buad+0.5)-1); uart_port = ch; //设置串口端口号 } void uart_send_byte(int data) { if(0 == uart_port) { if(data == 'n') { while(!(rUTRSTAT0 0x2)); rUTXH0 = 'n'; } while(!(rUTRSTAT0 0x2)); rUTXH0 = data; } else if(1 == uart_port) { if(data == 'n') { while(!(rUTRSTAT1 0x2)); rUTXH1 = 'n'; } while(!(rUTRSTAT1 0x2)); rUTXH1 = data; } else if(2 == uart_port) { if(data == 'n') { while(!(rUTRSTAT2 0x2)); rUTXH2 = 'n'; } while(!(rUTRSTAT2 0x2)); rUTXH2 = data; } } void uart_send_string(char *string) { while(*string) { uart_send_byte(*string++); } } void uart_printf(char *fmt,...) { va_list ap; char string ; va_start(ap,fmt); vsprintf(string,fmt,ap); uart_send_string(string); va_end(ap); } void Main(void) { int plck_val = 50000000; int buad_val = 115200; int ch_val = 0; uart_init(plck_val,buad_val,ch_val); uart_printf("PCLK is %d,buad is %d,uart_port is %d n",plck_val,buad_val,ch_val); while(1); } 感谢晨旭晚霞的支持! 供货情况: 天嵌科技提供专业嵌入式板卡和行业解决方案。如有需要,可以联系天嵌科技的销售人员。 销售电话:020-38219416 38373101 技术支持:020-38219416转807 820 网址:http://www.embedsky.com