標題: 上位機labview發(fā)送十進制數(shù)給單片機的問題,幫幫忙 [打印本頁]

作者: heyiheyi123    時間: 2017-12-15 15:38
標題: 上位機labview發(fā)送十進制數(shù)給單片機的問題,幫幫忙
首先labview和51單片機的接受和發(fā)送都沒問題,儲存數(shù)據(jù)input[]=SBUF。我想把input[]中的數(shù)據(jù)變成十進制然后通過單片機控制步進電機的步數(shù)。
下面代碼是我把input[]中數(shù)據(jù)轉(zhuǎn)化為十進制數(shù)的代碼,但是inputdata的結果總不對,數(shù)值特別大,電機一直會轉(zhuǎn)。
uchar input[];
int a0,b0,c0,inputdata;
a0=input[0]-'0';
b0=input[1]-'0';
c0=input[2]-'0';               
inputdata=a0*100+b0*10 +c0;
請問我這個方法是不是不對?我還把另外賦值input[0]=‘1’,input[1]=‘0’,input[2]=‘0‘結果也不對。奇怪啊,,,字符減字符不應該是ascii碼的差賦給了a0,
b0.c0.嗎?
到底怎么把intput[]儲存的數(shù)據(jù)轉(zhuǎn)換為十進制數(shù),搞了幾天也不知道問題在哪,,


作者: heyiheyi123    時間: 2017-12-15 16:12
是不是我input[]的類型定義錯了?
作者: 997607625    時間: 2017-12-15 16:55
是不是斷句不對?
作者: wulin    時間: 2017-12-15 17:42
有必要這么費事嗎?16進制本來就是10或2進制的簡短表達,把大數(shù)值16進制數(shù)按2位分段發(fā)送,接收后用左移或右移恢復原樣就行。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1