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

QQ登錄

只需一步,快速開始

搜索
樓主: Similarv
打印 上一主題 下一主題
收起左側(cè)

請(qǐng)工程化,定制化你的單片機(jī)代碼

    [復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 40 黑幣 回復(fù)本帖可獲得 2 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
281#
ID:867221 發(fā)表于 2021-1-1 19:39 | 只看該作者
謝謝樓主,受益匪淺,開始害怕delay了
回復(fù)

使用道具 舉報(bào)

282#
ID:754694 發(fā)表于 2021-1-2 22:44 來(lái)自手機(jī) | 只看該作者
學(xué)習(xí)了,受益匪淺!
回復(fù)

使用道具 舉報(bào)

283#
ID:865556 發(fā)表于 2021-1-11 16:34 | 只看該作者
感謝樓主的分享,對(duì)我的幫助極大
回復(fù)

使用道具 舉報(bào)

284#
ID:161939 發(fā)表于 2021-1-12 10:25 | 只看該作者
長(zhǎng)知識(shí)了,原來(lái)還可以這樣。
回復(fù)

使用道具 舉報(bào)

285#
ID:684871 發(fā)表于 2021-1-12 12:59 來(lái)自手機(jī) | 只看該作者
太強(qiáng)了,能夠提醒初學(xué)者
回復(fù)

使用道具 舉報(bào)

286#
ID:856401 發(fā)表于 2021-1-12 22:04 | 只看該作者
認(rèn)真學(xué)習(xí)51單片機(jī)
回復(fù)

使用道具 舉報(bào)

287#
ID:484408 發(fā)表于 2021-1-15 20:33 | 只看該作者
很nice,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

288#
ID:750420 發(fā)表于 2021-1-20 21:23 | 只看該作者
醍醐灌頂,結(jié)合了ucos的理解
回復(fù)

使用道具 舉報(bào)

289#
ID:102800 發(fā)表于 2021-1-21 09:37 | 只看該作者
學(xué)習(xí)力,很不錯(cuò)的資料。謝謝樓主的分享
回復(fù)

使用道具 舉報(bào)

290#
ID:855897 發(fā)表于 2021-1-23 08:07 | 只看該作者
好貼,這些沒(méi)工作過(guò)的人一般是想不到的。
回復(fù)

使用道具 舉報(bào)

291#
ID:798201 發(fā)表于 2021-1-24 15:10 | 只看該作者
新手還沒(méi)看懂,目前只會(huì)while(!KEY) 判斷,先收藏我會(huì)回來(lái)的,感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

292#
ID:728202 發(fā)表于 2021-1-25 11:11 | 只看該作者
謝謝教學(xué),很實(shí)用
回復(fù)

使用道具 舉報(bào)

293#
ID:878420 發(fā)表于 2021-1-25 23:04 來(lái)自手機(jī) | 只看該作者
這個(gè)教程真詳細(xì),碼字不容易
回復(fù)

使用道具 舉報(bào)

294#
ID:880678 發(fā)表于 2021-1-26 15:11 | 只看該作者
學(xué)習(xí)了  雖然不是很懂
回復(fù)

使用道具 舉報(bào)

295#
ID:288629 發(fā)表于 2021-1-27 14:34 | 只看該作者
是的,程序應(yīng)該標(biāo)準(zhǔn)化,至少自已要想法把自已的程序標(biāo)準(zhǔn)化
回復(fù)

使用道具 舉報(bào)

296#
ID:880128 發(fā)表于 2021-1-27 15:45 | 只看該作者
程序標(biāo)準(zhǔn)化,有利于程序復(fù)用,規(guī)范
回復(fù)

使用道具 舉報(bào)

297#
ID:516612 發(fā)表于 2021-1-29 21:39 | 只看該作者
寫的真好,建議添加轉(zhuǎn)載清楚注明出處。
回復(fù)

使用道具 舉報(bào)

298#
ID:366464 發(fā)表于 2021-1-31 20:01 | 只看該作者
宗師級(jí),膜拜!
回復(fù)

使用道具 舉報(bào)

299#
ID:120672 發(fā)表于 2021-2-1 12:01 | 只看該作者
這確實(shí)是篇很好的文章!
回復(fù)

使用道具 舉報(bào)

300#
ID:520510 發(fā)表于 2021-2-1 17:08 | 只看該作者
受教了,感覺之前學(xué)的實(shí)際基本無(wú)法使用
回復(fù)

使用道具 舉報(bào)

301#
ID:83634 發(fā)表于 2021-2-9 14:59 | 只看該作者
這樣就是操作系統(tǒng)的雛形
回復(fù)

使用道具 舉報(bào)

302#
ID:466112 發(fā)表于 2021-2-10 08:41 | 只看該作者
難得的好按鍵處理程序,必須學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

303#
ID:880867 發(fā)表于 2021-2-10 10:17 | 只看該作者
好文章
回復(fù)

使用道具 舉報(bào)

304#
ID:693230 發(fā)表于 2021-2-10 11:08 | 只看該作者
謝謝教學(xué),膜拜!
回復(fù)

使用道具 舉報(bào)

305#
ID:699003 發(fā)表于 2021-2-10 19:26 | 只看該作者
已收藏,對(duì)初學(xué)者有很大的幫助,值得小萌新收藏吸收,謝謝作者
回復(fù)

使用道具 舉報(bào)

306#
ID:232366 發(fā)表于 2021-2-11 09:20 | 只看該作者
受益匪淺感謝
回復(fù)

使用道具 舉報(bào)

307#
ID:282850 發(fā)表于 2021-2-23 19:25 | 只看該作者
講思路的一般都是好的,贊一下
回復(fù)

使用道具 舉報(bào)

308#
ID:87000 發(fā)表于 2021-2-23 21:16 | 只看該作者
寫的不錯(cuò),值得參考
回復(fù)

使用道具 舉報(bào)

309#
ID:884426 發(fā)表于 2021-2-24 08:00 來(lái)自手機(jī) | 只看該作者
學(xué)習(xí)了,易懂
回復(fù)

使用道具 舉報(bào)

310#
ID:885875 發(fā)表于 2021-2-24 10:52 | 只看該作者
新手完全不曉得你說(shuō)的啥玩意
回復(fù)

使用道具 舉報(bào)

311#
ID:569384 發(fā)表于 2021-2-24 11:50 | 只看該作者
以前從來(lái)沒(méi)有人教過(guò)這些,后來(lái)真正做產(chǎn)品的時(shí)候慢慢理解了,程序中絕對(duì)不用while或delay(),可以想象整個(gè)程序就像一個(gè)車輪,一直在轉(zhuǎn)圈圈,4ms轉(zhuǎn)一圈,所有功能4ms執(zhí)行一次,如果中途有while那么車輪就會(huì)卡頓卡頓,如果需要延時(shí)可以用一個(gè)變量進(jìn)行計(jì)數(shù),計(jì)數(shù)到100次后就執(zhí)行相應(yīng)的程序,比如如果是4ms轉(zhuǎn)一圈,那么100次就等于400ms的延時(shí)了,這樣就不會(huì)影響其他程序的執(zhí)行。
回復(fù)

使用道具 舉報(bào)

312#
ID:569384 發(fā)表于 2021-2-24 12:08 | 只看該作者
Similarv 發(fā)表于 2019-8-2 20:36
我不是給了個(gè)keyPress()程序么,你再好好看看。
簡(jiǎn)單來(lái)說(shuō),有鍵按下時(shí),時(shí)間就會(huì)++;
無(wú)鍵按下時(shí),時(shí)間 ...

我自己的經(jīng)驗(yàn)是:在定時(shí)里做一個(gè)4ms的標(biāo)志位,主程序里面用這個(gè)4ms掃描一次按鍵,有按下,計(jì)數(shù)++,無(wú)按下計(jì)數(shù)清零,加一個(gè)按下松開標(biāo)志位,按下計(jì)數(shù)達(dá)到3次(消抖值)后判為成功按下并且按下松開標(biāo)志位=1,未松開就不做第二次按下計(jì)數(shù);寫的有點(diǎn)亂,寫個(gè)偽代碼:

定時(shí)器中斷函數(shù)()
{//假設(shè)定時(shí)中斷時(shí)間是250us
     4ms計(jì)數(shù)++;
     if(4ms計(jì)數(shù) >= 16)//4ms/250us=16
     {
            4ms計(jì)數(shù) = 0;
            4ms標(biāo)志位 = 1;
     }
}


main()
{
     while(1)
    {
        if(4ms標(biāo)志位)
        {
              4ms標(biāo)志位 = 0;
              keypress();
              其他功能函數(shù)();
        }
    }
}

void keypress()
{
        if(按鍵io口 == 0)//假設(shè)低電平為按下
        {
             if(按下松開flag == 0)
             {
                    按下計(jì)數(shù)++;
                    if(按下計(jì)數(shù) >= 5)
                   {
                           按下計(jì)數(shù) = 0;
                           按下松開flag = 1;
                           //按鍵按下
                   }
              }
        }
        else
        {
               按下計(jì)數(shù) = 0;
               按下松開flag = 0;//松開后標(biāo)志位清零,可以檢測(cè)下一次按鍵
        }
}
回復(fù)

使用道具 舉報(bào)

313#
ID:871566 發(fā)表于 2021-2-25 14:27 | 只看該作者
哇,謝謝,幫助很大
回復(fù)

使用道具 舉報(bào)

314#
ID:428114 發(fā)表于 2021-2-25 16:27 | 只看該作者
有點(diǎn)意思
回復(fù)

使用道具 舉報(bào)

315#
ID:476527 發(fā)表于 2021-2-27 11:59 | 只看該作者
mm36d 發(fā)表于 2021-2-24 10:52
新手完全不曉得你說(shuō)的啥玩意

請(qǐng)加油,要相信自己的潛力
回復(fù)

使用道具 舉報(bào)

316#
ID:548757 發(fā)表于 2021-3-1 13:16 | 只看該作者
好文章,謝謝分享!。。
回復(fù)

使用道具 舉報(bào)

317#
ID:639169 發(fā)表于 2021-3-2 22:13 | 只看該作者
好文章,大佬666
回復(fù)

使用道具 舉報(bào)

318#
ID:88023 發(fā)表于 2021-3-3 14:29 | 只看該作者
那么有個(gè)問(wèn)題,就是你在跟某個(gè)芯片通訊時(shí),要使用模擬時(shí)序時(shí)候不就要用到Delay函數(shù)了嘛?這個(gè)你是怎么解決的??
回復(fù)

使用道具 舉報(bào)

319#
ID:886043 發(fā)表于 2021-3-3 16:20 | 只看該作者
大佬牛逼,向大佬學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

320#
ID:869417 發(fā)表于 2021-3-5 16:50 | 只看該作者
學(xué)習(xí)了,編程精髓。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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