lander
級別: 探索解密
![]() |
我請教一個問題,我這邊需要把INT (有符號的整數(shù) -32768----32767)轉(zhuǎn)換成WORD(0-65535),編一個子程序也可以,如何操作? |
---|---|
|
lander
級別: 探索解密
![]() |
請具體指導(dǎo)一下,謝謝。 |
---|---|
|
lander
級別: 探索解密
![]() |
我其實是在做一個modbus RTU 通訊,寫入只能是一個16位的數(shù),我輸入是實數(shù),然后我轉(zhuǎn)換成整數(shù),當(dāng)我輸入超過32767是,它就變負(fù)了,(-32768---+32767),然后這個負(fù)數(shù)寫進(jìn)去,設(shè)備就不認(rèn)識了,所以我想問問如何才能寫進(jìn)去變成0-65535,而不是-32768-+32767 ,普通的整數(shù)VW 好像不能大于32767,大了就變負(fù)數(shù)。 |
---|---|
|
lander
級別: 探索解密
![]() |
|
---|---|
|
lander
級別: 探索解密
![]() |
因為我要在觸摸屏上設(shè)置10進(jìn)制數(shù),比如200ML,我不能直接設(shè)置一個16進(jìn)制,那樣他們看不懂 |
---|---|
|
lander
級別: 探索解密
![]() |
我剛剛?cè)ビ媚愕姆椒ǎ梅栕兞浚?00SMART 默認(rèn)就是有符號的,還是不行。 |
---|---|
|
lander
級別: 探索解密
![]() |
即使你手動輸入16進(jìn)制的數(shù),是可以寫進(jìn)去了,但是讀出瞬時流量是一個大于32767的數(shù)的時候,也不能參與運(yùn)算,不能轉(zhuǎn)換成浮點(diǎn),因為大于32767就報錯了,其實錯誤就是在于觸摸屏寫入一個大于32767的浮點(diǎn)數(shù),就無法進(jìn)行公式換算,一旦轉(zhuǎn)換成整數(shù),就報錯。不知道還有沒有好的辦法,已經(jīng)問了很多人了。 |
---|---|
|
lander
級別: 探索解密
![]() |
感謝兄臺給的方案,已經(jīng)搞定,再次感謝。 |
---|---|
|