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

📄 sci.c

📁 LF2407的各个模块的测试程序,包含2407里面的所有模块,均已经调试通过,心血所致,希望对大家有所帮助.
💻 C
字号:

void SCI_init()
{
	*SCICCR = 0x7;
	
	*SCICTL1 = 0x13;
	*SCICTL2 = 0x2;//使能接收中断,禁止发送中断。
	*SCIHBAUD = 0x1;
	*SCILBAUD = 0x37;//9600,计算公式--》BRR = (SYSCLK/(SCI通讯波特率×8))-1,在这里开发板SYSCLK是15M
											//自己作的板子,12M晶振,为9B
											//2倍频的时候是0x137
											//4倍频的时候不稳定
	*SCICTL1 = 0x33;
	
	*SCIPRI = 0x60;
	*MCRA = 0x3;
	*PADATDIR = 0x100;
	*IMR = 0x12;//使能INT2和INT5
}

void SCI_Send_Char(char m_char)
{
	*SCITXBUF = m_char;
	while(!(*SCICTL2 & 0x80));//等待发送完成
}

void SCI_Send_String(char * string)
{
	int l = strlen(string);
	int i = 0;
	
	for(i=0;i<l;i++)
	{
		*SCITXBUF = string[i];
		while(!(*SCICTL2 & 0x80));//等待发送完成
	}
	*SCITXBUF = '\n';//换行
	while(!(*SCICTL2 & 0x80));//等待发送完成
}

void SCI_Recv()
{
	char RCV_char;	
	static int i = 0;
	
	RCV_char = *SCIRXBUF;	
	if(RCV_char == 0x0d)//回车符
		SCI_Send_Char('\n');
	else
		SCI_Send_Char(RCV_char);
	
	*IFR = 0x0010;
	asm(" clrc INTM");//开总中断
	return;
}

void interrupt SCI_INT()
{
	switch( *PVIR )
	{
		case 6:	SCI_Recv();
	//	case 7: SCI_Send_String("I am LvWei!");
	}
}

⌨️ 快捷键说明

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