TQ2440之串口传输数据
程序如下:
#include "2440addr.h"
#include "Option.h"
#include "def.h"
//一旦用到U32怎么不行
unsigned int PCLK;
extern void Uart_Printf(char *fmt,...);//函数申明,不然一直提示警告
extern void Uart_Select(int ch);
void delay(void)//Delay()在2440lib.c里边有定义,不小心重定义了,纠结了一下
{
unsigned int i,j;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
;
}
void My_uart_init(int mypclk,int mybuat)//我自己写的串口初始化
{
unsigned int a;
rGPHCON = 0x0faaa;//0x1111 1010 1010 1010选中RTS、CTS、TXD、RXD
rGPHUP = 0x7ff;//全取消上拉电阻是保留没得设置的,设置Rx错误状态中断,Tx电平中断。串口1、2设置一样
rUBRdiv0 = ((int)(mypclk/(mybuat*16)))-1;//为发送器和接收器提供串行时钟,计算公式见芯片手册
rULCON1 = 0x3;
rUCON1 = 0x245;
rUBRdiv1 = ((int)(mypclk/(mybuat*16)))-1;
rULCON2 = 0x3;
rUCON2 = 0x245;
rUBRdiv2 = ((int)(mypclk/(mybuat*16)))-1;
for(a=0;a<100;a++);//延时,参考2440lib.c,个人理解应该是
}
void Main(void)
{
Uart_Select(0);//选择串口0
My_uart_init(50000000,115200);//给时钟50MHz,波特率115200串口才能工作
Uart_Printf("\n\n");//测试2440lib.c里面关于输入\n是不是会另外补上\r,回车换行
delay();
while(1)
{
Uart_Printf("I love caimanjun more than myself\n"); //打印字符串
delay();
Uart_Printf("yes I do! \n");
delay();
}
}
TQ2440串口传输数 相关文章:
- TQ2440之最简串口传输数据(11-21)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)