久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1624|回復: 14
打印 上一主題 下一主題
收起左側

51單片機驅動數碼管,顯示不對 發現在在Show里面四個數不對

[復制鏈接]
跳轉到指定樓層
樓主
發現在 FloatToNum(float fs)中數值還對,在show里面把四位數碼對應位置賦于數碼管碼值數組顯示數值的,但是數值就被改了。什么原因?感謝大俠指教!(附代碼),還有我調試時的四張圖。第一張圖是在 FloatToNum(float fs)中數值,第 二張是在SHOW中剛進行沒有在數碼管真值表里找值時的 uFirstuSeconduThird,uFour的值,第三張是在數碼管真值表里找值時四個數的值(被改變了。)

在轉換函數里的值.jpg (28.84 KB, 下載次數: 16)

在轉換函數里的值.jpg

在顯示函數里的初值.jpg (37.45 KB, 下載次數: 14)

在顯示函數里的初值.jpg

在顯示函數里的后值.jpg (39.09 KB, 下載次數: 14)

在顯示函數里的后值.jpg

代碼.zip

910 Bytes, 下載次數: 10

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

使用道具 舉報

沙發
ID:1109793 發表于 2024-8-24 13:50 | 只看該作者
上面的是全局變量,顯示函數里面的參數,是局部變量吧。雖然名字一樣,但是應該不是一個。
回復

使用道具 舉報

板凳
ID:1109793 發表于 2024-8-24 14:08 | 只看該作者
不對,你截圖顯示的就不是一個變量啊,雖然穿進去后不是一個,但是實際上也不會變啊。
回復

使用道具 舉報

地板
ID:404160 發表于 2024-8-24 16:50 | 只看該作者
FloatToNum 函數中的精度問題:

當 fs 值在 10 到 100 之間時,uShu 被計算為 fs * 100,這可能導致精度損失,因為浮點數乘以 100 并向下取整可能不會得到精確的整數。


void FloatToNum(float fs) {
    // 根據fs的范圍確定乘數
    uint multiplier;
    if (fs >= 100) multiplier = 10;
    else if (fs >= 10) multiplier = 100;
    else multiplier = 1000;

    // 將fs轉換為整數后乘以相應的乘數
    uint temp = (uint)(fs * multiplier);

    // 四舍五入處理
    float remainder = fs - (int)fs;
    if (remainder >= 0.5f) {
        temp += 1;
    }

    // 計算各個位上的數值
    uFirst = temp / 1000;
    uSecond = (temp / 100) % 10;
    uThird = (temp / 10) % 10;
    uFour = temp % 10;
}
回復

使用道具 舉報

5#
ID:295726 發表于 2024-8-26 10:25 | 只看該作者
xiaobendan001 發表于 2024-8-24 13:50
上面的是全局變量,顯示函數里面的參數,是局部變量吧。雖然名字一樣,但是應該不是一個。

后面調用函數時傳入數值了。
回復

使用道具 舉報

6#
ID:1109793 發表于 2024-8-26 12:01 | 只看該作者

模擬中這四個參數的值并沒有改變啊。
回復

使用道具 舉報

7#
ID:1109793 發表于 2024-8-26 14:55 | 只看該作者

輸出的結果也都對啊
回復

使用道具 舉報

8#
ID:295726 發表于 2024-8-26 20:51 | 只看該作者
xiaobendan001 發表于 2024-8-26 14:55
輸出的結果也都對啊

感謝!我用C++寫過軟件 ,現在調試都忘記看數碼管顯示的取值了。但是我數碼管顯示的8888.還閃爍。
回復

使用道具 舉報

9#
ID:295726 發表于 2024-8-26 21:00 | 只看該作者
xiaobendan001 發表于 2024-8-26 14:55
輸出的結果也都對啊

DigiValue[uFirst]的值在調試中怎么顯示時帶個‘?’號?
感謝!
回復

使用道具 舉報

10#
ID:295726 發表于 2024-8-26 23:03 | 只看該作者
這是輸出數碼管的顯示

數碼管顯示.jpg (256.88 KB, 下載次數: 12)

數碼管顯示.jpg
回復

使用道具 舉報

11#
ID:1109793 發表于 2024-8-27 07:35 | 只看該作者
lileisgns 發表于 2024-8-26 21:00
DigiValue的值在調試中怎么顯示時帶個‘?’號?
感謝!

這個我也不太懂啊,有知道的大神給解惑一下唄
回復

使用道具 舉報

12#
ID:844772 發表于 2024-8-28 10:37 | 只看該作者
1.如果值在ASCII范圍,就顯示ASCII,不在就顯示?
2.共陽的管子寫反了,應先關再賦值,否則會重影,估計8字筆畫亮度不同還閃爍。
回復

使用道具 舉報

13#
ID:295726 發表于 2024-8-28 14:59 | 只看該作者
glinfei 發表于 2024-8-28 10:37
1.如果值在ASCII范圍,就顯示ASCII,不在就顯示?
2.共陽的管子寫反了,應先關再賦值,否則會重影,估計8 ...

感謝!我測試一下。
回復

使用道具 舉報

14#
ID:1109793 發表于 2024-8-29 10:52 | 只看該作者
glinfei 發表于 2024-8-28 10:37
1.如果值在ASCII范圍,就顯示ASCII,不在就顯示?
2.共陽的管子寫反了,應先關再賦值,否則會重影,估計8 ...

應該不是,你看截圖,上面三個一樣的值就沒有問號。樓主用的DATA,有?,我給改成CODE,也一樣有?的。沒整明白
回復

使用道具 舉報

15#
ID:1109793 發表于 2024-8-29 10:55 | 只看該作者
glinfei 發表于 2024-8-28 10:37
1.如果值在ASCII范圍,就顯示ASCII,不在就顯示?
2.共陽的管子寫反了,應先關再賦值,否則會重影,估計8 ...

剛剛記錯了,不好意思,好像還真是,不在ASCII范圍就顯示?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级a爱片久久毛片 | 成人久久久 | 亚洲成人一区二区三区 | 免费在线观看av网站 | 中文字幕视频在线观看免费 | 美国一级毛片a | 国产欧美在线观看 | 免费在线成人 | 在线三级网址 | 在线日韩中文字幕 | 美日韩免费视频 | 亚洲精品一区二区三区 | 日本特黄a级高清免费大片 国产精品久久性 | 成年无码av片在线 | 免费毛片网站在线观看 | 国产99久久久国产精品下药 | 欧美日韩中文字幕在线播放 | 99re| 久久国产一区 | 天天天操天天天干 | 久久久青草 | 国产精品亚洲第一区在线暖暖韩国 | 色黄爽 | 国产激情91久久精品导航 | 精品国产精品三级精品av网址 | 成人日韩 | 殴美一级片 | 日韩久草 | 国产露脸国语对白在线 | 日韩av在线一区二区三区 | 欧美天堂 | 日本午夜在线视频 | 国产中文 | 99久久久久国产精品免费 | 亚洲欧美aⅴ | 欧美一区二区三区 | 日韩成人影院 | 国产黄色大片在线免费观看 | 久久一区 | 男人电影天堂 | 日韩美女一区二区三区在线观看 |