CCS5.4+Proteus8的F28027实践课十二、SCI

刚去健身房锻炼回来,一路都是烧纸,菩萨保佑,我一定好好学习。
今晚我们的主题是编写SCI基本驱动程序。
来来来,直接说了,今晚我们还是采用非中断回环模式,其实程序还是比较简单的,我先说下思路:
1、系统复位;
2、设置数据格式,包括停止位、奇偶校验位、回环测试模式、空闲线/地址为模式、字符串长度;
3、使能发送和接收;
4、设置波特率;
5、相关引脚设置;
6、编写发送子程序和接收子程序;

其实对应程序,只用到了几个寄存器,我们还是一起来看下.
首先是配置寄存器:
SCICCR
这个配置寄存器每一位我们都需要去设置,也就是我们刚才说的第二点;
然后是控制寄存器1:
SCICTL1
这个寄存器里面设置发送接收使能和复位;
接着是波特率寄存器:
波特率
波特率
波特率就是按照计算公式,根据需要生成的波特率,自己算一下寄存器的取值;
下面是控制寄存器2:
SCICTL2
主要是TXRDY位,发送准备位;
再下面是接收状态寄存器:
接收状态寄存器
这里需要注意的也是接收准备位RXRDY;
最后需要注意的是发送寄存器和接收寄存器位宽不同
其中发送寄存器是8位宽的:
SCITXBUF
而接收状态寄存器是16位宽的:
SCIRXBUF

好了,到这里寄存器相关需要注意的位也讲完了,现在开始写程序了。
程序比较简单,我刚刚去验证了,直接复制粘贴了
首先是DSP2802x_Sci.c文件

// TI File $Revision: /main/1 $
// Checkin $Date: August 14, 2008   16:58:46 $
//###########################################################################
//
// FILE:    DSP2802x_Sci.c
//
// TITLE:    DSP2802x SCI Initialization & Support Functions.
//
//###########################################################################
// $TI Release: f2802x Support Library v200 $
// $Release Date: Tue Jul 24 10:01:39 CDT 2012 $
//###########################################################################

#include "F2802x_Device.h"     // Headerfile Include File
#include "F2802x_Examples.h"   // Examples Include File

//---------------------------------------------------------------------------
// InitSci:
//---------------------------------------------------------------------------
// This function initializes the SCI(s) to a known state.
//
void InitSci(void)
{
    EALLOW;

    SciaRegs.SCICCR.bit
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值