sci.c

来自「TIDSP2407的CAN总线例程」· C语言 代码 · 共 81 行

C
81
字号
#include <main.h>
#include "ex.h"

/*
+------------------------------------------------------------------------------+
	函 数 名  	: sci_init
	功能描述	: SCI的初始化
	函数原形	: void sci_init(U16 speed)
	参数说明	: 
	支持资源	: 
	作    者	: 桂林
	最后更改日期: 2002-11-01
+------------------------------------------------------------------------------+
*/
void sci_init(U16 speed)//speed=(12,24,48,96,192,384,1152;8-N-1)
{
	SCICCR	= 0x07;//8-N-1
	SCICTL1	= 0x03;//reset sci
	switch(speed)
	{
		case  12:{SCIHBAUD=0x10;SCILBAUD=0x46;break;}
		case  24:{SCIHBAUD=0x08;SCILBAUD=0x22;break;}
		case  48:{SCIHBAUD=0x04;SCILBAUD=0x11;break;}
		case  96:{SCIHBAUD=0x02;SCILBAUD=0x08;break;}
		case 192:{SCIHBAUD=0x01;SCILBAUD=0x03;break;}
		case 384:{SCIHBAUD=0x00;SCILBAUD=0x81;break;}
		default :{SCIHBAUD=0x00;SCILBAUD=0x2a;break;}//1152
	};
	SCICTL2	= 0x02;//enable rx int
	SCIPRI	= 0x0c;
	SCICTL1	= 0x23;// sci work
}
/*
+------------------------------------------------------------------------------+
	函 数 名  	: sci_tx
	功能描述	: SCI发送
	函数原形	: void sci_tx(U16 x)
	参数说明	: x是待发送数据
	支持资源	: 
	作    者	: 桂林
	最后更改日期: 2002-11-01
+------------------------------------------------------------------------------+
*/
void sci_tx(U16 x)
{
	while(!GET_BIT(SCICTL2,6));
	SCITXBUF = x;//SCITXBUF = (0x00ff & x);
}
/*
+------------------------------------------------------------------------------+
	函 数 名  	: sci_rx
	功能描述	: SCI接收
	函数原形	: U16  sci_rx(void)
	参数说明	: 
	支持资源	: 
	作    者	: 桂林
	最后更改日期: 2002-11-01
+------------------------------------------------------------------------------+
*/
U16  sci_rx(void)
{
	while(!GET_BIT(SCIRXST,6));
	return(SCIRXBUF);//return(0x00ff & SCIRXBUF);
}
/*
+------------------------------------------------------------------------------+
	函 数 名  	: SCIRX_ISR()
	功能描述	: SCIRX中断函数
	函数原形	: interrupt void SCIRX_ISR(void)
	参数说明	: 
	支持资源	: 
	作    者	: 桂林
	最后更改日期: 2002-11-15
+------------------------------------------------------------------------------+
*/ 
interrupt void SCIRX_ISR(void)
{
	//sci_tx('c');
	EnableINT;
} 		   	 

⌨️ 快捷键说明

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