printf("\033[1;33m Hello World. \033[0m \n");有趣的串口之超级终端的玩法

 转载自:http://blog.csdn.net/hanghang121/article/details/40825527


[cpp]  view plain  copy
 print ?
  1. <pre name="code" class="cpp">颜色特效控制:  
  2.   
  3. printf("\033[1;33m Hello World. \033[0m \n");  
  4. 颜色如下:  
  5. none         = "\033[0m"  
  6. black        = "\033[0;30m"  
  7. dark_gray    = "\033[1;30m"  
  8. blue         = "\033[0;34m"  
  9. light_blue   = "\033[1;34m"  
  10. green        = "\033[0;32m"  
  11. light_green -= "\033[1;32m"  
  12. cyan         = "\033[0;36m"  
  13. light_cyan   = "\033[1;36m"  
  14. red          = "\033[0;31m"  
  15. light_red    = "\033[1;31m"  
  16. purple       = "\033[0;35m"  
  17. light_purple = "\033[1;35m"  
  18. brown        = "\033[0;33m"  
  19. yellow       = "\033[1;33m"  
  20. light_gray   = "\033[0;37m"  
  21. white        = "\033[1;37m"  
  22.   
  23. 字背景颜色范围: 40--49                   字颜色: 30--39  
  24.             40: 黑                          30: 黑  
  25.         41:红                          31: 红  
  26.         42:绿                          32: 绿  
  27.         43:黄                          33: 黄  
  28.         44:蓝                          34: 蓝  
  29.         45:紫                          35: 紫  
  30.         46:深绿                        36: 深绿  
  31.         47:白色                        37: 白色  
  32.   
  33.    
  34.   
  35. 输出特效格式控制:  
  36.   
  37. \033[0m  关闭所有属性    
  38. \033[1m   设置高亮度    
  39. \03[4m   下划线    
  40. \033[5m   闪烁    
  41. \033[7m   反显    
  42. \033[8m   消隐    
  43. \033[30m   --   \033[37m   设置前景色    
  44. \033[40m   --   \033[47m   设置背景色  
  45.   
  46.    
  47.   
  48. 光标位置等的格式控制:  
  49.   
  50. \033[nA  光标上移n行    
  51. \03[nB   光标下移n行    
  52. \033[nC   光标右移n行    
  53. \033[nD   光标左移n行    
  54. \033[y;xH设置光标位置    
  55. \033[2J   清屏    
  56. \033[K   清除从光标到行尾的内容    
  57. \033[s   保存光标位置    
  58. \033[u   恢复光标位置    
  59. \033[?25l   隐藏光标    
  60. \33[?25h   显示光标 


转载自:http://www.51hei.com/bbs/dpj-32687-1.html

常用的转义字符
在windows自带的超级终端中,如何清屏?
--通过发送0x0C(12)即可实现清屏。
--在“输入字符串”内容中输入 \x0c\0  :字符串结束标志;
--- 在上面的程序里找到 while(*str != '\0') ,您就会知道 \0 的功能了。它可以表示字符串的结束,您可以不用担心指针会溢出。
\n  :换行(asc II码为10);
--- 一般和 \r 配合使用以代表回车。因为 \n 只是表示换行而并不让光标回到行首, \r 是实现了回行首的功能。
\t  :横向跳格;                              
\b  :退格;
\r  :回车(ascⅱ码为13);
\f  :走纸换页;
\\  :字符\(ascⅱ码为92);
--- \ 是转义字符的表示符,当只想打一个 \ 时就可以打两个。
           
\'  :单引号;
'\"':双引号;
--- ' 在C里有特殊用法,所以这个表示只打印这个符号。
\d05:用8进制表示字符;
\x1c:用16进制表示字符
--- 有一些功能没有转义字符,我们就可以用这个指令直接表示指令。\x1c 相当于发送 0x1c 对应的ASC码功能。

关于颜色
在 ANSI 兼容终端里,可以用彩色显示文本而不仅仅是黑白。但是我们自己编写的程序能否输出彩色的字符呢?当然答案是肯定的。下面的语句就输出高亮的黑色背景的绿色字。
printf("\033[1;40;32m good!!! \033[0m Hello,NSFocus \n");
\033 声明了转义序列的开始,然后是 [ 开始定义颜色。后面的 1 定义了高亮显示字符。然后是背景颜色,这里面是40,表示黑色背景。接着是前景颜色,这里面是32,表示绿色。我们用 \033[0m 关闭转义序列, \033[0m 是终端默认颜色。通过上面的介绍,就知道了如何输出彩色字符了。因此,我就不再多说了。下面是对于彩色字符颜色的一些定义。
    前景            背景              颜色
    ---------------------------------------
    30                40              黑色
    31                41              紅色
    32                42              綠色
    33                43              黃色
    34                44              藍色
    35                45              紫紅色
    36                46              青藍色
    37                47              白色
   
代码              意义
    -------------------------
    0                终端默认设置(黑底白字)
    1                高亮显示
    4                使用下划线
    5                闪烁
    7                反白显示
    8                不可见


尾声
在嵌入式系统开发上,超级终端是相当有用的家伙,许多DEBUG程序都是用串口的,这里了解的更多的是ASC II码的一些特点。而了解这一些,使我们有许多想象。我们可以用超级终端来代替VB语言写的上位机程序,电脑上不用安装,只要有串口就行。可以实现数据采集的电脑显示,或是用电脑串口控制下位机的设备。任君想来!文中如有错误欢迎批评、指正。一切为学,多多交流。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值