我正在编写一个裸机 C 语言测试程序,用于捕获一些传感器数据,分析并绘制它。数据非常简单,我只有一个串行控制台接口。尽管如此,我还是想仅使用等宽 ASCII 字符来绘制波形。
有没有标准的、推荐的方法来做这样的事情?
256 | *
| *
| *
| * *
128 | * *
| * * *
| * ** *
| ** *** * * * **
0 _______________________________
size_t n = 26;
for ( size_t y = 8; y--; ) {
int miny = (y+0) * 8;
int maxy = (y+1) * 8;
for ( size_t x = 0; x < n; ++x ) {
if ( miny <= samples[ x ] && samples[ x ] < maxy ) {
putch( '*' );
} else {
putch( ' ' );
}
}
putch( '\n' );
}