看來你應(yīng)該是給單片機發(fā)的是字符吧。假如你給單片機發(fā)的是字符'1',即十六進制的0x31,即十進制的49,那么,你乘以3以后,即0x93,即147。然而字符‘3’,它是十六進制的0x33,即十進制的51。你先去看一下ascii碼表吧。同時給你小改一下, shuju=3*x; 改成shuju=3*(x-0x30);即可。輸入字符1,輸出字符3,但是輸入字符‘4’時,會輸出‘<’,因為‘12’是占的兩個字節(jié),你得向串口發(fā)送兩個字節(jié)數(shù)據(jù),‘1’和‘2’ 。有問題可以和我討論!
|