串行通信接口典型应用举例

串行通信接口典型应用举例

ID:38518110

大小:36.00 KB

页数:4页

时间:2019-06-14

串行通信接口典型应用举例_第1页
串行通信接口典型应用举例_第2页
串行通信接口典型应用举例_第3页
串行通信接口典型应用举例_第4页
资源描述:

《串行通信接口典型应用举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、串行通信接口典型应用举例SCI_FLAG.usect".data0",1;SCI标志寄存器TXD_PTR.usect".data0",8;发送的数据存放区RXD_PTR.usect".data0",8;接收到的数据存放区.include"F2407REGS.H";引用头部文件.def_c_int0;(1)建立中断向量表.sect".vectors";定义主向量段RSVECTB_c_int0;PM0复位向量1INT1BGISR1;PM2中断优先级14INT2BPHANTOM;PM4中断优先级25INT3BPHANTOM;PM6中断优先级36INT4BPHANTOM;PM8中断优先级47

2、INT5BPHANTOM;PMA中断优先级58INT6BPHANTOM;PMC中断优先级69RESERVEDBPHANTOM;PME(保留位)10SW_INT8BPHANTOM;PM10用户定义软件中断—…SW_INT31BPHANTOM;PM3E用户定义软件中断—;中断子向量入口定义pvecs.sect".pvecs";定义子向量段PVECTORSBPHANTOM;保留向量地址偏移量0000hBPHANTOM;保留向量地址偏移量0001h…BPHANTOM;保留向量地址偏移量0005hBSCI_RX_ISR;保留向量地址偏移量0006hSCI接收中断BPHANTOM;保留向量地址偏

3、移量0007h…BPHANTOM;保留向量地址偏移量0041h;(2)主程序:.text_c_int0SETCINTMCLRCSXMCLRCOVMCLRCCNF217LDP#0E0HSPLK#81FEH,SCSR1;CLKIN=6M,CLKOUT=24MSPLK#0E8h,WDCR;关看门狗CALLSCI_INIT;调串口初始化程序LDP#5HSPLK#00H,SCI_FLAG;清发送软件标志位TXD_LOOP:LDP#5HBITSCI_FLAG,BIT0BCNDTXD_DATA,TC;SCI_FLAG.0=1则发送数据BWAITTXD_DATA:;发送N个数据程序MAR*,AR0L

4、ARAR0,#TXD_PTRADRK#N+1;发送N个数据MAR*,AR4LACC*+;读数据CMPR00BCNDTXD_DATA_END,TC;判数据发送完?MAR*,AR2SACL*,AR4;数据送SCITXBUF寄存器XMIT_RDY:LDP#DP_PF1BITSCICTL2,BIT7BCNDXMIT_RDY,NTC;判发送器是否空?BTXD_DATATXD_DATA_END:MAR*,AR4LARAR4,#TXD_PTR;恢复发送的数据指针LDP#5HSPLK#00H,SCI_FLAG;清发送软件标志位WAIT:NOPBTXD_LOOP;(3)串行通信初始化程序:SCI_IN

5、IT:LDP#0E1HLACLMCRAOR#03H217SACLMCRA;配置串行口引脚为特殊功能:TXD、RXDLDP#DP_PF1SPLK#000FH,SCICCR;地址位唤醒模式,8位数据,;1位停止位,无奇偶校验SPLK#0007H,SCICTL1;接收、发送、内部时钟使能,SLEEP=1SPLK#0002H,SCICTL2;接收中断使能SPLK#0001H,SCIHBAUDSPLK#0038H,SCILBAUD;波特率为9600SPLK#0027H,SCICTL1;串口初始化完成LARAR1,#SCIRXBUF;接收缓冲寄存器地址LARAR2,#SCITXBUF;发送缓冲寄

6、存器地址LARAR3,#RXD_PTR;接收的数据指针LARAR4,#TXD_PTR;发送的数据指针LDP#0SPLK#0001h,IMR;允许INT1中断SPLK#0FFFFh,IFR;清所有中断标志CLRCINTM;开总中断RET;(4)中断程序GISR1:;优先级INT1中断人口;保护现场LDP#0E0HLACCPIVR,1;读取外设中断向量寄存器(PIVR),并左移一位ADD#PVECTORS;加上外设中断人口地址BACC;跳到相应的中断服务子程序SCI_RX_ISR:;接收中断服务程序LDP#DP_PF1MAR*,AR1BITSCICTL1,BIT2BCNDRXD_DATA

7、,NTC;SLEEP=0,接收数据LACC*;读入地址SUB#0AAHBCNDTXD_FLAG,EQ;接收到的地址为AAH,则发送数据SUB#0001HBCNDSCI_RX_END,NEQ;地址错误,退出中断SPLK#0033H,SCICTL1;地址为ABH,则清SLEEP=0;表示准备接收数据217BSCI_RX_ENDTXD_FLAG:;置发送标志LDP#5HSPLK#01H,SCI_FLAGBSCI_RX_ENDRXD_DATA:;接收N个数据LAC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。