串行通信实验

串行通信实验
实验目的:
1、掌握tms320lf2407串行通信模块的工作原理
2、掌握tms320lf2407串行通信模块程序设计
tms320lf2407串行通信的软件设计可以采用查询和中断两种方式来实现,其中查询方式是查询控制寄存器相应的标志位,执行相应的动作,以下是一种简单的软件查询的串行通信实验程序,硬件部分将scitxd和scirxd连接在一起,需发送的字符存放在起始地址为300h的内部ram区,发送的目的地是起始地址为60h的内部ram区。
;============================================
; 文件名:sci.asm
;===========================================
.include f2407regs.h
.include vectors.h
.def _c_int0
kick_dog .macro ;复位看门狗
ldp #0e0h
splk #05555h,wdkey
splk #0aaaah,wdkey
ldp #0h
.endm
;=====================================
;main code -starts here
;=====================================
.text
_c_int0: ldp #0
setc intm ;关中断
ldp #0e0h
splk #040h,scsr1 ;使能sci模块时钟
splk #06fh,wdcr ;禁止看门狗
kick_dog
splk #0h,60h ;设置程序空间的等待状态字
out 60h,wsgr
;=====================================
;sci transmission test -starts here
;=====================================
sci: ldp #0e1h
splk #03h,mcra
lar ar0,#scitxbuf ;装载scitxbuf指针
lar ar1,#scirxbuf ;装载scirxbuf指针
lar ar2,#0fh ;数据个数
lar ar3,#60h ;目的地址指针
lar ar7,#300h ;源地址指针
ldp #sciccr>>7
splk #17h,sciccr ;一个停止位、奇校验、8位字符、空闲多处理模式
splk #03h,scictl1 ;使能tx、rx、内部的sciclk
splk #00h,scictl2 ;关rx&tx中断
splk #02h,scihbaud
splk #08h,scilbaud ;波特率为9600b/s(40mhz sysclk)
splk #023h,scictl1 ;重新使能sci
xmit_char:
ldp #6h
mar *,ar7
lacl *+ ;装载需发送的字符
mar *,ar0
sacl *,ar1 ;写需发送的字符至发送缓冲器
ldp #sciccr>>7
xmit_rdy:
bit scictl2,bit7 ;测试txrdy位
bcnd xmit_rdy,ntc ;如txrdy=0,则等待
rcv_rdy:
bit scirxst,bit6 ;测试rxrdy位
bcnd rcv_rdy,ntc ;如rxrdy=0,则等待
read_chr:
lacl *,ar3 ;接收字符存至60h起始地址的单元
sacl *+,ar2
banz xmit_char
loop: b loop
phantom:ret
.end

推动人工智能、可穿戴设备 等领域数据采集标准化
给你5000块,买华为Mate9Pro还是iPhone7?
苹果iPhone12印度遭遇通关延误
小米于大户暗盘成交价较招股价跌5%,孖展客户首日慎防遭斩仓
小米6:取消双曲面屏版本,另一款颜值炸裂新机本月发布!
串行通信实验
无线网桥有哪一些用法
美日共同研发新一代F-22战机,或将开放F-22战机技术?
光伏逆变器和储能逆变器区别
微波组件中的薄膜陶瓷电路板
三环集团:加速推进基础材料、单电池、电堆和系统的技术攻关
注意!投影银幕真假辨别支招!
ADAS验证的关键技术:HIL测试系统概述
部分MacBook Pro和MacBook Air 6月30日起将彻底淘汰
美法官搁置特斯拉投资者针对特斯拉及马斯克的集体诉讼
5G技术已运用于智慧医疗领域
传特斯拉砸2327亿收购比亚迪20%股份
路由器不知道该怎么选择?教你轻松选择无烦恼
雷曼为国家电网四川省电力公司打造超高清显示综合解决方案
CAN中继器常犯的错误设计