⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsp28_sci.c

📁 DSP的AD转换程序
💻 C
字号:
//
//      TMDX ALPHA RELEASE
//      Intended for product evaluation purposes
//
//###########################################################################
//
// FILE:	DSP28_Sci.c
//
// TITLE:	DSP28 SCI Initialization & Support Functions.
//
//###########################################################################
//
//  Ver | dd mmm yyyy | Who  | Description of changes
// =====|=============|======|===============================================
//  0.55| 06 May 2002 | L.H. | EzDSP Alpha Release
//  0.56| 20 May 2002 | L.H. | No change
//  0.57| 27 May 2002 | L.H. | No change
//###########################################################################

#include "DSP28_Device.h"

//---------------------------------------------------------------------------
// InitSPI: 
//---------------------------------------------------------------------------
// This function initializes the SPI(s) to a known state.
//
void InitSci(void)
{
	//  配置SCI配置寄存器
	SciaRegs.SCICCR.bit.ADDRIDLE_MODE=0;   // 空闲线模式
	SciaRegs.SCICCR.bit.LOOPBKENA=0;       // 禁止自测试模式
	SciaRegs.SCICCR.bit.PARITY=0;          // 奇偶校验位 ----奇校验
	SciaRegs.SCICCR.bit.PARITYENA=0;       // 禁止奇偶校验
	SciaRegs.SCICCR.bit.SCICHAR=7;         // 8位字符长度
	SciaRegs.SCICCR.bit.STOPBITS=0;        // 一个停止位
	
	// 配置SCI控制寄存器1
	SciaRegs.SCICTL1.bit.RXENA=1;          // 使能接收操作
	SciaRegs.SCICTL1.bit.TXENA=1;          // 使能发送操作
	SciaRegs.SCICTL1.bit.RXERRINTENA=0;    // 禁止接收错误中断
	SciaRegs.SCICTL1.bit.SLEEP=0;          // 禁止睡眠模式
	SciaRegs.SCICTL1.bit.SWRESET=0;        // 软件复位
	SciaRegs.SCICTL1.bit.TXWAKE=0;         //
	
	// 配置控制寄存器2
	SciaRegs.SCICTL2.bit.TXINTENA=1;       // 使能发送中断
	SciaRegs.SCICTL2.bit.RXBKINTENA=1;     // 使能接收中断
	
	// 配置波特率寄存器,波特率取为9600,波特率计算方法:LSPCLK/(8*BRR+1)
	SciaRegs.SCIHBAUD=487>>8;              // 高波特率字节取值,取高8位 487=111100111
	SciaRegs.SCILBAUD=487&0x00FF;          // 低波特率字节取值,取低8位
	
	// 设置堆栈寄存器
	SciaRegs.SCIFFTX.bit.SCIFFENA=1;       // 使能堆栈功能
	SciaRegs.SCIFFTX.bit.TXFFIENA=1;       // 使能发送堆栈的中断
	SciaRegs.SCIFFTX.bit.TXFIFOXRESET=1;   // 将发送堆栈从复位状态释放
	SciaRegs.SCIFFTX.bit.TXINTCLR=1;       // 清发送堆栈标志位
	
//  SciaRegs.SCIFFTX.all=0xE060;	       // 1位SCIRST位置1(不复位SCI模块),使能堆栈FIFO功能
                                           // 使能发送堆栈中断,清FIFO标志位,并将FIFO从复位状态
                                           // 释放
    
    SciaRegs.SCIFFRX.bit.RXFFIENA=1;       // 使能接收堆栈中断
    SciaRegs.SCIFFRX.bit.RXFFINTCLR=1;     // 清接收中断标志位
    SciaRegs.SCIFFRX.bit.RXFIFORESET=1;    // 将接收堆栈从复位状态释放
    SciaRegs.SCIFFRX.bit.RXOVF_CLR=1;      // 清接收溢出中断标志位
    SciaRegs.SCIFFRX.bit.RXFFIL=5;         // 设置接收堆栈中断级别为5
//    SciaRegs.SCIFFRX.all=0x6065;         

    // 将SCI模块从复位状态释放
    SciaRegs.SCICTL1.bit.SWRESET=1; 	
}	
	
//===========================================================================
// No more.
//===========================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -