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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1769|回復(fù): 4
收起左側(cè)

單片機(jī)程序的優(yōu)化問(wèn)題

[復(fù)制鏈接]
ID:601478 發(fā)表于 2019-11-30 17:28 | 顯示全部樓層 |閱讀模式
最近在寫(xiě)一個(gè)小的菜單程序,需要做到設(shè)置按鍵用于循環(huán)10個(gè)子程序,加減按鍵用于改變對(duì)應(yīng)子程序的數(shù)值,現(xiàn)在是想能不能把這10個(gè)子程序壓縮成一個(gè)大的子函數(shù),因?yàn)?0個(gè)子程序的大體框架都一樣,只是其中的數(shù)值設(shè)定的范圍不一樣,10個(gè)子程序的數(shù)值都是進(jìn)入子程序時(shí)從EEPROM讀取出來(lái),按鍵設(shè)定好了后退出子程序時(shí)再寫(xiě)進(jìn)EEPROM這樣;
想了兩天都沒(méi)什么好的思路,就是每個(gè)子程序中數(shù)值范圍的差別這里搞不了,有的是0~99,有的是0~65,還有0~1、0~2、0~3、0~24這樣...............
差異性大,參差不齊,各位大哥看看有什么思路可以搞一下這樣
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2019-12-1 10:07 | 顯示全部樓層
給你一個(gè)數(shù)碼管時(shí)鐘長(zhǎng)短按調(diào)整點(diǎn)閃爍+鬧鐘38譯碼器+仿真示例程序參考,讀懂按鍵掃描程序后稍微改一下就能滿足你的需求。
數(shù)碼管時(shí)鐘長(zhǎng)短按調(diào)整點(diǎn)閃爍+鬧鐘38譯碼器+仿真.zip (126.58 KB, 下載次數(shù): 8)

回復(fù)

使用道具 舉報(bào)

ID:653659 發(fā)表于 2019-12-1 18:02 | 顯示全部樓層
將一樣的部分寫(xiě)成一個(gè)程序。
程序入口,將不一樣的部分,也就是你說(shuō)的數(shù)值,作為參數(shù)傳進(jìn)去。
程序內(nèi)部,通過(guò)switch或者if...else,判斷按鍵的數(shù)值。
程序的出口,按照你需要的進(jìn)行返回就行了。
回復(fù)

使用道具 舉報(bào)

ID:653650 發(fā)表于 2019-12-1 19:06 | 顯示全部樓層
一個(gè)提高代碼效率的最基本的方式就是減小變量的長(zhǎng)度。使用 C 編程時(shí),我們都習(xí)慣于對(duì)循環(huán)控制變量使用 int 類型,這對(duì) 8 位的單片機(jī)來(lái)說(shuō)是一種極大的浪費(fèi),你應(yīng)該仔細(xì)考慮你所聲明的變量值可能的范圍,然后選擇合適的變量類型,很明顯,經(jīng)常使用的變量應(yīng)該是unsigned char,只占用一個(gè)字節(jié)。
回復(fù)

使用道具 舉報(bào)

ID:601478 發(fā)表于 2019-12-2 08:51 | 顯示全部樓層
wulin 發(fā)表于 2019-12-1 10:07
給你一個(gè)數(shù)碼管時(shí)鐘長(zhǎng)短按調(diào)整點(diǎn)閃爍+鬧鐘38譯碼器+仿真示例程序參考,讀懂按鍵掃描程序后稍微改一下就能滿 ...

謝謝大佬!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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