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

📄 sci_com.h

📁 使用MC9S12DP256写的CAN转串口程序。
💻 H
字号:
/***************************************************************************
    FUNCTION: static void Write_To_SCI0(const char *text)

    PURPOSE: 串口0输出字符串
****************************************************************************/
static void Write_To_SCI0(const char *text)//输出字符串
{
	ulong error_count = 0;
	while (*text != '\0')
	{
		SCI0DRL = *text++;
		
		while (!(SCI0SR1 & 0x80))	// wait for output buffer empty 
		{
		}  		
	}
	
	SCI0DRL = '\0';
	while (!(SCI0SR1 & 0x80))	// wait for output buffer empty 
	{
	}  
}

/***************************************************************************
    FUNCTION: void Write_To_SCI0_DATA(uint data)

    PURPOSE: 串口0输出16进制数
****************************************************************************/
void Write_To_SCI0_DATA(uint data)//把数字转化为数字字符
{
	ulong error_count = 0;
	char i,temp = 0;
	
	for(i=12;i>=0;i = i-4)
	{
		temp = (data>>i)&0x000F;
		SCI0DRL = (uchar)(temp<10 ? temp+48 : temp+55);
		
		while (!(SCI0SR1 & 0x80))	// wait for output buffer empty 
		{
		}  
	}	
}

void Write_To_SCI0_UCHAR_ASCII(uchar data)//发送数字!!!先发送高8位
{
	ulong error_count = 0;

	SCI0DRL = data;
	
	while (!(SCI0SR1 & 0x80))	// wait for output buffer empty 
	{
	}  
}

void Write_To_SCI1_UCHAR_ASCII(uchar data)//发送数字!!!先发送高8位
{
	ulong error_count = 0;

	SCI1DRL = data;
	
	while (!(SCI1SR1 & 0x80))	// wait for output buffer empty 
	{
	}  
}

/***************************************************************************
    FUNCTION: static void Execute_Command_SCI0(const char *cmd)

    PURPOSE: 串口0对接收到的字符串,执行命令
****************************************************************************/

static void Execute_Command_SCI0(const char *cmd)
{
/*	static i = 0;
	if (!strcmp(cmd,"Read Code")) 		// 	读取故障码
	{//调用Write_To_SCI0_DATA_ASCII,回传故障
	//???????读取EEPROM--*>
		for(i=0;i<16;i++)
			Write_To_SCI0_DATA_ASCII(error_code[i]);
			
	}
	else if(!strcmp(cmd,"Delete Code"))	// 	清除故障码
	{	//清除EEPROM中的故障码
		
		
	}
	else if(!strcmp(cmd,"OK"))	//检测仪回应
	{		
		Diagnoses_OK = 1;
	}
	else if(!strcmp(cmd,"OVER"))	//检测仪操作结束
	{
		Diagnoses_OK = 0xff;
	}*/
}

⌨️ 快捷键说明

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