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 + -
显示快捷键?