欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2184|回復: 8
收起左側

請教這段C語言代碼如何做一個循環?

[復制鏈接]
ID:525582 發表于 2020-10-4 01:16 | 顯示全部樓層 |閱讀模式
見下圖,這段C語言代碼要做一百多個if選擇,程序每運行一次會進入其中一個if語句,全部寫完會有上千行代碼,現在我已經寫出了兩個if選擇,用什么樣的代碼才能省掉這上千行代碼,同時又能實現程序功能呢?請大家指教,多謝了!

捕獲.JPG


回復

使用道具 舉報

ID:213173 發表于 2020-10-4 07:50 | 顯示全部樓層
用對分查表法。
回復

使用道具 舉報

ID:606388 發表于 2020-10-4 08:27 | 顯示全部樓層
判斷語句不應該是這樣嗎
回復

使用道具 舉報

ID:606388 發表于 2020-10-4 08:31 | 顯示全部樓層
本帖最后由 qingyemurong 于 2020-10-4 08:40 編輯

那個判斷語句應該都有問題,   
if(3.146>=temp&&temp>3.137)

目測你應該是使用了數碼管顯示,可不可以考慮數碼管刷新放在定時器里面,定義全局變量保存讀取的數值,那樣代碼就可以減少很多。
使用if嵌套,那樣應該是可以少定義一部分變量的,也可以減少代碼。
回復

使用道具 舉報

ID:525582 發表于 2020-10-4 09:28 | 顯示全部樓層
有一百多個數值,被封裝在一個數組里面,用選擇語句掃描這一百多個數值,看temp的值對應數組里面哪一個數值,不知道該如何寫這個循環的代碼
回復

使用道具 舉報

ID:525582 發表于 2020-10-4 09:38 | 顯示全部樓層
qingyemurong 發表于 2020-10-4 08:31
那個判斷語句應該都有問題,   
if(3.146>=temp&&temp>3.137)

是用的數碼管顯示,我是新手,定時器沒用過,還不會用。我是把一百多個數值放在一個數組里面,temp是ADC采樣值,用temp的值和數組里面那一百多個數值做對比,對應上哪一個,就把哪一個顯示出來,就是不知道怎樣做一個循環,讓它自己掃描數組里面的值,我主貼里面截圖那種方法是最笨的方法,要復制一百多段,上千行代碼
回復

使用道具 舉報

ID:606388 發表于 2020-10-4 22:31 | 顯示全部樓層
yytda 發表于 2020-10-4 09:38
是用的數碼管顯示,我是新手,定時器沒用過,還不會用。我是把一百多個數值放在一個數組里面,temp是ADC ...

如果你的目的是把ADC值顯示出來,不需要那么多代碼嗎,也不需要要和數組對比,直接顯示不就可以了。
回復

使用道具 舉報

ID:525582 發表于 2020-10-5 09:01 來自觸屏版 | 顯示全部樓層
qingyemurong 發表于 2020-10-4 22:31
如果你的目的是把ADC值顯示出來,不需要那么多代碼嗎,也不需要要和數組對比,直接顯示不就可以了。

之前做的電壓表,確實不需要那么多數值,ADC可以直接顯示,不過現在我做的溫度計,熱敏電阻是非線性的,所以要加這么多數值
回復

使用道具 舉報

ID:822598 發表于 2020-10-5 14:25 | 顯示全部樓層
使用定時器可能效果更佳
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表