#include "error.h" #include "console.h" #ifdef USE_FULL_ASSERT /* printf("/033[1;40;32m%s/033[0m",” Hello,world!/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 不可见 */ void assert_failed(u8* file, u32 line) { #define ERR_OUT_DL (5000*1000) // 等待1秒 int count; int flag, exit; flag = 0; exit = 0; printf("\r\n"); while(1) { count = ERR_OUT_DL; while(count != 0) { count--; } if (flag == 0) { printf("\033[1;41;32m"); // 回车,设置超级终端背景为红色,字符为绿色 flag = 1; } else { printf("\033[1;42;31m"); // 设置超级终端背景为黑色,字符为红色 flag = 0; } printf(" Wrong parameters value: file %s on line %d\r", file, line); if (exit != 0) { break; } } } #endif