sci_b.c
来自「开发环境为CCS。DSP12个典型例子源码」· C语言 代码 · 共 91 行
C
91 行
//###########################################################################
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
// Prototype statements for functions found within this file.
interrupt void cpu_timer0_isr(void);
void InitSci(void);
void main(void)
{
/*初始化系统*/
InitSysCtrl();
/*初始化Sci*/
InitSci();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
/*初始化PIE*/
InitPieCtrl();
/*初始化PIE中断矢量表*/
InitPieVectTable();
EALLOW;
PieVectTable.TINT0 = &cpu_timer0_isr;
EDIS;
/*初始化CpuTimers*/
InitCpuTimers();
ConfigCpuTimer(&CpuTimer0, 150, 100000);
StartCpuTimer0();
// Enable CPU INT1 which is connected to CPU-Timer 0:
IER |= M_INT1;
// Enable TINT0 in the PIE: Group 1 interrupt 7
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
for(;;);
}
void InitSci(void)
{
EALLOW;
GpioMuxRegs.GPGMUX.all = 0x0030;
EDIS;
ScibRegs.SCICCR.all = 0x07; // 1 bit stop, disable parity, idle mode, 8 bits data
ScibRegs.SCICTL1.all = 0x03; // enable TX
ScibRegs.SCICTL2.all = 0x02; //
ScibRegs.SCIPRI.all = 0x0000;
ScibRegs.SCIHBAUD = 0x00;
ScibRegs.SCILBAUD = 0x60;
ScibRegs.SCICTL1.all = 0x23;
}
interrupt void cpu_timer0_isr(void)
{
CpuTimer0.InterruptCount++;
// Acknowledge this interrupt to receive more interrupts from group 1
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
ScibRegs.SCITXBUF=0x85;
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?