登录站点

用户名

密码

MC9S12XDP512串口使用笔记(中断方式)

已有 663 次阅读  2010-04-28 16:35   标签笔记 

 

1.      相关寄存器:

1.      SCIBDH,SCIBDL:波特率寄存器(SCIBDH只有低5位有效)

波特率 = 总线频率 / (16 * SBR[12:0])

2.      SCICR2: SCI控制寄存器2

位数

7

6

5

4

3

2

1

0

含义

TIE

TCIE

RIE

ILIE

TE

RE

RWU

SBK

复位值

0

0

0

0

0

0

0

0

 

TIE: 发送中断使能位。使能发送数据寄存器空标志(TDRE)来产生中断申请

              TCIE: 发送完成中断使能位。使能发送完成标志(TC)来产生中断申请

              RIE: 接收器满中断使能位

              TE: 发送器使能位

              RE: 接收器使能位

3.      SCISR1: SCI状态寄存器1

位数

7

6

5

4

3

2

1

0

含义

TDRE

TC

RDRF

IDLE

OR

NF

FE

PF

复位值

1

1

0

0

0

0

0

0

      

       TDRE: 发送数据寄存器空标志

       TC: 发送完成标志

       RDRF: 接收数据寄存器满标志

4.      SCIDRL,(SCIDRH: SCI数据寄存器

2.寄存器使用注意事项:

1.  TDRE(TC)复位值为1,因此将SCICR2TIE(TCIE)置为1即可产生中断

2.  TDRETC的清除方法:读SCISR1,然后写SCIDRL,注意,发送完最后一个字节之后,会产生中断,但因为这是最后一个字节,故不会写SCIDRL,中断标志仍然存在

3.    RDRF的清除方法:读SCISR1,然后读SCIDRL

3.示例函数;

   说明:

1. 发送和接收都采用中断方式,以帧为基本处理单元,当接收到一帧完整数据时,置位接收标志,主程序不断查询接收标志,若接收标志置位,则调用接收处理函数解析接收到的帧。

2. 通信协议基本形式:帧头(1字节) +通信头(1字节) +通信数据长度(1字节) +通信数据+校验字(1字节)

通信头: 表示通信的内容

通信数据长度 = 通信数据长度 + 校验字长度

http://blog.csdn.net/finewind

上一篇: MC9S12XDP512下IIC模块的应用总结 没有了

分享 举报