网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区


标题: [转贴] tms320lf240x的串行通信接口(SCI)
bika
TW金牌会员
Rank: 6Rank: 6



UID 138192
精华 27
积分 1720
帖子 941
阅读权限 70
注册 2008-7-23
状态 离线
发表于 2008-8-25 10:42 资料 短消息 加为好友 添加 bika 为MSN好友 通过MSN和 bika 交谈
tms320lf240x的串行通信接口(SCI)

首先需要注意,串行通信模块的寄存器是8位的。
)\%Q9s4\3j9T0L$p8U1V/J(e.{$H"P+B0f,z
一、串行通信接口的物理结构程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛%G.o!L9] p!K(N;E+V1x1@

%i2D;Q d2h'^ l2j+wtech.techweb.com.cn1、两个IO引脚tech.techweb.com.cn#s*P/r7I(q+W
    SCIRXD    SCI接收数据引脚
*e4J,n$_!P    SCITXD    SCI发送数据引脚
'r*K5|)r9E)P+g)C2、一个16位的可编程的波特率选择寄存器。tech.techweb.com.cn$P2z1a9O'O7\$Z
3、1-8位的可编程数据字长度。
8v$M'_$H5U+^.X4、可编程的停止位。!i.x7k$T&u/_#_
5、内部产生的串行时钟。1x+H/W;`3^ f%|
6、全双工或者半双工。TechWeb-技术社区%?&q#{5P*E-](K&n-_
7、双缓冲的接收和发送功能。程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#y6t&A&l%m#|3d;\4Y*Q

-}-q1z2P#@二、SCI模块的结构
5S6}(R6s)X0_tech.techweb.com.cn程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛.t(m4k(L&y)`%H1h
1、一个发送器
3C3C9@0m6F;G;J(rSCITXBUF    发送数据缓冲寄存器,存放待发送的数据。
,I'W;Y:v,r9m0O!H*}8dTXSHF       发送移位寄存器。从SCITXBUS载入数据,并每次一位地将数据移位到SCITXD引脚。
(w1m6M"N$Q9k U.{+p3s
%I7a+r(W!E,p \%b4C8cTechWeb-技术社区2、一个接收器TechWeb-技术社区1@8e8A"y'N,Q&R.]8D2V
RXSHF       接收移位寄存器。每次一位地将SCIRXD上的数据移入。4f7z!v0Z:r6p*M
SCIRXBUF    接收数据缓冲寄存器。接收由RXSHF移入的数据。
*B#g$~.p9B0X程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛2K/T6~5{+?7@$@&[4I
3、一个可编程的波特率发生器。
7@+Q/O.u+M,V0m&Ntech.techweb.com.cn3{0s#L7g%_:~+c9e&[!X
4、数据存储器映射的控制和状态寄存器。程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛(}6B+r'[+i$X)N

'J'[!\(O-L0v'z'\ e0\TechWeb-技术社区三、SCI模块的寄存器
*x$I:C.V,{:F!k9D1Itech.techweb.com.cnTechWeb-技术社区0}.S!w)X2l;p
SCICCR    SCI通信控制寄存器      定义SCI使用的字符格式、协议和通信模式7Y!\#F5b1A,B
SCICTL1   SCI控制器1            控制TX/RX和接收器错误终端使能、内部时钟和SCI软件复位
&v8O/k/L5_8G-Z%@1\4MSCIHBAUD  SCI波特率选择寄存器的高8位
9y'}7b9F(q2E5Z:FSCILBAUD  SCI波特率选择寄存器的低8位
%k(o/L g3M1^){9}SCICTL2   SCI控制器2            包括发送器缓冲使能等
7A5T;j-u/]/w:}&k-G8ftech.techweb.com.cnSCIRXST   SCI接收状态寄存器
6p.W#^/d"\"W/r$y-w*xSCIRXEMU  SCI仿真数据缓冲寄存器-t:z:S*m;X/B
SCIRXBUF  SCI接收数据缓冲寄存器!h+w"A(r+t-Z+l2s+A7G
SCITXBUF  SCI发送数据缓冲寄存器
4D3^9E-O/s G6N { USCIPRI    SCI优先级控制寄存器4w4t$];t7s,X&U;L

#t/z)q6A)l.b-R&n.NTechWeb-技术社区下面是一个简单的串口通信实例,已经调试通过:TechWeb-技术社区:u"O!t8o$a(S5@&u.{4\+K
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛;V2r0S-J#e u.R0m2u!c

7x2i6o'F7v6KTechWeb-技术社区
-[6x%p!r*i4N程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛tech.techweb.com.cn#o9x3X9n7g2e9i6K

8`)Y'_(y"@TechWeb-技术社区 T;I"}$X#z9K*Y E,F

.|'}!R)M"_0R"{:s程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛:v2T7V"n7w'l2p*B

"d)E#Q&])c*d程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛
void cpu_init(void),M7g#E+](Z t3R'k3t.L3}$q
{
#]+p)Q0?/x$T#u4u%]tech.techweb.com.cn    SCSR1 = 0x83fe;
v!f,y"T7P#^!w5H程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛    WDCR = 0x0e8;$`-H1o4])q
    asm(" SETC    INTM");tech.techweb.com.cn4R'T9J$K$v'z
    asm(" CLRC    OVM");
3]+Z:k)C)L)C#S    asm(" CLRC    CNF");
$S#o"U#P&_1U+N.R    asm(" CLRC    SXM");.C$]/j2P;])A
    IMR = 0x0000;
