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

📄 shell.h

📁 uCOS-II的完整shel源码
💻 H
📖 第 1 页 / 共 2 页
字号:
;功    能: 修改P1口的输出值
;说    明:无
;入口参数:无
;返 回 值:无
;创 建 人: 何  呈
;创建日期:2007.6.20
;修改日期:2007.6.20
******************************************************************************/
//setio1处理函数
Deal_setio1()
{
	uchar i;
	Send_String("\nPlease input a unsigned char number.\n");
	Send_String(">");		
	Clear_UBuf();	 //清除串口接收缓存
    p = uart_buf;	 //设置串口接收的存储地址
	flag_uart = 0;         //稳定程序
	
	for(;;)
	{
		if(flag_uart)                    //如果有命令进入则调用处理函数
		{
			flag_uart = 0;
            if(isxdigit(uart_buf[0])&&isxdigit(uart_buf[1]))
			{
				for(i=0;i<2;i++)
				{
				 	if(isdigit(uart_buf[i]))
				 		uart_buf[i]=uart_buf[i]-48;
					else
					{	
						if(islower(uart_buf[i]))     //是否为小写字母
							uart_buf[i]=uart_buf[i]-87;
						else
							uart_buf[i]=uart_buf[i]-55;
					}
				}
				P1 =  (uart_buf[0]<<4) + uart_buf[1];
				Send_String(">0x");
				Send_Hex(P1);
				Send_String("\n");
				Send_String("The right number has been output from the P1 port!\n");
				Send_String(">");
				break;
			}
			
			Clear_UBuf();	 //清除串口接收缓存
            p = uart_buf;	 //设置串口接收的存储地址
			Send_String("Number error!\n"); 
		    Send_String("Please input a unsigned char number!\n");
		    Send_String(">");
		    flag_uart = 0;    //再次清标志位,稳定程序            	 
		}
	}
}
/*****************************************************************************
;函 数 名:Deal_setio2(void)
;功    能: 修改P2口的输出值
;说    明:无
;入口参数:无
;返 回 值:无
;创 建 人: 何  呈
;创建日期:2007.6.20
;修改日期:2007.6.20
******************************************************************************/
//setio处理函数
Deal_setio2()
{
	uchar i;
	Send_String("\nPlease input a unsigned char number.\n");
	Send_String(">");		
	Clear_UBuf();	 //清除串口接收缓存
    p = uart_buf;	 //设置串口接收的存储地址
	flag_uart = 0;         //稳定程序
	
	for(;;)
	{
		if(flag_uart)                    //如果有命令进入则调用处理函数
		{
			flag_uart = 0;
            if(isxdigit(uart_buf[0])&&isxdigit(uart_buf[1]))
			{
				for(i=0;i<2;i++)
				{
				 	if(isdigit(uart_buf[i]))
				 		uart_buf[i]=uart_buf[i]-48;
					else
					{	
						if(islower(uart_buf[i]))     //是否为小写字母
							uart_buf[i]=uart_buf[i]-87;
						else
							uart_buf[i]=uart_buf[i]-55;
					}
				}
				P2 =  (uart_buf[0]<<4) + uart_buf[1];
				Send_String("0x");
				Send_Hex(P2);
				Send_String("\n");
				Send_String("The right number has been output from the P2 port!\n");
				Send_String(">");
				break;
			}
			
			Clear_UBuf();	 //清除串口接收缓存
            p = uart_buf;	 //设置串口接收的存储地址
			Send_String("Number error!\n"); 
		    Send_String("Please input a unsigned char number!\n");
		    Send_String(">");
		    flag_uart = 0;    //再次清标志位,稳定程序            	 
		}
	}
}
/*****************************************************************************
;函 数 名:void Deal_boot(void)
;功    能: 系统复位
;说    明:无
;入口参数:无
;返 回 值:无
;创 建 人: 何  呈
;创建日期:2007.6.20
;修改日期:2007.6.20
******************************************************************************/
//boot处理函数
void Deal_boot(void)
{
	Send_String("\nAre you sure to boot the system? y/n?\n");
	Send_String(">");
	Clear_UBuf();	 //清除串口接收缓存
    p = uart_buf;	 //设置串口接收的存储地址
	flag_uart = 0;         //稳定程序

	for(;;)
	{
		if(flag_uart)                    //如果有命令进入则调用处理函数
		{
			flag_uart = 0;
            if(!(bit)strcmp(uart_buf,"y"))
			{
				Send_String("\nSystem has been boot!\n>");
 				((void(code *)(void))0x0000)();	//boot the system
			}
			else if(!(bit)strcmp(uart_buf,"n"))
			{	
				Send_String("\nSystem hasn't been boot!\nSystem return!\n>");
				break;
			}
			else
			{            	 
				Send_String("System hasn't been boot!\n\
input 'y' to boot the System.\n\
input 'n' to return.\n>");
			}
			Clear_UBuf();	 //清除串口接收缓存
            p = uart_buf;	 //设置串口接收的存储地址
			flag_uart = 0;       //稳定程序
		}
	}

}
/*****************************************************************************
;函 数 名:void Deal_down(void)
;功    能: 减小一个系统参数
;说    明:无
;入口参数:无
;返 回 值:无
;创 建 人: 何  呈
;创建日期:2007.6.20
;修改日期:2007.6.20
******************************************************************************/
//down处理函数
void Deal_down(void)
{
	Send_String("\nudowned");
	          //执行程序函数
	Send_String("\n>");
}
//up处理函数
void Deal_up(void)
{
    Send_String("\nupped");
	          //执行程序函数
	Send_String("\n>");
}
/*****************************************************************************
;函 数 名:Deal_writei2c(void)
;功    能: 向24cxx写入数据
;说    明:无
;入口参数:无
;返 回 值:无
;创 建 人: 何  呈
;创建日期:2007.6.20
;修改日期:2007.6.20
******************************************************************************/
Deal_writei2c(void)
{	
	uint i,n0,n1;

	Send_String("\nPlease input a uchar number which is the address you want to write at.\n");	
	Send_String(">");
	Clear_UBuf();	 //清除串口接收缓存
    p = uart_buf;	 //设置串口接收的存储地址
	flag_uart=0;	 //再次清标志位,稳定程序 

	for(;;)
	{
		if(flag_uart)                    //如果有命令进入则调用处理函数
		{
			flag_uart = 0;
            if(isxdigit(uart_buf[0])&&isxdigit(uart_buf[1]))
			{
				for(i=0;i<2;i++)
				{
				 	if(isdigit(uart_buf[i]))
				 		uart_buf[i]=uart_buf[i]-48;
					else
					{	
						if(islower(uart_buf[i]))     //是否为小写字母
							uart_buf[i]=uart_buf[i]-87;
						else
							uart_buf[i]=uart_buf[i]-55;
					}
				}
				n0 =  (uart_buf[0]<<4) + uart_buf[1];
				Send_String("0x");
				Send_Hex(n0);
				Send_String("\n");
				Send_String("The right number has been set!\n");
				Send_String(">");
				break;       //获得正确的数据,跳出for循环
			}
			
			Clear_UBuf();	 //清除串口接收缓存
            p = uart_buf;	 //设置串口接收的存储地址
			Send_String("Number error!\n"); 
		    Send_String("Please input a unsigned char number!\n");
		    Send_String(">");
		    flag_uart = 0;    //再次清标志位,稳定程序            	 
		}
	}
	Clear_UBuf();	 //清除串口接收缓存
    p = uart_buf;	 //设置串口接收的存储地址
	flag_uart=0;	 //再次清标志位,稳定程序
	Send_String("\nPlease input a uchar number which is the number you want to write.\n");
	Send_String(">");
		for(;;)
	{
		if(flag_uart)                    //如果有命令进入则调用处理函数
		{
			flag_uart = 0;
            if(isxdigit(uart_buf[0])&&isxdigit(uart_buf[1]))
			{
				for(i=0;i<2;i++)
				{
				 	if(isdigit(uart_buf[i]))
				 		uart_buf[i]=uart_buf[i]-48;
					else
					{	
						if(islower(uart_buf[i]))     //是否为小写字母
							uart_buf[i]=uart_buf[i]-87;
						else
							uart_buf[i]=uart_buf[i]-55;
					}
				}
				n1 =  (uart_buf[0]<<4) + uart_buf[1];
				Send_String("0x");
				Send_Hex(n1);
				Show_Hex(n1);
				Send_String("\n");
				Send_String("The right number has been set!\n");
				Send_String(">");
				break;
			}
			
			Clear_UBuf();	 //清除串口接收缓存
            p = uart_buf;	 //设置串口接收的存储地址
			Send_String("Number error!\n"); 
		    Send_String("Please input a unsigned char number!\n");
		    Send_String(">");
		    flag_uart = 0;    //再次清标志位,稳定程序            	 
		}
	}

	write_byte(n0,n1);
}
//清屏
void Deal_clr(void)
{
     
    Send_String("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");//25个回车换行清屏幕。

}
/*****************************************************************************
;函 数 名:void Deal_help(viod)
;功    能: 显示帮助命令菜单
;说    明:无
;入口参数:无
;返 回 值:无
;创 建 人: 何  呈
;创建日期:2007.6.20
;修改日期:2007.6.20
******************************************************************************/
//帮助处理函数
void Deal_help(viod)
{	
	Send_String("\n\
help   -- help.\n\
setio0 -- change the output value of P0.\n\
setio1 -- change the output value of P1.\n\
setio2 -- change the output value of P2.\n\
readio -- read value from 0~2 io port.\n\
  up   -- add one the number.\n\
 down  -- dec one to the number.\n\
 pause -- pause the System.\n\
 boot  -- restart the System.\n\
writei2c- write I2C.\n\
readi2c-- read I2C.\n\
  tled -- test led.\n\
  tlcd -- testlcd.\n\
  clr  -- clear screen.\n>");	
}
/*****************************************************************************
;函 数 名:void Deal_error(void)
;功    能: 错误命令处理函数
;说    明:无
;入口参数:无
;返 回 值:无
;创 建 人: 何  呈
;创建日期:2007.6.20
;修改日期:2007.6.20
******************************************************************************/
void Deal_error(void)
{
	Send_String("\ncammand error\n");
	         //执行程序函数
	Send_String(">");
}

⌨️ 快捷键说明

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