串口调试助手不显示波形

写了个代码,让STC15W408AS一直传递信号进上位机
用的是Windows自带的串口调试助手,能正常接收字符,但是转到波形页面就没反应。

img


img

很多串口助手都试过了 一样的问题
看到别的帖子说要加脚本https://zhuanlan.zhihu.com/p/379178529

(
    function main() {
        var str = receive.get();          //Read the Received string
        receive.write(str);               //Prints the received characters
        receive.write(" -> ", "red");     //Print the arrow
        var buf = StrToBytes(str);        //Turn the received hex string into an array.
        var val = BufToValue(buf, 7, 2);  // CO Turn the array into integers by index and length
        var val2 = BufToValue(buf, 9, 2); // HC
        receive.write(val + " ", "Green");//Print the converted integer
        receive.write(val2, "DarkRed");
        chart.write("HC=" + val + "\n");  //Draw to waveform interface. The name is HC
        chart.write("NO=" + val2 + "\n"); //Draw to waveform interface. The name is NO
        receive.write("\r\n");            //Print line breaks for easy observation.
        return;
    }
)()
 
// Turn the data in buf into an integer.
// buf array
// index : The starting position in Bytes
// len : Contains the number of bytes
function BytesToValue(buf, index, len) {
    var val = 0;
    for (var i = 0; i < len; i++) {
        val = val << 8;
        val = val + buf[i + index];
    }
    return val;
}
//Turn the received hex string into an int array.
function StrToBytes(str) {
    var index = 0;
    var buf = new Array;
    for (var i = 0; i < str.length; i++) {
        while (str[i] == "«" || str[i] == " ") { //Remove useless characters
            if (i < str.length)
                i++;
        }
        buf[index] = parseInt("0x" + str[i] + str[i + 1]);// Turn the string into a number.
        index++;
        i += 2;
    }
    return buf;
}

结果是'BufToValue' is not defined

img


很奇怪 为什么大家都可以用 我却不行 这中间出了什么差错吗
还是说需要烧进单片机里面?
希望有人能帮忙解决问题

可以试下用sscom这个串口助手,不需要什么通讯协议,串口收到一个字节数据就显示一个点,显示的点以10进制表示。我用的是sscom v5.13.1版本,测试有用。

1、先可以确定通讯有数据;
2、目前的数据没有转换或者转换不正确,波形显示那边无法识别;
3、你先搞清楚得到的数据,通讯返回的那串代码,哪些是你需要的数据;
4、根据数据确定算法,再脚本编写,先ASCII码转换,然后计算合成你需要的波形数据;
5、将波形数据导入,得到波形结果

 1、可能是串口调试助手的各个选项以及通信协议(波特率等)设置不合适,需重新更改,以确保PC机可以正确采样。

  2、可能是输入波形不正确

  3、可能物理连接不正确;

  4、单片机不能正常工作;

  5、可能是通信参数不正确;

  6、单片机的BAUD因子没有调整好,因为PC的BAUD比较准,单片机不太准,容易误码。

windows自带串口调试助手?没听说过呢
看了一下那个链接,要显示波形,应该要按这个软件要求的格式发送数据才行,软件需要通过脚本来实现波形显示,所以这个格式应该可以根据脚本自己定义。