毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

嵌入式的LED点阵显示屏的研究与实现 第13页

更新时间:2009-6-4:  来源:毕业论文
嵌入式的LED点阵显示屏的研究与实现 第13页
UUULCONIII0XE00000读/写写UARTI行控制寄存器器0X
UUUCONOOO0XD00444读/写写UARTO控制寄存器器0X
UUUCONIII0xE00444读/写写UARTI控制寄存器器0
UUUSTATOOO0XD00888读读UARTO状态寄存器器OX
UUUSTATIII0xE00888读读UARTI状态寄存器器OX
UUUTXBUFOOOOXD00CCC写写UATRO发送保持寄存器器未
UUUTXBUFIIIOXE00CCC写写UARTI发送保持寄存器器未
UUURXBUFOOOOXD01000读读UARTO接收缓冲寄存器器未
UUURXBUFIIIoxEO1000读读UATRI接收缓冲寄存器器未
UUUBRDIVOOOOX…DO1444读/写写UARTO波特率除数因子寄存器器0
UUUBRDIVIII0xE01444读/写写UATRI波特率除数因子寄存器器0
BBBRDCNTOOOoxD01888写写UARTO波特率计数寄存器器0
BBBRDCNTIIIOXEO1888写写UARTI波特率计数寄存器器O
BBBRDCLKOOOOXD0lCCC写写UARTO波特率时钟监视器器0
BBBRDCLKIIIOXE0lCCC写写UARTI波特率时钟监视器器0
S3C451OB的串口时钟是由UATR的波特率发生器产生的,UA
率发生器的输入时钟可以为系统时钟,也可以从外部引入时钟信号。
统时钟为波特率发生器的输入时钟,当系统时钟为50MHz时,则最
率时钟输出为MCLKZ/16(二1.5625MH)z,其中MCLKZ为系统时钟
除以2。UCLK引脚为UARTO、UARTI的外部时钟输入引脚。UATR
发生器的输入时钟McLKZ或UcLK,由寄存器ucCON【6]选择。以下
波特率发生器的结构图(图6一6)和典型的波特率(表6一3)。
12位的计数召除以1或16除以16波特率输出
采样时今中
NOTE:CNTO=UBTDIVI.【15:4】.CNTI二UBRDIVn130』.SC二ULCON16】
图6一6UART波特率发生器结构
武汉理工大学硕士学位论文
表6一3典型的波特率
aUdRate导导MCLKZ==25MHZZZUCLK二33MHZZZ
BRGOUT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))CCCCCNTOOOCNTIIIFr叫...Dev.(%)))CNTOOOcNT1444,;re,.}}}}oev.(%)))
111200001301110001200」」0.00017355511111200
.
oa】】.0〕汉训训
22240000650000002400222!o,o一一8677711124001555众〔X延洲洲
月月80(〕〕32444OOO4807

77702224333300048003111}。、、
99960000162220009585习习一0
.
,,216660009600.6111Qoo创创
111920000800000019290_1110
.
5551088800019113‘15550
.
4555
333840000400000038109.888一.0888533300038580‘15550
.
4777
5557600002666000578704440卜555355500057870,37770
.
4777
11115200001333000111607
.
111一3.11117770001157407444}04777
222304000066600022321428883.1222888。}}}}2314。,
.
48!!!}}}
4446086000222000520833、34441301114440}}}}41。。。606}}}}。
.
5。。
2.串口访问API函数
Linux对所有各类设备文件的输入输出操作,看上去就像对普通文件的输
出一样,所以Limix对串口的操作,也是通过设备文件访问的。为了访问

只需要打开相应的设备文件即可。设备文件/dve/ttys*是用于挂起Limix
的文件。默认地,在Linux下,串行口COMI和COMZ对应的设备分别
ev八tySO和/dev八tySI。
1)打开串口
类似于普通文件,串口可以使用它的设备文件,用opneo函数打开,函数
为open(“/dev/tytSO”,O一RDWRIO卫OCTTY】O一DELAY):
其中,OweRDWR为可读写;O一oCTTY告诉操作系统该程序不是此端口
控制终端”;O一DELAY表示该程序不关注DCD信号线所处的状态,即
对端设备是在运行或挂起,一直运行。
2)关闭串口
使用clos(edf),df为打开时得到的文件描述符。该函数关闭一个串口,通
将DTR信号设置为低电平。
3)向串口写数据
使用wrti(edf,weebuf,daat)函数向串口写数据。当调用正确,返回发送
节数,否则返回一1。
4)从串口读取数据
如果在原始数据模式下对端口进行操作,若reado函数调用将返回串行口
缓冲区所有的数据,如果没有数据,该进程将被阻塞,处于等待状态,直
数据到来,或者到了规定时间和出现错误为止。可以用efnt(ldf,F一sETFL,
武汉理工大学硕士学位论文
FNDELAY)使函数调用立即返回。
3.串口应用程序设计
)l波特率转换
intconbvuad(unsignedlongintbuadrate)
{
switeh(buadrate)
{
ease2400:
retumB2400;
ease115200:
returnB115200;
deafult:
reutmB9600;
}
}
2)串口打开
intPortOPen印Portinof一PPortinof)
{
nitdfoc;m刀串口文件描述符
char*pytt;
Ptyt=getesPytt(pportinof):
//dfeom=oPen印tty,OotRDWR}OeeNOCTTY}O一NONBLOCK
OjDELAY);
dfcom=oPen印tty,O_RDWR}O一OCTTY}0州ONBLOCK);
retum(dfeom);
}
3)串口关闭
voidPortClose(intdfeom)
{
close(dfeom):
}
4)发送数据
intPortsend(intdfeom,char*data,inidatalen)
{
i爪len=0;
len一write(允eom,data,datalen)://实际写入的长度
i(flen
{
一datalen)
ertum(lne):
}
else{
teflush(dfeom,TCOFLUSH);
return一1
}
}
5)
iflt
{
接收数据
PortReev(intdfcom,ehar*data,intdatalen,intbaudrate)
intredalen,--sfsel:
--dfsetSfJead;
surtettimevaltv~Jlmeout:
FD一ERO(&几一red)a;
FD_SET(dfcom,&sf一eda):
vtjimeout.tv_see=TIMEOU几SEC(datalen,buadrate):
t对meout.tvesusec二TIMEOUT少SEC:
--sfsel=seleet(dfeom+l,&伪-read,NULL,NULL,&tv‘timeou)t;
i(f--sfsel){
erdalen=erad(dfeom,data,datalen);
erutm(redalen);
}
else{
return(一1)
}
retunr(readlen);
}

 << 上一页  [11] [12] [13] [14] [15] [16] 下一页

嵌入式的LED点阵显示屏的研究与实现 第13页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。