我在 HC32F420、Keil MDK 的逻辑分析仪 / 时序图里,通过下面函数观测变量signal_sample,可以画出波形,但存在问题:
void plot_signal(uint32_t delay){
for(int i=0;i<_5HZ_SIGNAL_LEN;i++){
signal_sample=_5hz_signal;
for(int j=0;j<9000;j++){}
}
}
三个软件画出的全是阶梯状折线,原因是调试追踪采样频率远高于更新signal_sample的频率,两次赋值之间大量重复采样同一个固定值,图表就变成台阶。
我目前唯一能画出平滑曲线的办法是通过 UART printf 把数值发给 Matlab 串口绘图工具。串口只会输出每次真正更新后的有效数据,不会采集中间不变的重复值,曲线顺滑。
但现在的问题是我需要同时绘制多路信号,单纯串口打印很难高效同步传输多通道数组。
暂时想不到更优方案,希望各位给一些思路。
|
|