PC機將千位數(如5142)傳送到微控制器中,怎麼在微控制器裡將他還原成原來的千位數。或者別的整體辦法

2022-03-14 01:41:26 字數 2212 閱讀 4948

1樓:做而論道

if(temp[0]=='m')//分離資料 {turnh = 0;

turnh += temp[1] - 0x30;

turnh *= 10;

turnh += temp[2] - 0x30;

turnh *= 10;

turnh += temp[3] - 0x30;

turnh *= 10;

turnh += temp[4] - 0x30;

// send_char(tmp);

2樓:匿名使用者

5142就是0x1416,你將這個數拆成高低位元組傳送給微控制器,微控制器再組合成整型數,比你傳送5、1、4、2然後又組合的簡單多了吧?真不知你是怎麼學的。

如果你還是想那樣,那程式該這樣:

dat=(tmp[0]-0x30)*1000+(tmp[1]-0x30)*100+(tmp[2]-0x30)*10+(tmp[3]-0x30)

補充:那還真的要多學習啊!在微控制器裡最好是用二進位制和16進位制來思考問題,10進位制5142轉換為16進位制就是0x1416(前面我搞錯了,不好意思),你可以用計算器檢驗一下。

3樓:匿名使用者

這是不可能的

微控制器最多64位 你的5000多位只能作為向量儲存我是北大通訊的

這個十分確定

4樓:

這應該是兩個變數型態不同而導致的問題,在你計算temp的數值的時候應該這樣

temp=(unsigned int) temp[1]*1000;以強制轉換你的unsigned char型別的temp陣列到unsigned int以符合temp的型別..此類推到你所有陣列計算完成

5樓:匿名使用者

您好:你試一下把temp的型別改為unsigned int 看看。

6樓:太急工匠

發過來的時候就按一定規律來發,比如從高到低,或者從低到高,高位資料乘上10加上相鄰的低位直到加上最低位為止。不知道是不是你問的問題

電腦怎麼將資料傳給微控制器啊??(**等)

7樓:大維

把你的微控制器串列埠初始化一下,定義好波特率 工作模式,然後把微控制器串列埠接收的資料傳送給顯示屏就可以了! 計算機那邊使用串列埠助手,開啟相應的串列埠,波特率要和微控制器的相同,這樣就可以了! 用串列埠助手傳送資料,微控制器接收顯示。

你需要串列埠的連線線。如果微控制器的板子上帶有232 介面的話直接連線 否則還需要一個232口和max232

8樓:anyway中國

適用「串列埠助手」、「串列埠除錯大師」之類的工具軟體,可以方便的將計算機輸入的字元的ascii碼或16進位制資料通過rs232傳送出去。微控制器設定一個rs232介面,電纜連線即可。

51微控制器程式設計如何把一個字串裡的數字提取出來並轉化成浮點數?

9樓:匿名使用者

這個的話是可以的

內。容#include

#define uchar unsigned charuchar code table="abcd12.5";

main()

51微控制器怎麼把多個感測器(比如3個)採集到的資料傳給pc 10

10樓:匿名使用者

閱讀rs232串列埠協議,按協議編制微控制器和pc的程式

11樓:匿名使用者

我現在遇到了和你一樣的問題,但是不知道怎麼解決,能幫幫忙嗎

12樓:我

把採集到的資料依次上傳

我倒是可以提供

如何在微控制器上編寫程式,將微控制器中的資料通過串列埠傳輸到電腦上!!!!

13樓:匿名使用者

在微控制器中編寫串列埠程式,將資料傳送到電腦就行了

14樓:

具體實現:

1.通訊協議格式

根據具體資料自定義

2.微控制器部分

鍵盤處理程式,flash讀寫程式,串列埠初始化程式,串列埠中斷服務程式,通訊協議解析程式

3.電腦部分

用vc++編一個軟體,用於電腦上的操作,串列埠驅動,串列埠設定(自動還是手動),通訊協議解析程式,介面顯示,檔案儲存

小明中考准考證號是四位數,它的千位數字是一,把一挪到個位上,形成的新數比原來的數五倍小

設後三位為x,1000 x 5 49 x 10 1 5000 5x 49 10x 1 10x 5x 4950 5x 4950 x 990 所以這個四位數為 1990 設准考證號為1000 100a 10b c則 1000a 100b 10c 1 5 1000 100a 10b1c 49 500a 5...

將1 2 3 4 5 67 8的每全排列皆看成八位數,則其中是十一倍數的八位數的個數為

程式設計窮舉法獲得答案為4608 以下是對應c void main 8 selectmany c arrange c,c.length var count arrange.select ary return val where val val 11 0 count console.writeline...

乘法的豎式怎樣計算?請舉個例子,如二位數二位數三位數三位數三位數二位數最好手寫草稿解答

個位對齊,依次相乘,錯位相加 具體答案如圖 二位數乘以三位數乘法列豎式計算因該如何計算 把三位數放上面,二位數放下面,個位對齊,再去計算。追問 如我的孩子是如回下 46 589 3534 2350 27094 對嗎?補充 這答樣對位不行。要養成習慣,多位放上面,末尾對齊,這樣才行,補充 按你孩子的對...