zoukankan      html  css  js  c++  java
  • linux与window的 与

    应用程序
    void niuniu(void)
    {
    	char buf[16];
    	char *p[6];
    	int i;
    
    	led_init();
    	uart_init();
    
    	while(1)
    	{
    		puts("
    uart> ");
    		gets(buf);
    		// 去掉
    
    		buf[strlen(buf)-2] = '';
    		// strtok函数会使用全局变量
    		p[0] = strtok(buf, " ");
    		for(i=1; p[i-1]!=NULL; i++)
    		{
    			p[i] = strtok(NULL, " ");
    		}
    		if(strcmp(p[0], "ledon") == 0)
    		{
    			if(strcmp(p[1], "all") == 0)
    			{
    				for(i=1; i<5; i++)
    				{
    					led_on(i);
    				}
    			}
    			else
    			{
    				for(i=1; p[i]!=NULL; i++)
    				{
    					led_on(*p[i]-48);
    				}
    			}
    		}
    		if(strcmp(p[0], "ledoff") == 0)
    		{
    			if(strcmp(p[1], "all") == 0)
    			{
    				for(i=1; i<5; i++)
    				{
    					led_off(i);
    				}
    			}
    			else
    			{
    				for(i=1; p[i]!=NULL; i++)
    				{
    					led_off(*p[i]-48);
    				}
    			}
    		}
    	}
    }
    #endif
    ///////////驱动程序
    #if UART==1
    void uart_init(void)
    {
    	// 选择GPH2和GPH3的功能为UART
    	GPH.GPHCON = ((~(0xf<<4))&GPH.GPHCON)|(0xa<<4);
    
    	// 配置UART0为,8位数据,无校验,1位停止位,正常模式
    	UART0.ULCON0 = 0x3;
    	// 配置UART0为,中断或者轮巡方式
    	UART0.UCON0 = 0x5;
    	// 配置UART0为,波特率9600
    	// 12M/(9600*16)-1
    	UART0.UBRDIV0 = 0x4d;
    }
    
    void putc(char c)
    {
    	// 数据放入发送保持寄存器,然后在波特率协调下,发送移位器把保持寄存器中的数据一位一位的发送出去
    	UART0.UTXH0 = c;
    
    	// 等待发送保持寄存器中的数据发送完毕
    	while(!(UART0.UTRSTAT0&(0x1<<1)))
    	{
    	}
    }
    
    void puts(char *s)
    {
    	while(*s != '')
    	{
    		putc(*s++);
    	}
    }
    
    char getc(void)
    {
    	while(!(UART0.UTRSTAT0&(0x1<<0)))
    	{
    	}
    
    	return UART0.URXH0;
    }
    
    void gets(char *s)
    {
    	// kermit按下enter时,发送
    	do
    	{
    		*s = getc();
    		// kermit不会显示它发送的数据
    		putc(*s);
    	}while(*s++ != '
    ');
    
    	// kermit软件
    回车
    换行
    Linux下虽然回车只有一个
    ,但是
    起到了两个效果。
    _______________________________________________________________________________
    	*s++ = '
    ';
    	// puts需要
    	*s = '';
    }
    #endif
    //////////////////////////////
    Linux下
    
    代表回车(回到行首)
    
      代表换行(下一行,当前位置)
    puts("
     uart> ");//直接调用puts函数,后边自动有一个
    char buf[16];   gets(buf);
    
    当你在kermit下主动输入一个ledon 1时,会自动被这个函数获取,但是获取的是ledon 
    (
    是你在kermit环境下,自己按回车加上去的)
    然后gets函数会自动在后边加一个
    .
    ////////////
    
    Puts(“>>>>>
    1234”);
    Puts(“<<<<<<
    5678”);
    Puts(“+++++++
    tttt”);
    结果
    1234<<<<<<
    5678++++++++++++
                  tttt
    //////////////////////////
    Windos 环境下,写一个yan.txt
    当输入一个1,回车,
    当输入一个2,回车,
    当输入一个3的时候,保存退出。
    然后放到linux里边,命令od -c yan.txt
    结果
        1  
      
       2  
      
       3
    命令  ls -l |grep yan.txt
    -rwxr-xr-x  1 lh   lh           7    2014-09-18 09:01 yan.txt
    只有七个字节。
    Linux环境下,写一个piao
    当输入一个1,回车,
    当输入一个2,回车,
    当输入一个3的时候,保存退出。(这里确实没有输入回车)
    命令  ls  -l |grep piao
    结果 -rw-r--r--  1 lh   lh           6   2014-09-18 09:07 piao
    命令    od -c piao
    结果  1  
       2  
       3  
    
    Linux环境下,写一个piao2 
    当输入一个1,回车,
    当输入一个2,回车,
    当输入一个3的时候,出车,保存退出。
    命令  ls  -l |grep piao2
    结果 -rw-r--r--  1 lh   lh           7   2014-09-18 09:07 piao
    命令    od -c piao2
    结果  1  
       2  
       3  
       
    
    

      

  • 相关阅读:
    cocos2dx A* + tiledMap
    cocos2dx A*算法
    A*算法
    在VS2012中使用GitHub
    史上最全设计模式导学目录(完整版)
    IT之家
    各种与视频编解码以及视频图像处理的应用相关的新技术,新方法,各种软件开发相关的算法,思想。
    linux下vim命令详解
    两篇很牛的vim使用技巧
    (转)linux下导入、导出mysql数据库命令
  • 原文地址:https://www.cnblogs.com/coding4/p/5604763.html
Copyright © 2011-2022 走看看