asd119586
级别: 探索解密
精华主题: 0
发帖数量: 68 个
工控威望: 156 点
下载积分: 592 分
在线时间: 29(小时)
注册时间: 2022-05-09
最后登录: 2024-12-09
查看asd119586的 主题 / 回贴
楼主  发表于: 2023-12-12 09:28

我这里有一个走串口通讯的设备,是5个UINT16位,并且需要这其中加减乘除计算
但是smart200默认只能有符号整数,有没有什么办法可以转成无符号整数来运算吗?或者有没有有符号转无符号的库呢
流水不腐 户枢不蠹
asd119586
级别: 探索解密
精华主题: 0
发帖数量: 68 个
工控威望: 156 点
下载积分: 592 分
在线时间: 29(小时)
注册时间: 2022-05-09
最后登录: 2024-12-09
查看asd119586的 主题 / 回贴
1楼  发表于: 2023-12-13 15:29
大佬们有会的吗  
流水不腐 户枢不蠹
hstec2002
级别: 论坛先锋
精华主题: 0
发帖数量: 489 个
工控威望: 1892 点
下载积分: 8465 分
在线时间: 679(小时)
注册时间: 2021-05-05
最后登录: 2024-12-19
查看hstec2002的 主题 / 回贴
2楼  发表于: 2023-12-15 07:47
据我所知目前没有无符号16位整数加减乘除运算,但可以换个思路变相达到加减乘除运算目的。
QQ: 2845452345
zhaoaron
zhaoaron
级别: 网络英雄
精华主题: 0
发帖数量: 1627 个
工控威望: 5257 点
下载积分: 2516 分
在线时间: 817(小时)
注册时间: 2021-09-25
最后登录: 2024-12-20
查看zhaoaron的 主题 / 回贴
3楼  发表于: 2023-12-15 08:41
图片:
WORD  就是无符号整数
......
redrock99
级别: 家园常客
精华主题: 0
发帖数量: 319 个
工控威望: 554 点
下载积分: 3735 分
在线时间: 172(小时)
注册时间: 2009-02-04
最后登录: 2024-12-16
查看redrock99的 主题 / 回贴
4楼  发表于: 2023-12-15 08:55
引用
引用第3楼zhaoaron于2023-12-15 08:41发表的  :
WORD  就是无符号整数

WORD不是加减乘除的指令数,指令数是 B,I,DI,

所以楼主要把UINT的WORD转化为DI,然后使用DI指令进行运算
本帖最近评分记录:
  • 下载积分:+3(asd119586)
  • 下载积分:+5(zhaoaron) 热心助人!
    tkggtdkjpl
    工欲善其事,必先利其器!
    级别: 网络英雄

    精华主题: 1 篇
    发帖数量: 3443 个
    工控威望: 20982 点
    下载积分: 28475 分
    在线时间: 1765(小时)
    注册时间: 2010-01-03
    最后登录: 2024-12-20
    查看tkggtdkjpl的 主题 / 回贴
    5楼  发表于: 2023-12-22 19:57
    前几天一个项目,也有人问这个问题,现场给他写了段程序
    16位数转32位数
    32位数加+65535就是原来的值,范围自已判定一下
    自动化单机,生产线,项目编程调试!