有可能是采样用的那个寄存器被多次使用,清零的时序没写好。
不知道表达的清不清楚。你可以检测一下程序。找一下保存这个值的寄存器是不是有不同的地方用到了。或者你处理模拟量采集通道上来的数据时,有没有清零的操作。
我用台达的温控模块就出现过这个事情,它采集的数据保存在D1070(可能是这个)中是ASCII的形式,自动转换成Hex存到D1050中,但是D1050是4个模拟量通道公用的。在轮训的时候不注意会读取到上个通道的温度值,或被提前清零。
我的曲线就和心电图一下,每隔2秒有个掉到底的尖。
19-05-21 17:08