使用串口繪制實時曲線 —— SerialChart
阿新 • • 發佈:2017-06-23
依次 數據格式 整形 border 時間 串口 lar .com cnblogs
SerialChart:下載
1. 實驗效果
2. 串口程序
while(1){ if(++x>=180){ y = 90; x = 0; } if(x>=90) y++; else y--; z = sin(x*Pi/90); p = cos(x*Pi/90); r = tan(x*Pi/90); printf("%d,%d,%d,%d,%f,%f,%f\n",t,0,x,y,z,p,r); delay_ms(50); t++; }
3. 數據格式
Interval |
, |
Dat1 |
, |
Dat2 |
, |
。。。 |
Datn |
, |
\n |
數據以幀為單位,其中Interval設為整形即可,用處是用來分辨當前數據是那一時刻的數據,你也可以用來顯示,甚至不用Interval(把它當成一個通道的數據),例子中Interval的值設置為了transparent,即不顯示。
Dat是你想用來顯示的數據,最多支持多少沒有測試,不夠是夠用了。
最後‘\n’代表著該幀的結束
總結一下
- 通過 ‘,’ 來區分不同通道數據,從前往後依次為通道“1...n”。
- 通道1,一般用來作為時間標誌來確定那一時刻的數據,也可作序列號來確定丟包率。
- 通道2..n,根據自己需要配置
- 最後輸出換行符 ‘\n‘ 作為幀結束標誌
4. 配置
[_setup_] port=COM2 baudrate=115200 width=1000 height=201 background_color = white grid_h_origin = 100 grid_h_step = 10 grid_h_color= #EEE grid_h_origin_color = #CCC grid_v_origin = 0 grid_v_step = 10 grid_v_color = #EEE grid_v_origin_color = transparent [_default_] min=-1 max=1 [interval] color= transparent min=0 max=500 [level] color=black [sawtooth] color=blue min=-10 max=190 [triangular] color=red min=-10 max=110 [sin] color=green min=-1.3 max=1.3 [cos] color=pink min=-1.3 max=1.3 [tan] color=purple min=-10 max=10
使用串口繪制實時曲線 —— SerialChart