lander
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 109 個(gè)
工控威望: 148 點(diǎn)
下載積分: 762 分
在線時(shí)間: 39(小時(shí))
注冊時(shí)間: 2021-02-20
最后登錄: 2025-04-09
查看lander的 主題 / 回貼
樓主  發(fā)表于: 2023-03-11 08:43
我請教一個(gè)問題,我這邊需要把INT (有符號(hào)的整數(shù) -32768----32767)轉(zhuǎn)換成WORD(0-65535),編一個(gè)子程序也可以,如何操作?
圓又圓
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 23 個(gè)
工控威望: 102 點(diǎn)
下載積分: 1250 分
在線時(shí)間: 28(小時(shí))
注冊時(shí)間: 2022-05-06
最后登錄: 2025-04-10
查看圓又圓的 主題 / 回貼
1樓  發(fā)表于: 2023-03-11 09:01
可以試試轉(zhuǎn)成ascii,再轉(zhuǎn)成十六進(jìn)制
圓又圓
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 23 個(gè)
工控威望: 102 點(diǎn)
下載積分: 1250 分
在線時(shí)間: 28(小時(shí))
注冊時(shí)間: 2022-05-06
最后登錄: 2025-04-10
查看圓又圓的 主題 / 回貼
2樓  發(fā)表于: 2023-03-11 11:12
引用
引用第3樓lander于2023-03-11 10:47發(fā)表的  :
我其實(shí)是在做一個(gè)modbus RTU 通訊,寫入只能是一個(gè)16位的數(shù),我輸入是實(shí)數(shù),然后我轉(zhuǎn)換成整數(shù),當(dāng)我輸入超過32767是,它就變負(fù)了,(-32768---+32767),然后這個(gè)負(fù)數(shù)寫進(jìn)去,設(shè)備就不認(rèn)識(shí)了,所以我想問問如何才能寫進(jìn)去變成0-65535,而不是-32768-+32767  ,普通的整數(shù)VW  好像不能大于32767,大了就變負(fù)數(shù)。


看看200smart的轉(zhuǎn)換指令就可以了?梢灾苯訉⒛愕膶(shí)數(shù)轉(zhuǎn)成ascii,再轉(zhuǎn)成十六進(jìn)制