应用程序
void niuniu(void)
{
char buf[16];
char *p[6];
int i; led_init();
uart_init(); while(1)
{
puts("\r\nuart> ");
gets(buf);
// 去掉\r\n
buf[strlen(buf)-2] = '\0';
// 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 != '\0')
{
putc(*s++);
}
} char getc(void)
{
while(!(UART0.UTRSTAT0&(0x1<<0)))
{
} return UART0.URXH0;
} void gets(char *s)
{
// kermit按下enter时,发送\r
do
{
*s = getc();
// kermit不会显示它发送的数据
putc(*s);
}while(*s++ != '\r'); // kermit软件\r回车\n换行
Linux下虽然回车只有一个\n,但是\n起到了两个效果。
_______________________________________________________________________________
*s++ = '\n';
// puts需要\0
*s = '\0';
}
#endif
//////////////////////////////
Linux下
\r代表回车(回到行首)
\n 代表换行(下一行,当前位置)
puts("\r\n uart> ");//直接调用puts函数,后边自动有一个\0
char buf[16]; gets(buf); 当你在kermit下主动输入一个ledon 1时,会自动被这个函数获取,但是获取的是ledon \r
(\r是你在kermit环境下,自己按回车加上去的)
然后gets函数会自动在后边加一个\n\0.
//////////// Puts(“>>>>>\r1234”);
Puts(“<<<<<<\r\n5678”);
Puts(“+++++++\ntttt”);
结果
1234<<<<<<
5678++++++++++++
tttt
//////////////////////////
Windos 环境下,写一个yan.txt
当输入一个1,回车,
当输入一个2,回车,
当输入一个3的时候,保存退出。
然后放到linux里边,命令od -c yan.txt
结果
1 \r \n 2 \r \n 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 \n 2 \n 3 \n
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 \n 2 \n 3 \n \n

  

linux与window的\r与\n的更多相关文章

  1. Samba实现Linux与Window文件的传输

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...

  2. weblogic在linux和window下的安装

    weblogic在linux和window下的安装 weblogic下载地址 Windows server2008 一直下一步没什么坑 centos6.5 使用rpm安装jdk8 JDK下载 安装jd ...

  3. Java获取Linux和Window系统CPU、内存和磁盘总使用率的情况

    这是一个工具类,获取的内容: CPU使用率:得到的是当前CPU的使用情况,这是算出的是两次500毫秒时间差的CPU使用率 内存使用率:[1 -  剩余的物理内存/(总的物理内存+虚拟内存) ] * 1 ...

  4. Linux on window初体验

    参照来源: https://www.cnblogs.com/enet01/p/7458767.html 1:liunx on window 的配置不多说(百度网上很多)启动开发这模式,在应用和程序中勾 ...

  5. JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构

    一.简介 JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构 二.依赖 <!-- https://mvnrepository.com/artifact/org.fus ...

  6. (转)关于linux挂载window下共享文件

    关于linux挂载window下共享文件的方法: ①事先建立linux下文件夹,例如“ /mnt/linux-folder”②用mount命令挂载    mount -o username=windo ...

  7. linux 文件权限除了r、w、x外还有s、t、i、a权限说明

    linux 文件权限除了r.w.x外还有s.t.i.a权限 s: 文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行.在设置s权限时文件属主.属组必须先设置相应的x权限,否 ...

  8. linux与window文件传输(使用ssh+putty)

    linux与window文件传输(使用ssh+putty) https://blog.csdn.net/Imagine_Dragon/article/details/78303241

  9. (原创)Linux跟Window共享文件的两个简单方法

    第一中种方法: Linux中启动shell,输入如下命令: mount -t cifs -o username="my-pc-name",password="my-pas ...

随机推荐

  1. 一种部署 Python 代码的新方法

    在Nylas,我们喜欢使用Python进行开发.它的语法简单并富有表现力,拥有大量可用的开源模块和框架,而且这个社区既受欢迎又有多样性.我们的后台是纯用 Python 写的,团队也经常在 PyCon ...

  2. Python-读入json文件并进行解析及json基本操作

      import json def resolveJson(path): file = open(path, "rb") fileJson = json.load(file) fi ...

  3. Angular 笔记系列(二)数据绑定

    数据绑定这块儿没啥说的,简单两个例子带过了. Hello World: <!DOCTYPE html> <html ng-app> <head> <title ...

  4. javascript 中的 parameter vs arguments

    像往常一样简单粗暴地看码: A parameter is the variable which is part of the method’s signature (method declaratio ...

  5. cpu-》内存-》磁盘

    cpu相当于计算机大脑负责计算以及发送执行命令:内存相当于人的记忆是临时存储:磁盘相当于笔记本,负责永久存储数据: 当系统需要调用硬盘当中的数据时,会将硬盘数据读入内存供cpu进行处理.cpu只会读取 ...

  6. 001-搭建spring boot项目

    1.第一步.file--new--project. 2.spring initializr--project sdk--default--next 3. 4.spring boot--选择依赖项--n ...

  7. cdoj1587 失恋772002天

    地址:http://acm.uestc.edu.cn/#/problem/show/1587 题目: 失恋772002天 Time Limit: 3000/1000MS (Java/Others)   ...

  8. JavaScript常用算法

    一.排序算法 1.Array.sort(function)(JavaScript原生排序算法)参数:比较函数(可选)若无参数,则按照首字母的ASCII码排序,比较函数的作用为确定排序 function ...

  9. Redis 数据结构-字符串源码分析

    相关文章 Redis 初探-安装与使用 Redis常用指令 本文将从以下几个部分进行介绍 1.前言 2.常用命令 3.字符串结构 4.字符串实现 5.命令是如果操作字符串的 前言 平时在使用 Redi ...

  10. 20145231熊梓宏《网络对抗》逆向及Bof基础

    20145231网络对抗<逆向及Bof基础> 实验目的与要求 1.本次实践的对象是一个名为pwn1的linux可执行文件. 2.若该程序正常执行,则main函数会调用foo函数,foo函数 ...