tms320lf2407考试_tms320lf2407 开发环境_tms320lf2407(101)

电脑杂谈  发布时间:2017-01-30 03:04:38  来源:网络整理

* 串行通信接口波特率计算

内部生成的串行时钟由系统时钟SYSCLK频率和波特率选择寄存器决定。串行通信接口使用16位波特率选择寄存器,数据传输的速度可以被编程为65000多种不同的方式。

不同通信模式下的串行通信接口异步波特率由下列方法决定,

- BRR=1—65535时的串行通信接口异步波特率,

SCI异步波特率=SYSCLK/ [( BRR+1)*8]

其中,BRR=SYSCLK/(SCI异步波特率*8)-1;

- BRR=0时的串行通信接口异步波特率,

SCI异步波特率=SYSCLK/16

这里BRR等于波特率选择寄存器的16位值。

哈尔滨工业大学——DSP 原理与应用实验指导书

III-66

四,实验程序

/* 2407A板:将JP11和JP14短接到2-3;

使用直连的串口通信电缆;

启动串口调试助手.exe;

PC机发送一个"."为结束标志*/

#include "2407c.h"

void wait(int nWait);

char cString[17]={"Hello PC!,Over|" },cReceive,cBuffer[17],cAnswer[16]

= {"Oh,you say"};

int bReceive,nLen;

main()

{

unsigned int uWork;

int i,k;

bReceive=0;

asm(" setc INTM");

asm(" clrc SXM");

asm(" clrc OVM");

*WDCR=0x6f;

*WDKEY=0x5555;

*WDKEY=0xaaaa; /*关闭看门狗中断*/

*SCSR1=0x81fe; /* 打开所有外设,设置时钟频率为40MHz */

uWork=(*MCRA);

uWork|=0x03; /* use SCITXD,SCIRXD */

哈尔滨工业大学——DSP 原理与应用实验指导书

III-67

(*MCRA)=uWork;

(*SCICCR)=0x07; /* 8位字符,1停止位,无校验*/

(*SCICTL1)=0x03; /* 使能发送和接收 */

(*SCICTL2)=0x00; /* 禁止接收和发送中断 */

(*SCIHBAUD)=0x02; /* 波特率=208H,40MHz */

(*SCILBAUD)=0x08; /* 208h=40*10^6/(9600*8)-1 */

(*SCICTL1)=0x23; /* 使能发送和接收,复位SCI */

while ( 1 )

{

if ( bReceive==0 )

{

for ( i=0;i<16;i++ )

{

do

{

uWork=(*SCICTL2);

} while ( uWork&0x0c0 != 0x0c0 );

(*SCITXBUF)=cString[i];

wait(1024);

}

}

else

{

for ( i=0;i<10;i++ )

{

do

{

uWork=(*SCICTL2);

} while ( uWork&0x0c0 != 0x0c0 );

哈尔滨工业大学——DSP 原理与应用实验指导书

III-68

(*SCITXBUF)=cAnswer[i];

wait(1024);

}

do

{

uWork=(*SCICTL2);

} while ( uWork&0x0c0 != 0x0c0 );


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-29489-101.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...