[转载]DSP28_Sci.h头文件说明(一)

本文详细介绍了F2812 DSP芯片中的SCI(串行通信接口)模块,包括其工作原理、寄存器功能与配置方法。重点分析了SCIA与SCIB模块的特性,以及SCICCR、SCICTL1等关键寄存器的用途和参数设定,为开发者提供实用的指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:DSP28_Sci.h头文件说明(一)作者:simplorer

SCI即串行通信接口,是一个双线的异步串口,即具有接收和发送两根信号线的异步串口,一般可以看作是UART(通用异步接收/发送装置)。F2812的SCI模块支持DSP与采用NRZ(non-return-to-zero 不归零)标准格式的异步外围设备之间进行数字通信。

F2812内部有两个单独的SCI模块,SCIA与SCIB,每一个SCI模块都各有一个接收器和发送器。SCI的接收器和发送器各具有一个16级深度的FIFO队列,它们还都有自己独立的使能位和中断位,可以在半双工通信中进行独立的操作,或者在全双工通信中同时进行操作。需要注意的是,SCIA的13个寄存器都是8位的。

表1. SCI寄存器地址映射表

image

1. SCICCR
image

Bit(s)NameDescription
7STOP BITSSCI停止位个数,该位决定了发送停止位的个数,接收器仅对一个停止位进行检查。
    0   1位停止位
    1   2位停止位
6EVEN/ODD PARITY奇偶校验设置位,奇偶校验是否有效取决于SCICCR(5)的设置
    0   奇校验
    1   偶校验
5PARITY ENABLESCI奇偶校验使能位,如果SCI处于address-bit
multiprocesser模式(SCICCR(3)置1),地址位也包含在奇偶计算中,对于少于位的字符,剩余的无用位排除在奇偶校验之外。
    0   禁用奇偶校验
    1   使能奇偶校验  
4LOOPBACK ENA测试模式使能位,使能此位,Rx与Tx在内部连接在一起。
    0   禁止此模式
    1   使能此模式
3ADDR/IDLE MODESCI多机模式控制位,多机模式与普通模式不同,需要使能SLEEP与TXWAKE功能。多机模式增加了一个地址位到数据帧中,普通模式(空闲模式)无此位,与典型的RS232通信兼容。
    0   空闲模式
    1   多机模式
2-0SCICHAR2-0字符长度控制位,1-8位长度可选,不够8位时,SCIRXBUF和SCIRXEMU寄存器中的数据是右对齐的,且SCIRXBUF中的无用位填0,SCITXBUF中的无用位不用填0。
    000     1
    001     2
    010     3
    011     4
    100     5
    101     6
    110     7
    111     8


2. SCICTL1
image

Bit(s)NameDescription
7Reserved读为0,写无效
6RX ERR INT ENASCI接收错误中断使能位
    0   禁用此中断
    1   使能此中断
5SW RESET软件复位,写0,复位SCI状态机与操作标志(SCICTL2与SCIRXST),不影响其余配置位。直至写1,所有起作用的逻辑均保持确定的复位状态,系统复位后,此位写1,才可使能SCI,当检测到一个接收间断时(BRKDT,SCIRXST(5)),清除该位。SW RESET影响的标志位如下

Value After
SW  RESET     SCI Flag                    Register Bit
    1              TXRDY                SCICTL2, bit 7
    1              TX EMPTY           SCICTL2, bit 6
    0              RXWAKE              SCIRXST, bit 1
    0              PE                      SCIRXST, bit 2
    0              OE                     SCIRXST, bit 3
    0              FE                      SCIRXST, bit 4
    0              BRKDT     

### 关于 `DSP2833x_Examples.h` 的代码示例和文档 #### 使用 TI C2000 DSP 开发环境中的头文件和示例程序 对于TI的C2000系列DSP,特别是TMS320F28335型号,在开发过程中经常需要用到特定的库函数以及配置宏定义来简化编程工作。这些功能通常被封装在个名为`DSP2833x_Examples.h`的全局包含文件里[^1]。 此头文件主要作用在于提供系列预处理器指令用于设置不同的硬件模块参数,并声明了些常用的外部变量与函数原型以便开发者调用。通过引入该文件可以更方便快捷地访问底层寄存器并实现对外围设备的操作。 下面是个简单的例子展示如何利用这个头文件来进行串口通信初始化: ```c #include "DSP2833x_Device.h" // Device Headerfile and Examples Include File #include "DSP2833x_Examples.h" void InitSCI(void){ EALLOW; SysCtrlRegs.WDCR=0x00A7; // Watchdog timer disable EDIS; SciaInit(9600); // Initialize SCI-A at 9600 baud rate using default settings. } ``` 上述代码片段展示了怎样借助`DSP2833x_Examples.h`完成基本的系统控制寄存器配置及异步串行接口(UART)波特率设定操作。 为了获取更多关于`DSP2833x_Examples.h`的具体应用案例,建议查阅官方提供的ControlSuite资料包内的各个实例工程源码。例如可以在路径`C:\ti\controlSUITE\controlSUITE\device_support\f2833x\v132\DSP2823x_examples_ccsv4`找到多个不同类型的项目模板供学习参考。 此外还可以参考TI官方网站上的技术手册和技术支持论坛,那里会有更加详尽的产品说明文档和支持信息帮助理解具体API的功能及其应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值