今天忽然发现之前请艾默生厂家做的一块电度表通讯数据中,总有功电量居然是负数,这不科学啊。
实际表头读数是3.64。
根据电表厂家的说明书,电量是32位整数,因此我让艾默生厂家用两个16位整数来合成一个。但是现在看来问题在于实际配置成了16位有符号整数。
按照补码算了一下:
这点小问题就自己在sama里面解决吧(如果为负数就加上65536):
今天忽然发现之前请艾默生厂家做的一块电度表通讯数据中,总有功电量居然是负数,这不科学啊。
实际表头读数是3.64。
根据电表厂家的说明书,电量是32位整数,因此我让艾默生厂家用两个16位整数来合成一个。但是现在看来问题在于实际配置成了16位有符号整数。
按照补码算了一下:
这点小问题就自己在sama里面解决吧(如果为负数就加上65536):