SCI
来源:互联网 发布:java开发框架 编辑:程序博客网 时间:2024/05/17 04:56
/*----------------------------------------------栗子1:串口向主机发送程序----------------------------------------------*/#include "DSP2833x_Device.h"#include "DSP2833x_Examples.h"void Scia_init();void Scia_xmit(char a);void delay(char b);void main(void){ Uint16 m=0; InitSysCtrl(); Scia_init(); EALLOW; GpioCtrlRegs.GPAMUX2.bit.GPIO29=1; EDIS; for(;m<1000;m++) Scia_xmit(m); delay(100);}void Scia_init(){ SciaRegs.SCIFFTX.all=0xe040; //使能FIFO,无FIFO中断 SciaRegs.SCIFFRX.all=0x2021; //使能FIFO接收,且1级FIFO SciaRegs.SCIFFCT.all=0; //禁止波特率检验 SciaRegs.SCICCR.all=0x0007; //空闲地址模式,1停止位,8位字长,无奇偶校验,禁止自测试 SciaRegs.SCICTL1.all=0x0003; //SCI发送,接收使能 SciaRegs.SCICTL2.all=0x0003; //SCI发送中断,接收中断使能 SciaRegs.SCIHBAUD=0x0001; //波特率9600bps SciaRegs.SCILBAUD=0x00e7; SciaRegs.SCICTL1.all=0x0023; //重新使能}void Scia_xmit(char a){ SciaRegs.SCITXBUF=a; while(SciaRegs.SCICTL2.bit.TXRDY!=1) {};//当TXRDY==0时,表示寄存器满,进入等待(即空操作),//直至SCITXBUF里面的数据发送完毕,此时发送寄存器为空,退出}void delay(char b){ for(;b>0;b++) ;}
/*-----------------------------------------------栗子2:串口中断接收程序:DSP+串口调试助手PC通过串口给28335发送数据,然后28335回发给串口 -----------------------------------------------*/#include "DSP2833x_Device.h"#include "DSP2833x_Examples.h"void Scia_init();void Scia_xmit(char a);void delay(char b);interrupt void scia_rx_isr();void main(void){ Uint16 m=0; InitSysCtrl(); InitPieCtrl(); IER|=0x0000; IFR|=0x0000; InitPieVectTable(); EALLOW; GpioCtrlRegs.GPAMUX2.bit.GPIO28=1; PieVectTable.SCIRXINTA=&scia_rx_isr; EDIS; IER=M_INT9; PieCtrlRegs.PIECTRL.bit.ENPIE=1; PieCtrlRegs.PIEIER9.bit.INTx1=1; EINT; ERTM; for(;m<1000;m++) Scia_xmit(m); delay(100);}void Scia_init(){ SciaRegs.SCIFFTX.all=0xe040; //使能FIFO,无FIFO中断 SciaRegs.SCIFFRX.all=0x2021; //使能FIFO接收,且1级FIFO SciaRegs.SCIFFCT.all=0; //禁止波特率检验 SciaRegs.SCICCR.all=0x0007; //空闲地址模式,1停止位,8位字长,无奇偶校验,禁止自测试 SciaRegs.SCICTL1.all=0x0003; //SCI发送,接收使能 SciaRegs.SCICTL2.all=0x0003; //SCI发送中断,接收中断使能 SciaRegs.SCIHBAUD=0x0001; //波特率9600bps SciaRegs.SCILBAUD=0x00e7; SciaRegs.SCICTL1.all=0x0023; //重新使能}void Scia_xmit(char a){ SciaRegs.SCITXBUF=a; while(SciaRegs.SCICTL2.bit.TXRDY!=1) {};}interrupt void scia_rx_isr(){ Uint16 ReceivedChar; ReceivedChar=SciaRegs.SCIRXBUF.all; ReceivedChar&=0xff; Scia_xmit(ReceivedChar); SciaRegs.SCIFFRX.bit.RXFFINTCLR=1; SciaRegs.SCIFFRX.bit.RXFFOVRCLR=1; PieCtrlRegs.PIEACK.all|=0x0100;}void delay(char b){ for(;b>0;b++) ;}
0 0
- SCI
- SCI
- SCI
- SCI
- SCI
- SCI 轶闻
- SCI 专题
- SCI 我爱你
- SCI检索
- SCI攻略
- 水SCI?
- 什么是SCI
- SCI/SMI
- 什么是SCI?
- SCI参考文献
- SCI机器人学
- SCI是什么
- SCI期刊
- 响应式布局
- 关于Android Studio里的Gradle,你所需要知道的都在这里了
- 安卓版本更新
- 设计模式_JAVA_策略模式
- hdoj 1969 Pie 【二分】
- SCI
- Xcode是如何诞生的?
- A*算法 cocos2dx 8数码
- jenkins+maven+svn+tomcat之快速部署初探(docker篇)
- POJ-3080 Blue Jeans(纯暴力)
- 常见的排序算法
- POJ 1050 To the Max
- PCB的初步认识
- CodeIgniter框架源码笔记(8)——性能调试:基准测试类Benchmark.php