13771165220
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 323 個(gè)
工控威望: 553 點(diǎn)
下載積分: 1601 分
在線時(shí)間: 85(小時(shí))
注冊(cè)時(shí)間: 2017-11-27
最后登錄: 2024-12-18
查看13771165220的 主題 / 回貼
樓主  發(fā)表于: 2021-08-24 19:48
比如發(fā)送的數(shù)據(jù)是ASC碼     #1,0,30000,1000,AB
比如這串?dāng)?shù)字意思是  
#:打頭字母
1:站號(hào)
0:該站電機(jī)號(hào)
30000:電機(jī)定位地址
1000:電機(jī)定位速度
AB:校驗(yàn)碼
其中的”,“是間隔符號(hào)也是一個(gè)ASC碼
返回?cái)?shù)據(jù)先不管。
現(xiàn)在有這樣的問題,我需要在觸摸屏控制定位地址和定位速度。
但是如果我速度輸入3000的話就比原來的30000少一個(gè)ASC字符,這樣包括后面發(fā)送的指令數(shù)據(jù)地址都相當(dāng)于左移了一位而且和校驗(yàn)都不一樣了。
個(gè)人感覺還需去判斷輸入的數(shù)據(jù)轉(zhuǎn)為ASC后占幾個(gè)字符,感覺處理起來后續(xù)就比較麻煩。就算讓人家直接輸入ASC當(dāng)數(shù)據(jù)也是比較麻煩。有誰有這方面的經(jīng)驗(yàn)分享一下,大概思路也可以。
萬分感激。
gxtmdb82164
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 771 個(gè)
工控威望: 1149 點(diǎn)
下載積分: 401 分
在線時(shí)間: 605(小時(shí))
注冊(cè)時(shí)間: 2019-09-22
最后登錄: 2024-12-25
查看gxtmdb82164的 主題 / 回貼
1樓  發(fā)表于: 2021-08-25 15:26
前導(dǎo)0不就行了,非字典化通信協(xié)議里面,字段定長是最基本的要求
樓主留言:
是的,用PC測試了一下,前導(dǎo)0可以的,F(xiàn)在思路固定發(fā)送8個(gè)字符當(dāng)數(shù)據(jù)。不足前填0.