[Linux]
TQ2440裸奔程序:串口UART打印printf测试程序
嵌入式系统
 
3252 人阅读
|
8 人回复
|
2016-03-16 
 
 
 
 
TA的每日心情  | 奋斗 2018-3-5 10:57 | 
|---|
 
  签到天数: 112 天 连续签到: 1 天 [LV.6]常住居民II 
进士 
 
 
	- 积分
 - 1990
 
 
 
 
 | 
 
 
  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 & ~(0xfff<<4)) | (0xaaa<<4);//端口RX[0:2]、TX[0:2]功能 
  rGPHUP = rGPHUP | (0x7<<1); //端口GPH[1:3]禁止上拉 
  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) | ((0x0<<6)|(0x0<<3)|(0x0<<2)|(0x3)); 
  rUCON0 = (rUCON0 & ~0x3ff) | ((0x1<<9)|(0x1<<6)|(0x1<<2)|(0x1)); 
  rUBRDIV0 = ((int)(pclk/16./buad+0.5)-1); 
  rULCON1 = (rULCON1 & ~0xff) | ((0x0<<6)|(0x0<<3)|(0x0<<2)|(0x3)); 
  rUCON1 = (rUCON1 & ~0x3ff) | ((0x1<<9)|(0x1<<6)|(0x1<<2)|(0x1)); 
  rUBRDIV1 = ((int)(pclk/16./buad+0.5)-1); 
  rULCON2 = (rULCON2 & ~0xff) | ((0x0<<6)|(0x0<<3)|(0x0<<2)|(0x3)); 
  rUCON2 = (rUCON2 & ~0x3ff) | ((0x1<<9)|(0x1<<6)|(0x1<<2)|(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[256]; 
  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 
 
 |   
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
TA的每日心情  | 奋斗 2016-8-17 17:27 | 
|---|
 
  签到天数: 4 天 连续签到: 1 天 [LV.2]偶尔看看I 
童生 
 
 
	- 积分
 - 61
 
 
 
 
 | 
沙发
 
 
lzh2 
 
发表于 2016-3-21 12:18:34
|
只看该作者
 
 
 
 
 
 
好好好  |  
     
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
| 
 | 
板凳
 
 
张晓然 
 
发表于 2016-3-21 14:48:01
|
只看该作者
 
 
 
 
 
 
 ,好好学习~多谢楼主分享~ |  
     
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
| 
 | 
地板
 
 
sally_cheng 
 
发表于 2016-3-23 16:42:52
|
只看该作者
 
 
 
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
| 
 | 
5#
 
 
adeechan36 
 
发表于 2016-3-24 14:12:19
|
只看该作者
 
 
 
 
 
 
好久没有裸奔,好好怀念啊。 
现在在用你们 I.MX6Q 开发产品了。 
希望快快出这块的教程。 |  
     
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
| 
 | 
6#
 
 
lyt2851297573 
 
发表于 2016-3-24 15:26:21
|
只看该作者
 
 
 
 
 
 
| 
由此至终选择2440都没后悔过,资料多不用说,而且是楼主资料共享也很给力!感谢、感恩! |  
     
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
| 
 | 
7#
 
 
复仇者联盟 
 
发表于 2016-3-24 15:49:03
|
只看该作者
 
 
 
 
 
 
| 
2440始终是学习经典,是楼主资料共享给力!感谢、感恩! |  
     
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
TA的每日心情  | 奋斗 2018-3-5 10:57 | 
|---|
 
  签到天数: 112 天 连续签到: 1 天 [LV.6]常住居民II 
进士 
 
 
	- 积分
 - 1990
 
 
 
 
 | 
8#
 
 
embedsky007 
 
发表于 2016-3-24 15:57:00
|
只看该作者
 
 
 
 
 
 
adeechan36 发表于 2016-3-24 14:12 ![]()  
好久没有裸奔,好好怀念啊。 
现在在用你们 I.MX6Q 开发产品了。 
希望快快出这块的教程。 ...  
谢谢亲的支持,请继续关注我们,不定期会有更新的,也可以翻看我前面的帖,有关于I.MX6Q 的,希望对你有用 
 |  
     
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
TA的每日心情  | 奋斗 2018-3-5 10:57 | 
|---|
 
  签到天数: 112 天 连续签到: 1 天 [LV.6]常住居民II 
进士 
 
 
	- 积分
 - 1990
 
 
 
 
 | 
9#
 
 
embedsky007 
 
发表于 2016-3-24 15:57:50
|
只看该作者
 
 
 
 
 
 
lyt2851297573 发表于 2016-3-24 15:26 ![]()  
由此至终选择2440都没后悔过,资料多不用说,而且是楼主资料共享也很给力!感谢、感恩! ...  
哈哈,好不好,听大家的!真的好不好,用过就知道! 
 |  
     
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |