bika
TW金牌会员

UID 138192
精华
27
积分 1720
帖子 941
阅读权限 70
注册 2008-7-23
状态 离线
|
|
|
tms320lf240x的串行通信接口(SCI)
首先需要注意,串行通信模块的寄存器是8位的。
2z0c3D)C3k g0L/TTechWeb-技术社区
#\#K4^"?'`([%@TechWeb-技术社区一、串行通信接口的物理结构
9f Y'q"E0V6i程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛
4n:N*Q.t8W1、两个IO引脚 TechWeb-技术社区#u+~7V&|6U:O*T:x
SCIRXD SCI接收数据引脚 'k2[-[5E.E+\
SCITXD SCI发送数据引脚
-B m&a,n.]'A;d:c2、一个16位的可编程的波特率选择寄存器。 tech.techweb.com.cn"X'Y2n.D5r+C
3、1-8位的可编程数据字长度。 $F:E;x H$f-q(t+p
4、可编程的停止位。 TechWeb-技术社区2s%J6u-y&D8^!O9Q/I0j
5、内部产生的串行时钟。
&q4W)u)@.C6_/T+btech.techweb.com.cn6、全双工或者半双工。 tech.techweb.com.cn)_2D y v4`.h-X-h
7、双缓冲的接收和发送功能。 TechWeb-技术社区*~,h0Q!l4S.\-o1T9u*j0p
(o1A:w2t'r4r*}
二、SCI模块的结构
0M&r9h#c6T1p*N/u程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛/o%m-Y3F&a4I6m,O
1、一个发送器 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛,T!a.}'X6A2m
SCITXBUF 发送数据缓冲寄存器,存放待发送的数据。
:}*f%|*l%^9f5g9i9t4J:xTXSHF 发送移位寄存器。从SCITXBUS载入数据,并每次一位地将数据移位到SCITXD引脚。 TechWeb-技术社区8b2N!\;s0S9c3f
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛4e2Z!q-L:g"Y2P!L+e
2、一个接收器 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛8Z6U'J8J:t-n1_&y.Z
RXSHF 接收移位寄存器。每次一位地将SCIRXD上的数据移入。
4k"[7@)P9q3e2A0I4J1n3YSCIRXBUF 接收数据缓冲寄存器。接收由RXSHF移入的数据。
-?9N'I$W)S7m6U4t3e:G C,v6m2A
3、一个可编程的波特率发生器。 tech.techweb.com.cn1O8E4| K `7_6H-b'`
&[*k8X:D3@&V,|8i)^ ]9O*d
4、数据存储器映射的控制和状态寄存器。
0w%p4y!B;`7\TechWeb-技术社区-?7Y1O.Q8O&~0d-f4_
三、SCI模块的寄存器 5g,B(l5i;d B
9G.I%f:]5H3`&Z(h9P:H&W
SCICCR SCI通信控制寄存器 定义SCI使用的字符格式、协议和通信模式
"w!p7y!^+?$D#w(V;h$JSCICTL1 SCI控制器1 控制TX/RX和接收器错误终端使能、内部时钟和SCI软件复位
'~1e/I3|*y5X,B1z4h'E$|TechWeb-技术社区SCIHBAUD SCI波特率选择寄存器的高8位 TechWeb-技术社区-V;?+\1K+o'L
SCILBAUD SCI波特率选择寄存器的低8位
`*~!E(b/otech.techweb.com.cnSCICTL2 SCI控制器2 包括发送器缓冲使能等 tech.techweb.com.cn&m&}9E"{(A
SCIRXST SCI接收状态寄存器 tech.techweb.com.cn6Q9f.O5r$m9E%G
SCIRXEMU SCI仿真数据缓冲寄存器
/C M)h1W/S#y0rSCIRXBUF SCI接收数据缓冲寄存器 ,l"] B#u1u;P8q!z
SCITXBUF SCI发送数据缓冲寄存器
:T/T%H"W+j.}0w4a*l3E5ptech.techweb.com.cnSCIPRI SCI优先级控制寄存器 .g9m2F;P1?4A:s!^+p `:s
6c5l3^){2f5] }tech.techweb.com.cn下面是一个简单的串口通信实例,已经调试通过: 0U%O1y(f9U8_-_
TechWeb-技术社区2B,W%h:R5}3Q*O0q
I;r*G(j,b.Q7a4N8U;\9j
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛+[ n;F-k'@,?.c(b3l&t%m
3i8v @$n'G%j/R
8p2Q1f9V#Htech.techweb.com.cn2W/_:f+V%R3]5x
1Q2C2y.{0v/u6I(Q1\程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛1\2B/n6T)U+\;],R/Q9c!~*D
9q,f7X9W2g:A!F3H程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛void cpu_init(void)TechWeb-技术社区:U9`;h:D(u5V)B
{3@'X:H%R4C*e%S'K.k/L%a
SCSR1 = 0x83fe;
(D1k8l;q,h6^)b WDCR = 0x0e8;
.L8x9w9])i%tTechWeb-技术社区 asm(" SETC INTM");TechWeb-技术社区'{*z2r4Z4y&\7[!b&L9n
asm(" CLRC OVM");
&A!T0H(b(b(q4c$wTechWeb-技术社区 asm(" CLRC CNF");
(a%U5e)h5W-l*V'm/h Gtech.techweb.com.cn asm(" CLRC SXM");
!y/t8M7L+bTechWeb-技术社区 IMR = 0x0000;程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛;U#k%T$s1t"`3I:N
IFR = 0x0ffff;
(a5J7k7x*N-m+\} TechWeb-技术社区2P7[&d&G*v%S
7]1_;k%E&P
void sci_init(void)
#p9t7t3?8c程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛{2u.\5Q,{9]3?+g)v
MCRA |= 0x03;程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#O5~,Y"u)j"a j+R
SCICCR = 0x07;TechWeb-技术社区;T6k7Z$^-i8p0j'z
SCICTL1 = 0x13;1g.Z/Q;Q*U+A O
SCICTL2 = 0x03;
K(P:u,p%U;~9~;r(j"q2r SCIHBAUD = 0x02;*B#g+O/Q4@1b
SCILBAUD = 0x07;程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛.m/}9W-U2?(}(D,X
SCICTL1 = 0x33;
6~)f$U/@#a*L%ztech.techweb.com.cn SCIPRI = 0x60;
+y7G5k"y;n wtech.techweb.com.cn IMR |= 0x10;
)s'z:K7F3p"I!q程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 asm(" CLRC INTM");
6r+j2J0U5Wtech.techweb.com.cn}
+Q#Q*|&p0U$m
s q!@1T9r7M%g1Q9Htech.techweb.com.cnvoid send(char *var)!\5y-~+K'a3W:P
{8L3h$e#f/R9X(w9^.z#V-n
int i;
.j8u+W-P,g7btech.techweb.com.cn +u&w*Z0o+d*k n#b
for(i=0; i<strlen(var); i++)
5k3x,`2T*S'N$H,R {
#p5K:N1l0r!v2a SCICTL2 &= 0x0c0;
2Y(D4_6R:s,b-[程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 while(SCICTL2 != 0x0c0);tech.techweb.com.cn&M6P!S6\:w/z
SCITXBUF = var[i];tech.techweb.com.cn0v0b;v'm;Y,G6O!C1^/K(g
}程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛7V9@3K*u6V%V H'L-I4U2w
}
-L&t#Y0S4]/B%l!}/u7A*m,w6j-S)F B0w6W
void main(void)
*M.D)N)L6b)\/R;g{ *Q/F!p S(z6J$A
cpu_init();
2P"c k'J9E&A sci_init(); "L-C3p%c5?4f#t5t.S(n)F
send("ni hao!");
%H'J.B*C {&Y;w,K+ITechWeb-技术社区
$v;W(d z+R T1I"V"K.L while(1);
.]8z.s/Z(i%c8z}
$i6f#b5T*V#ctech.techweb.com.cn
9b8y/k'i7a)P#_!_8]6? |
|
引用
回复
|
|