找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 953|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

如何將變量值轉(zhuǎn)字符串形式在上位機顯示?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:322939 發(fā)表于 2024-12-19 20:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在不使用printf()函數(shù)情況下,用SBUF形式將變量值轉(zhuǎn)字符串在上位機顯示?第一次使用接觸,請各位大佬們指點下:例如:將ADC讀取的數(shù)字值在串口發(fā)上位機顯示
     unsigned int  temp=0;
    unsigned char sum=123;
      temp=ADC_read();
     SBUF=sum;
    while(!TI);
    TI=0;
    DelayMs(1000);
這樣在上位機顯示HEX格式“FB”,而不是123



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1109793 發(fā)表于 2024-12-20 07:30 | 只看該作者
直接發(fā)個INT,讓上位機自己處理不行嗎?
回復(fù)

使用道具 舉報

板凳
ID:277550 發(fā)表于 2024-12-20 09:02 | 只看該作者
上位機是電腦,功能強大,再將hex轉(zhuǎn)換成dec,就是了,,,,每種編程語言都可做到的,如java Integer.parseInt("hex string", 16)
回復(fù)

使用道具 舉報

地板
ID:192020 發(fā)表于 2024-12-20 09:11 | 只看該作者
轉(zhuǎn)換一下再打印,例如打印變量是123,轉(zhuǎn)字符串就要串口發(fā)3個數(shù)值'1''2''3'
    SBUF='1';while(!TI);TI=0;
    SBUF='2';while(!TI);TI=0;
    SBUF='3';while(!TI);TI=0;
也就是寫個函數(shù)把變量的百位十位個位提取出來轉(zhuǎn)ascii后再依次發(fā)送
回復(fù)

使用道具 舉報

5#
ID:69038 發(fā)表于 2024-12-20 10:11 | 只看該作者
mcu處理一些本地數(shù)據(jù)是可以的,但上位機處理數(shù)據(jù)能力遠(yuǎn)勝MCU,所以一些數(shù)值轉(zhuǎn)換還是放在上位機這邊更好。特別是與MCU已經(jīng)斷聯(lián)的數(shù)據(jù)。
回復(fù)

使用道具 舉報

6#
ID:322939 發(fā)表于 2024-12-20 14:04 | 只看該作者
有的是用sprintf函數(shù)轉(zhuǎn)成字符串后再從串口發(fā)送,如:unsigned char str[5];
unsigned char sum=123;
sprintf(str,"%d\r\n,sum);
sedstring(str);//從串口發(fā)送上位機
回復(fù)

使用道具 舉報

7#
ID:322939 發(fā)表于 2024-12-20 20:40 | 只看該作者

void UartSend(char dat)
{
    while (!TI);
    TI = 0;
    SBUF = dat/100;
         while (!TI);
    TI = 0;
        SBUF=dat/10%10;
         while (!TI);
    TI = 0;
        SBUF=dat%10;
}
UartSend(sum);
回復(fù)

使用道具 舉報

8#
ID:322939 發(fā)表于 2024-12-21 08:05 | 只看該作者
上位機顯示不對
回復(fù)

使用道具 舉報

9#
ID:401564 發(fā)表于 2024-12-21 09:14 | 只看該作者
單片機如果片上資源多的話
sprintf是相對好用的函數(shù)
對于要發(fā)送給上位機的數(shù)據(jù),是要處理一下的,要么是用協(xié)議,要么是自己加一個起始和結(jié)束符,不然,數(shù)據(jù)容易亂
直接發(fā)8位變量值是簡單,但如果是浮點型呢?16位數(shù)據(jù)燈呢?所以,還是用sprintf相對好點
回復(fù)

使用道具 舉報

10#
ID:322939 發(fā)表于 2024-12-21 09:38 | 只看該作者
串口助手顯示會亂碼
回復(fù)

使用道具 舉報

11#
ID:322939 發(fā)表于 2024-12-21 20:29 | 只看該作者
已經(jīng)弄好,多謝各位!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表