📄 initsci.c
字号:
/**********************************************************************
* File: Sci.c
* Devices: TMS320F2812, TMS320F2811, TMS320F2810
**********************************************************************/
#include "DSP281x_Device.h"
// EXAMPLE_BIOS or EXAMPLE_NONBIOS are defined in the CCS project build options
#ifdef EXAMPLE_BIOS
#include "example_BIOS.h"
#endif
#ifdef EXAMPLE_NONBIOS
#include "example_nonBIOS.h"
#endif
/**********************************************************************
* Function: InitSci()
*
* Description: Initializes the SCI on the F281x.
**********************************************************************/
void InitSciA()
{
/******/
SciaRegs.SCICCR.all=0x07; //SCI通信控制寄存器
/*
bit 7 0: STOP BITS 一个结束位
bit 6 0: parity 奇极性
bit 5 0: parity enable 禁止极性功能
bit 4 0: loop back ena 禁止回送测试模式功能
bit 3 0: addr/idle mode 选择空闲线协议
bit 2 1: 字符长度8
bit 1 1: 字符长度8
bit 0 1: 字符长度8
*/
/******/
SciaRegs.SCICTL1.all=0x03; //SCI控制寄存器1
/*
bit 7 0: reserved
bit 6 0: rx err int ena
bit 5 0: sw reset
bit 4 0: reserved
bit 3 0: tx wake
bit 2 0: sleep
bit 1 1: tx ena
bit 0 1: rx ena
*/
/******/
SciaRegs.SCICTL2.all=0x0002; //SCI控制寄存器2
/*
bit15-8 ; reserved
bit 7 0: TXRDY
bit 6 0: TX EMPTY
bit 5 0: Reserved
bit 4 0: Reserved
bit 3 0: Reserved
bit 2 0: Reserved
bit 1 1: RS/BK INT ENA
bit 0 1: TX INT ENA
*/
/******/
SciaRegs.SCIHBAUD=0x01; //SCI波特率选择寄存器
SciaRegs.SCILBAUD=0xe7;
/******/
// ScibRegs.SCIFFTX.bit.SCIFFENA=1;//使能SCI FIFO的增强型功能
// ScibRegs.SCIFFRX.bit.RXFFIENA=1;
// ScibRegs.SCIFFRX.all=0x0021;
// ScibRegs.SCIFFTX.all=0x0c021;
// ScibRegs.SCIFFTX.bit.TXFFIENA=0;
// ScibRegs.SCIFFCT.all=0x0;
SciaRegs.SCICTL1.all=0x23;
PieCtrlRegs.PIEIER9.bit.INTx1 = 1; // Enable SCIRXINT in PIE group 9
// PieCtrlRegs.PIEIER9.bit.INTx4 = 1; // Enable SCITXINT in PIE group 9
IER |= 0x0100; // Enable INT9 in IER to enable PIE group 9
} // end SciInit()
//void InitSciB()
//{
/******/
// ScibRegs.SCICCR.all=0x07; //SCI通信控制寄存器
/*
bit 7 0: STOP BITS 一个结束位
bit 6 0: parity 奇极性
bit 5 0: parity enable 禁止极性功能
bit 4 0: loop back ena 禁止回送测试模式功能
bit 3 0: addr/idle mode 选择空闲线协议
bit 2 1: 字符长度8
bit 1 1: 字符长度8
bit 0 1: 字符长度8
*/
/******/
// ScibRegs.SCICTL1.all=0x03; //SCI控制寄存器1
/*
bit 7 0: reserved
bit 6 0: rx err int ena
bit 5 0: sw reset
bit 4 0: reserved
bit 3 0: tx wake
bit 2 0: sleep
bit 1 1: tx ena
bit 0 1: rx ena
*/
/******/
// ScibRegs.SCICTL2.all=0x0002; //SCI控制寄存器2
/*
bit15-8 ; reserved
bit 7 0: TXRDY
bit 6 0: TX EMPTY
bit 5 0: Reserved
bit 4 0: Reserved
bit 3 0: Reserved
bit 2 0: Reserved
bit 1 1: RS/BK INT ENA
bit 0 1: TX INT ENA
*/
/******/
// ScibRegs.SCIHBAUD=0x01; //SCI波特率选择寄存器
// ScibRegs.SCILBAUD=0xe7;
/******/
// ScibRegs.SCIFFTX.bit.SCIFFENA=1;//使能SCI FIFO的增强型功能
// ScibRegs.SCIFFRX.bit.RXFFIENA=1;
// ScibRegs.SCIFFRX.all=0x0021;
// ScibRegs.SCIFFTX.all=0x0c021;
// ScibRegs.SCIFFTX.bit.TXFFIENA=0;
// ScibRegs.SCIFFCT.all=0x0;
// ScibRegs.SCICTL1.all=0x23;
// PieCtrlRegs.PIEIER9.bit.INTx3 = 1; // Enable SCIRXINT in PIE group 9
// PieCtrlRegs.PIEIER9.bit.INTx4 = 1; // Enable SCITXINT in PIE group 9
// IER |= 0x0100; // Enable INT9 in IER to enable PIE group 9
//} // end SciInit()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -