嵌入式C语言终端界面输出颜色

STM32-蓝桥杯嵌入式LCD字符颜色、高亮显示 在做第九届省赛电子定时器的时候,里面有一个要求是高亮显示某个字符,然后就研究了一下如何进行字符颜色更改和高亮。 阅读详情

命令后界面输出颜色

嵌入式终端界面输出日志时,为了区分输出的有用信息、错误信息,可以给不同级别的输出加上不同的颜色,以方便查看。
下面是颜色的定义:

//颜色宏定义
#define NONE         "\033[m"
#define RED          "\033[0;32;31m"
#define LIGHT_RED    "\033[1;31m"
#define GREEN        "\033[0;32;32m"
#define LIGHT_GREEN  "\033[1;32m"
#define BLUE         "\033[0;32;34m"
#define LIGHT_BLUE   "\033[1;34m"
#define DARY_GRAY    "\033[1;30m"
#define CYAN         "\033[0;36m"
#define LIGHT_CYAN   "\033[1;36m"
#define PURPLE       "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN        "\033[0;33m"
#define YELLOW       "\033[1;33m"
#define LIGHT_GRAY   "\033[0;37m"
#define WHITE        "\033[1;37m"

使用方法

如下:

printf(YELLOW"this print msg is yellow!\n"NONE);

这样打印出来的字符串: “this print msg is yellow!” 就是黄色的。
颜色值放在打印内容开始的双引号前面,结束时再双引号后面加上NONE,用于结束颜色作用域.

完成测试代码

#include <stdio.h>

//颜色宏定义
#define NONE         "\033[m"
#define RED          "\033[0;32;31m"
#define LIGHT_RED    "\033[1;31m"
#define GREEN        "\033[0;32;32m"
#define LIGHT_GREEN  "\033[1;32m"
#define BLUE         "\033[0;32;34m"
#define LIGHT_BLUE   "\033[1;34m"
#define DARY_GRAY    "\033[1;30m"
#define CYAN         "\033[0;36m"
#define LIGHT_CYAN   "\033[1;36m"
#define PURPLE       "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN        "\033[0;33m"
#define YELLOW       "\033[1;33m"
#define LIGHT_GRAY   "\033[0;37m"
#define WHITE        "\033[1;37m"


int main()
{
	printf(RED"红色****************************\n"NONE);
	printf(LIGHT_RED"亮红色**************************\n"NONE);
	printf(GREEN"绿色****************************\n"NONE);
	printf(LIGHT_GREEN"亮绿色****************************\n"NONE);

	printf(BLUE"蓝色******************************\n"NONE);
	printf(LIGHT_BLUE"亮蓝色****************************\n"NONE);

	printf(DARY_GRAY"灰色******************************\n"NONE);
	printf(CYAN"青色*****************************\n"NONE);
	printf(LIGHT_CYAN"亮青色****************************\n"NONE);
	
	printf(PURPLE"紫色*****************************\n"NONE);
	printf(LIGHT_PURPLE"亮紫色****************************\n"NONE);

	printf(BROWN"棕色*****************************\n"NONE);
	printf(YELLOW"黄色****************************\n"NONE);
	printf(LIGHT_GRAY"亮灰色*****************************\n"NONE);
	printf(WHITE"白色****************************\n"NONE);

	return 0;
}

运行结果

运行结果
微信公众号公众号

C语言实现中国象棋(Qt实现界面,源码下载,详细注释,易移植) 前言:中国象棋的规则很多人都懂,用C语言做一个中国象棋游戏,其要点是怎么把抽象的规则变成形象、具体的代码。本项目提供详细的实现思路,源码附带大量的注释说明,源码逐步地实现了每一种棋类的走棋规则、吃棋规则,将每一条细化的规则整合起来也就实现了一个完整的游戏规则。 本项目提供两种调试方式,一种是带界面操控(QT实现),一种是终端输入操控。本项目非常适合初学者用以参考学习。 下载源码: 源码下载解压后有两个文件夹,分别是QT工程和Dev-C++工程,前者带界面后者是终端输入方式调试。 代... 阅读详情

相关推荐

linux嵌入式终端显示文件颜色和使用快捷键ll

这里使用添加别名的方式实现 vi /etc/profile ,最后面添加下面两行代码 alias ls=‘ls --color’ alias ll=‘ls -l’ 执行 source /etc/profile 效果: 扩展 : source 一、 source命令通常用于重新执行刚修改的文档 source命令的一个妙用 需要反复经常连续执行的指令,例如: killall ipc-daemon killall QFacialGate killall storage_manager killall nets

小灰灰的博客 673

蓝桥杯之嵌入式学习之旅(LCD)

记录自己的嵌入式蓝桥杯的学习之旅,后续还会陆续更新

tec_ironheart的博客 979

Linux终端扫雷游戏C语言实现项目

Linux终端不仅是系统管理与程序调试的核心工具,也承载着丰富的交互式应用开发潜力。随着轻量级、高效能编程理念的回归,基于纯文本界面的终端游戏正重新受到开发者青睐。扫雷游戏作为经典的逻辑益智类游戏,其规则清晰、结构简洁,非常适合在终端环境中实现。本章从整体视角介绍Linux终端游戏的设计哲学与技术基础,强调“以少驭多”的系统级编程思想——通过C语言直接操控终端I/O机制,结合VT100转义序列实现光标定位、颜色控制与屏幕刷新,构建高效、低延迟的用户交互体验。

weixin_42146230的博客 1186

嵌入式开发——写一个简单的函数,在指定的位置能够显示一个指定颜色,指定大小的矩形

#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <sys/mman.h> int main() { int fd = open("/dev/f...

深海沧澜的博客 1534

Linux C语言基于curses库的终端聊天程序开发解析

Linux终端作为操作系统交互的核心接口,长期以来承载了大量系统管理和程序开发的任务。随着终端应用需求的提升,传统的命令行交互已无法满足复杂应用的界面要求。curses库应运而生,成为终端程序开发中实现图形化界面的重要工具。本章将从终端程序开发的背景出发,探讨其在系统管理、网络通信、嵌入式界面等场景中的广泛应用。同时,我们将引出curses库作为终端界面开发的关键技术,介绍其在窗口管理、输入处理、颜色控制等方面的核心能力,为后续章节的深入实践奠定理论与技术基础。

weixin_42596214的博客 1302

用C语言和ncurses开发的MAC终端贪吃蛇游戏实战指南

ncurses是一个允许应用程序在文本终端上进行复杂的控制和管理的库。它的主要用途包括:管理终端的字符输出,实现文本界面的多窗口操作;响应键盘输入,并处理特殊按键;颜色支持,为文本界面增加视觉效果;屏幕刷新和属性控制,提供更加丰富的用户体验。

weixin_35750483的博客 1054

linux嵌入式开发:基于linux的语音机器人(五)|LCD显示颜色|LCD显示图片

项目中所运用到了LCD屏是群创 AT070TN92-7 英寸液晶显示屏缺省的可见分辨率为800 * 480, 缺省的虚拟分辨率为 800*960,其在横向长度上有 800 个像素点, 在纵向宽度上有 480 个像素点, 色彩深 度 BPP 是 32 位真彩色, 分别是保留、红、绿、蓝,只要在这四个字节上填充相应的数据, 就可以控制该像素点显现不同的颜色采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此, BMP文件所占用的空间很大文件的图像深度可选lbit、4bit、8bit及24bit。

weixin_66834365的博客 709

lt-color-picker:用于嵌入式颜色选择器的 LightTable 插件

颜色选择器 LightTable 的颜色选择器插件。 当前版本:0.0.7 ##这是什么? 它是 LightTable 的一个插件,可让您打开一个小的颜色选择器工具,这样您就可以将与 HTML 兼容的颜色代码嵌入到您的代码中,而无需在 Internet 上查找颜色代码。 ##我如何使用它? 将它从插件存储库添加到您的插件列表中,然后按 ctrl+space(或 Mac 用户的命令)并键入“打开颜色选择器”。 选择颜色后,它将关闭并在光标上插入颜色。 ####进一步发展 也许让它在编辑器中读取已经存在的颜色代码并将它们显示在屏幕上,最终......有一天。

今天是学习嵌入式的第17~19天

先消行、加分数,再把预览方块切换为当前操控方块,随机生成新预览方块,重置出生位置。方块移动、旋转前,必须先调用这个函数,把旧坐标的方块内容清空、颜色归零,再绘制新位置,否则屏幕会残留旧方块残影。5、COL_XXX 系列:颜色编号宏,统一管理方块颜色,0为无颜色,1-7对应七种不同彩色,后续上色直接调用编号,方便修改维护。

2301_79756226的博客 465

32代码颜色识别传感器tcs2300

32单片机的颜色识别传感器的代码。通过不断读取红绿蓝三原色的数值保存到变量里面。这个程序还有oled显示,是当初做一个只能划线车的项目的时候的代码。为了保证代码的完整性就没有单独把颜色识别摘出来,放到工程里面更容易理解。

嵌入式屏幕色彩开发

还记得此前的“蓝黑白金裙”之争吗?这个分歧源于我们的眼中用来分辨颜色的锥状细胞的差异,而人机界面中“蓝黑白金裙”之争同样存在,这是什么原因?本文为你揭秘,并从色彩角度为大家介绍人机交互界面的设计。  我们这样看着世界  人们都知道,把大象放进冰箱需要三步,而人眼把世界放进大脑也可简单分为三步:  1.眼球感应到像(传感器采集并转换成数字信号)  2.转成神经信号传到大脑(通过通讯系统将信号传到处理器)  3.大脑处理并存放(处理器转化成屏幕可显示与存储的格式)  图1 人类视觉系统  所以,人眼开始看到的图像格式由光信号转化成了神经中的电信号与化学信号,传播格式已经不同了,同样,机器也是要转换

C语言输出颜色

命令后界面输出颜色 嵌入式终端界面输出日志时,为了区分输出的有用信息、错误信息,可以给不同级别的输出加上不同的颜色,以方便查看。 下面是颜色的定义: //颜色宏定义 #define NONE "\033[m" #define RED "\033[0;32;31m" #define LIGHT_RED "\033[1;31m" #define GREEN "\033[0;32;32m" #define LIGHT_GREEN "\033[1;32m" #

风声的专栏 6158

Jetson Orin Nano@Ubuntu22.04:IMX219 CSI摄像头配置全流程与避坑指南

本文详细介绍了在Jetson Orin Nano@Ubuntu22.04系统上配置IMX219 CSI摄像头的全流程,包括硬件安装、驱动配置、常见问题排查及性能优化。特别强调了排线方向、驱动模式选择等关键细节,并提供了实用的命令和解决方案,帮助开发者高效完成摄像头部署与调试。

prometheus9mon的博客 318

Objective-C语言的嵌入式图形界面

在现代软件开发中,图形用户界面(GUI)已经成为用户与计算机系统交互的主要方式。特别是在嵌入式系统领域,随着硬件性能的提升,越来越多的嵌入式设备开始采用图形界面来提升用户体验。Objective-C作为一种面向对象的编程语言,因其强大的能力和灵活性,在嵌入式图形界面开发中越来越受到重视。本文将探讨Objective-C语言在嵌入式图形界面开发中的应用,介绍其基本概念、优点、开发环境以及实例分析。

2501_91186011的博客 632

Astah 9.0升级步骤(Widnows/Mac OS)

Astah Professional是一款全新的轻量级UML建模工具。软件集思维导图和UML建模于一体,采用100%纯JAVA构建, 兼容性强,不仅能够实现分布式建模、项目合并,还能够实现和其它建模工具的交互。

tequiero777的博客 2824

74LS161/48 交通灯控制系统:30-5-20-5 时序逻辑电路 Multisim 仿真验证

本文详细解析了基于74LS161/48芯片的交通灯控制系统设计,通过Multisim仿真验证30-5-20-5时序逻辑电路。从系统架构搭建、状态机实现到波形分析,提供全流程操作指南与典型问题排查方法,助力数字电路课程设计高效完成。

weixin_26742753的博客 377

C/C++语言输出带颜色

C/C++ 命令行让文字有颜色

纸上得来终觉浅,得知代码要躬行 2218

ARM 汇编指令:LSL(逻辑左移) 和 LSR(逻辑右移)

ARM 汇编中的 LSL(逻辑左移)和 LSR(逻辑右移)是基础移位指令,分别实现二进制位的左移和右移操作。LSL 低位补0,等效于乘以2^n;LSR 高位补0,等效于无符号除以2^n。这两个指令可以单独使用或与其他指令结合(如ADD、MOV等),利用ARM的"桶形移位器"硬件实现高效运算。关键特性包括:移位范围0-31(LSL)或1-32(LSR),可选更新标志位,以及与其他指令结合时的无额外开销优势。LSR与ASR(算术右移)的主要区别在于高位填充方式,分别适用于无符号和有符号数处理

guigenyi的专栏 1810

C语言的嵌入式图形界面

嵌入式图形界面是指在嵌入式系统中使用图形用户界面(GUI)来与用户进行交互的界面。它通常包括各种图形元素,如按钮、文本框、菜单等,以供用户操作。与传统桌面应用程序的图形界面相比,嵌入式图形界面往往面临更严格的系统资源限制(如内存和处理能力)。C语言在嵌入式图形界面开发中具有重要的应用价值。通过合理选择图形库、遵循设计原则,以及科学的开发步骤,可以实现高效、直观、友好的嵌入式图形用户界面。随着技术的进步与发展,嵌入式系统的图形界面将在医疗、家居、工业等多个领域发挥越来越重要的作用。

2501_91201189的博客 695

手把手教你学Simulink——基于Simulink的前馈解耦SVPWM整流器仿真

本文详细介绍了基于Simulink的前馈解耦SVPWM整流器仿真方法。针对三相PWM整流器存在的dq轴交叉耦合问题,提出前馈解耦控制方案,通过在电流环中引入耦合电压补偿项,显著提升系统性能。文章包含完整的系统架构、核心算法、Simulink建模步骤及参数设置,仿真结果显示:电流跟踪误差<2%、动态响应时间<0.05s、THD<3%、功率因数>0.999。同时提供了可直接复用的MATLAB代码和工程优化建议,为电力电子工程师实现高精度AC/DC转换提供了实用解决方案。

MHD0815的博客 108

QuecOpen RTOS学习笔记

对计算机响应时间有要求的系统,通常称为临界系统或应用。为了满足临界系统或应用对计算机响应 时间的要求,人们开发了实时操作系统(Real Time Operation System)。 实时操作系统指所有任务均在规定时间内完成的操作系统,同时任务完成必须满足时序可预测性。需 要注意的是,实时操作系统的本质是其反应具有时序可预测性。得益于此,实时操作系统通常反应非常快。 实时操作系统的内核对象一般包括任务、信号量、互斥锁、消息队列、定时器、事件通知和软件看门 狗等。

zxm8513优快云博客 2030

C语言中的图形用户界面开发:使用库如GTK+或ncurses创建GUI应用程序(二)

ncurses库为C语言开发者在命令行环境下提供了强大的文本界面开发能力,无论是简单的菜单导航、文本输入,还是复杂的多窗口布局、鼠标支持,ncurses都能提供相应的API和功能支持,助力开发者构建高效、易用的终端GUI应用程序。

weixin_56154577的博客 1537

华为OD机试新系统真题【终端设备档位差异统计】

华为OD机试 新系统真题【终端设备档位差异统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【终端设备档位差异统计】多语言题解。

qq_45776114的博客 783

步步为营:搭建嵌入式 C 语言编程环境的完整指南

市面上代码编辑工具数不胜数,我在这也不一一罗列了,今天我要介绍的一款名为Notepad++的代码编辑工具,Notepad++ 文本编辑器,软件小巧高效;支持27种编程语言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS 等,Notepad++ 内置支持多达27种语法高亮度显示;根据关键字显示节点,节点可自由折叠/打开,还可显示缩进引导线,代码显示得很有层次感;

qq_61391875的博客 1531

【ARM CoreLink 系列 3 -- CCI-550 控制器介绍 】

Arm CoreLink CCI-550 Cache Coherent Interconnect 扩展了 CoreLink CCI-500。它在 big.LITTLE 处理器集群之间提供完整的缓存一致性,并为其他代理(如 Mali GPU、网络接口或加速器)提供 I/O 一致性。CoreLink CCI-550 提供可扩展和可配置的互连,使 SoC 设计人员能够以尽可能小的面积和功耗满足性能目标,并且还增加了可降低整体系统延迟的监听滤波器。

CodingCos的博客 2210

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

嵌入式 C 语言编程规范

本文聚焦嵌入式 C 语言编程,针对开发痛点整理可落地规范,核心围绕格式统一与代码健壮性,适用于单片机、物联网设备场景。内容涵盖命名(函数大驼峰、变量小驼峰等)、文件目录、函数(单一职责、50 行上限)、变量声明初始化、注释(Doxygen 风格)、格式等基础规范,还包含硬件寄存器访问、中断处理、内存管理等嵌入式特定要求,以及可移植性、错误处理方案与最佳实践,助力提升代码可读性、可维护性与产品稳定性。

weixin_73308349的博客 1865

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 嵌入式Linux串口操作实例
下一篇: 学会接受不完美的代码,遇见更好的自己!
fensnote
博客等级 码龄7年 11粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值