📄 shell.h
字号:
;功 能: 修改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 + -