%m1[(i I-p7W    IFR = 0x0ffff;
&g-~7u Q;ktech.techweb.com.cn}
"r+a#`1]/W+v$D5p6?)r(t&P6i%K-Z/d.q0i
void sci_init(void)程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛)u:a/v0l B'X
{)l!@"j0G5a.}+|
    MCRA |= 0x03;
8~(a x#c&O)atech.techweb.com.cn    SCICCR = 0x07;
8K2}0V-O/U$q I    SCICTL1 = 0x13;TechWeb-技术社区3n8`7g,~6F&a9n!a0q p
    SCICTL2 = 0x03;
.]0^(O [1g%F9~    SCIHBAUD = 0x02;TechWeb-技术社区+H,N0t#o"C9A0~2G#q
    SCILBAUD = 0x07;程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 h)g.Z+C-y*v
    SCICTL1 = 0x33;tech.techweb.com.cn/u9t;R8`/|9z!M8C&`
    SCIPRI = 0x60;程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛8p5n!c*r*Q-D#U
    IMR |= 0x10;
'U)?.F-_7d1B0x6N0~0p,c/k    asm(" CLRC    INTM");
*|9B1L0u1\'I}
5?/Y7Z'p"K(i {#I
;H8d3Q8d4A+o-evoid send(char *var)3G*H4y5|)t5t%|0~+v
{)d0\"x)N,l6] T3F;C0I
    int i;
-}5d8t+H3P'Qtech.techweb.com.cn   
9w)r%`$I2^;l4Z5b)wtech.techweb.com.cn    for(i=0; i<strlen(var); i++)
:t5N(?9F,n0R    {tech.techweb.com.cn.{5D.[:D y&e0A3w-u,n9S
        SCICTL2 &= 0x0c0;
$A8C/B;K,v(G,?,d Mtech.techweb.com.cn        while(SCICTL2 != 0x0c0);tech.techweb.com.cn)W4K'{+f*V1D.Q2?
        SCITXBUF = var[i];
"|.B:c7y9D$t    }
A.w9R9\3i2U!A.L'O)fTechWeb-技术社区};Q(u#M/o'Z:R1Z!l7H,b/z

5Z'{!T!^+W8v$Zvoid main(void)
.[&i+H7C(tTechWeb-技术社区{ 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛6S(d7u(D!F,D.i,O
    cpu_init();
"Q!B7u&D)c6D1k5U程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛    sci_init();
4A(g2[$R a8}程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛         send("ni hao!");$y8m5A6B8b

+G5w1v#p6[1Y'A/Wtech.techweb.com.cn    while(1)
0V5s*O7y R,Q(h程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛}
$r8S6z0M5A.X!nTechWeb-技术社区
0P:o,[ u1F,|!c

引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-11-23 08:37
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.059579 second(s), 7 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP