關於微控制器通過串列埠傳送浮點數資訊

2021-07-04 03:16:35 字數 689 閱讀 7348

最近弄乙個小東西的時候,需要將ad採集的資料,通過串列埠傳送上位機。由於還得在下位機部分顯示出來,所以這個ad採集的資料轉換之後傳送到串列埠,比較容易點。但是問題來了,以前的串列埠,只有從gps模組接收的資訊是浮點型別外。其他的東西,都只是把字元型別或者字串型別的資料發到串列埠。

查閱了一點資料,這裡是資料的鏈結。

微控制器將浮點數從串列埠傳送出去:

1.採用了將浮點數轉換為四個位元組的資料,放到陣列中,傳送到串列埠。

2.加入了標準輸入輸出標頭檔案,可以通過對ti標誌位的判斷,直接對資料進行串列埠輸出。

同時自己進行了乙個測試,覺得第二種方法比第一種方法來的簡單。但是第二種多了乙個標頭檔案,大概估計了一下,覺得第二種方法生成的hex檔案是比第一種大的。當然現在很多儲存都是夠的。倒也不是什麼大問題,不過大家進行方法選擇的時候,可以進行一些測試,以免儲存不夠的情況出現。

下面是我進行測試的**

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

float ad_vo=9.0987;

void init()

void delay(uint count)

void main()

}

關於微控制器串列埠原理

c語言中 ea 1 允許總中斷 es 1 允許串列埠中斷 彙編中可用 setb ea 允許總中斷 setb es 允許串列埠中斷 當微控制器接收到一幀資料後,ri會置1,向cpu申請中斷,若之前有中斷允許,則產生了中斷,進入中斷服務程式。當然,微控制器傳送完一幀資料,ti也會置1,同樣會產生中斷!一...

在微控制器中的浮點數程式設計

問題背景 在使用8bit微控制器進行開發,不支援浮點數運算。但是開發必須用到sin,cos,arctan等浮點數函式。苦想了兩天,才發現,自己要當一回 計算機 微控制器不支援浮點數,可是程式設計卻一定要用到小數。這時,只好自定義 定點小數 了。所需的浮點數範圍有兩個區域 1 1,60 60。精度就按...

微控制器 MATLAB浮點數(float32)通訊

程式思路 描述 把float型資料原封不動的按照儲存4位元組傳送 輸入 要傳送的浮點數 輸出 無 void float send float data 這裡想請教一下大家,為什麼add unsigned char data 中要帶 unsigned char 不然就給waring point to ...