SCI使用16位的波特率选择寄存器值来选择64K种不同的串行时钟频率中的一种。 选择可以通过以下方法来确定:
当 BRR =1~65535时(BRR=波特率选择寄存器中的16位值):
SCI异步波特率
SYSCLK
RR
SYSCLK
波特率是按位计算的,而每位需要8个SCICLK周期。 当 BRR = 0 时
串行通信过程:
① 在进行串行通信之前,先对 SCI 通信控制寄存器 SCICCR 进行设置。 信息块的起始位始终是1位,停止位可选择1位或2位。
数据位的长度是可编程的,可设置1~8位,由SCICCR的SCICHAR2:0设置。数据位长度小于8位时,写到发送缓冲寄存器SCITXBUF的数据只有低L位被发送(这些数据位必须右对齐,因为对于少于8位的字符,左边的位是被忽略的)。
校验位可设,由SCICCR的PARITY ENABLE(5位)设置。校验方式有两种,奇、偶校验,由SCICCR的PARITY(6位)设置。
空闲线方式与地址位方式的选择,由SCICCR的ADDR/IDLE MODE(3位)设置。 SCICCR的SCIENA(4位)是一个总开关位。
② 在信息块的格式确定后就要确定串行通信的波特率。
串行通信的时钟SCICLK是由时钟源模块的SYSCLK按照SCI波特率寄存器规定的分频系数分频后得到的。
16位的波特率寄存器SCIHBAUD和SCILBAUD分别决定了波特率寄存器的高、低8位,二者共同构成了16位的波特率数值。
③ 设置好串行通信的波特率后,就要确定接收、发送部分的控制位,这些由SCI控制寄存器SCICTL1、2来完成,
④ 当数据写入SCITXBUF时,SCICTL2的TXRDY(7位)被清0;当SCITXBUF的数据全部移出后,则SCICTL2的TXRDY被置1,并且产生发送中断TXINT。 (3)SCI下位机程序
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究DSP课程设计(9)全文阅读和word下载服务。
相关推荐: