linux与window的\r与\n
应用程序
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的更多相关文章
- Samba实现Linux与Window文件的传输
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...
- weblogic在linux和window下的安装
weblogic在linux和window下的安装 weblogic下载地址 Windows server2008 一直下一步没什么坑 centos6.5 使用rpm安装jdk8 JDK下载 安装jd ...
- Java获取Linux和Window系统CPU、内存和磁盘总使用率的情况
这是一个工具类,获取的内容: CPU使用率:得到的是当前CPU的使用情况,这是算出的是两次500毫秒时间差的CPU使用率 内存使用率:[1 - 剩余的物理内存/(总的物理内存+虚拟内存) ] * 1 ...
- Linux on window初体验
参照来源: https://www.cnblogs.com/enet01/p/7458767.html 1:liunx on window 的配置不多说(百度网上很多)启动开发这模式,在应用和程序中勾 ...
- JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构
一.简介 JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构 二.依赖 <!-- https://mvnrepository.com/artifact/org.fus ...
- (转)关于linux挂载window下共享文件
关于linux挂载window下共享文件的方法: ①事先建立linux下文件夹,例如“ /mnt/linux-folder”②用mount命令挂载 mount -o username=windo ...
- linux 文件权限除了r、w、x外还有s、t、i、a权限说明
linux 文件权限除了r.w.x外还有s.t.i.a权限 s: 文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行.在设置s权限时文件属主.属组必须先设置相应的x权限,否 ...
- linux与window文件传输(使用ssh+putty)
linux与window文件传输(使用ssh+putty) https://blog.csdn.net/Imagine_Dragon/article/details/78303241
- (原创)Linux跟Window共享文件的两个简单方法
第一中种方法: Linux中启动shell,输入如下命令: mount -t cifs -o username="my-pc-name",password="my-pas ...
随机推荐
- Web爬虫的C#请求发送
public class HttpControler { //post请求发送 private Encoding m_Encoding = Encoding.GetEncoding("gb2 ...
- 2D游戏中的碰撞检测:圆形与矩形碰撞检测(Javascrip版)
一,原理介绍 这回有点复杂,不过看懂了还是很好理解的.当然,我不敢保证这种算法在任何情况下都会起效果,如果有同学测试时,发现出现错误,请及时联系我. 我们首先来建立一个以圆心为原点的坐标系: 然后要检 ...
- abap 中modify 的使用
1.modify table itab from wa Transporting f1 f2 ... 表示表itab中符合工作区wa 中关键字的一条数据的 f1 f2字段会被wa中对应的字段值更新. ...
- django xadmin的全局配置
在adminx.py中增加 class BaseSetting(object): enable_themes = True use_bootswatch = True class GlobalSett ...
- 细说PHP7
PHP7带来的新东西 1.类型的声明. 可以使用字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool),来声明函数的参数类型与函数返回值. declare(s ...
- Linux mount Windows目录
[问题描述] Windows 机器192.168.1.103共享了 /share/yasi 目录,并且赋予了写的权限,在Windows机器下可以用 yasi/pass 登录.在一台CentOS 6.3 ...
- C++关联式容器的排序准则
stl中set和map为关联式容器,会根据排序准将元素自动排序.原型如下: template<class _Kty, class _Pr = less<_Kty>, class _A ...
- 数据库(11)-- Hash索引和BTree索引 的区别
索引是帮助mysql获取数据的数据结构.最常见的索引是Btree索引和Hash索引. 不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的索引是Btree索引:而Mermory默认的索引是 ...
- JQuery EasyUI 扩展方法 日期控件 设置时间段函数
/** Jquery扩展方法--by hgx 2018年1月8日-- * 设置时间段函数,开始时间(1号)与结束时间(当前日期) * 传入参数:--spaceMonth:查询间隔月,1为间隔查询一个月 ...
- tomcat源码调试
三.tomcat目录结构 tomcat的下载安装有很多教程,不再赘述. 现在的tomcat已经到9了,当tomcat下载安装完成后,其目录大致如下: 除了上面的文件夹,还有四个文件: ...