找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用stm32采集溫度在tft屏幕上能打印溫度小數(shù)點(diǎn)后一位,求解決

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:256568 發(fā)表于 2017-12-9 12:48 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
在串口上能打印到小數(shù)點(diǎn)后一位,但是在tft屏幕上卻只能輸出整數(shù),這是為什么
這是我的代碼
ds18b20.c
float DS18B20_GetTemp_SkipRom ( void )
{
        uint8_t tpmsb, tplsb;
        short s_tem;
        float f_tem;
       
       
        DS18B20_SkipRom ();
        DS18B20_WriteByte(0X44);                                /* 開始轉(zhuǎn)換 */
       
       
        DS18B20_SkipRom ();
  DS18B20_WriteByte(0XBE);                                /* 讀取溫度 */
       
        tplsb = DS18B20_ReadByte();                 
        tpmsb = DS18B20_ReadByte();
       
       
        s_tem = tpmsb<<8;
        s_tem = s_tem | tplsb;
       
        if( s_tem < 0 )                /* 負(fù)溫度 */
                f_tem = (~s_tem+1) * 0.0625;       
        else
                f_tem = s_tem * 0.0625;
       
        return f_tem;                
       
}


main.c
                while( 1 )
        {
        while( DS18B20_Init() )       
       
        printf("\r\n no ds18b20 exit \r\n");
        printf("\r\n ds18b20 exit \r\n");

        DS18B20_ReadId ( ucDs18b20Id1  );           // 讀取 DS18B20 序號
               
        printf ( "\r\傳感器一的溫度 %.1f\r\n", DS18B20_GetTemp_SkipRom ( ) );       
        Delay_ms(1000);       
LCD_ShowString(60,90,240,16,16,"DS18B20_1 OK");
        LCD_ShowString(60,170,200,16,16,"Temp0:    C");
         LCD_ShowNum(110,170,DS18B20_GetTemp_SkipRom (  ),2,16);
                Delay_ms(1000);       

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

使用道具 舉報

沙發(fā)
ID:259517 發(fā)表于 2017-12-9 18:41 | 只看該作者
先把溫度值用sprintf函數(shù)進(jìn)行轉(zhuǎn)化
回復(fù)

使用道具 舉報

板凳
ID:259517 發(fā)表于 2017-12-9 18:42 | 只看該作者
你看是不是因?yàn)楹竺娴目臻g不夠顯示了,如果不是這個原因就是數(shù)據(jù)格式的問題,把顯示的截圖傳上來
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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