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

QQ登錄

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

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

寫(xiě)單片機(jī)程序時(shí)怎么實(shí)現(xiàn)多個(gè)功能同時(shí)運(yùn)行?

[復(fù)制鏈接]
ID:670962 發(fā)表于 2019-12-23 22:41 來(lái)自手機(jī) | 顯示全部樓層 |閱讀模式
在只有一個(gè)主函數(shù)的情況下,怎么寫(xiě)程序可以讓多個(gè)函數(shù)同時(shí)運(yùn)行。
回復(fù)

使用道具 舉報(bào)

ID:235200 發(fā)表于 2019-12-24 02:22 | 顯示全部樓層
單片機(jī)運(yùn)行程序不是多線程的,只有一個(gè)程序函數(shù)運(yùn)行完了才能執(zhí)行另一個(gè)函數(shù),不知道你問(wèn)的是不是執(zhí)行多個(gè)任務(wù),當(dāng)某個(gè)函數(shù)占用時(shí)間較短時(shí),運(yùn)行的結(jié)果的現(xiàn)象好象是同時(shí)執(zhí)行了
回復(fù)

使用道具 舉報(bào)

ID:25310 發(fā)表于 2019-12-24 08:09 | 顯示全部樓層
循環(huán)執(zhí)行多個(gè)任務(wù),Main 函數(shù)要限制比較長(zhǎng)的延時(shí)。中斷函數(shù)可打斷Main函數(shù) ,主要任務(wù)會(huì)叢中斷進(jìn)入打斷主程序執(zhí)行,完畢后回到Main函數(shù)繼續(xù),加個(gè)看門狗防止某任務(wù)一去不復(fù)返。
回復(fù)

使用道具 舉報(bào)

ID:285996 發(fā)表于 2019-12-24 09:11 | 顯示全部樓層
多個(gè)函數(shù)不可能同時(shí)運(yùn)行,因?yàn)槭菃魏说模挥幸粋(gè)CPU,用操作系統(tǒng)也是一個(gè)時(shí)間運(yùn)行一個(gè)函數(shù),由于在不同函數(shù)間快速切換,看起來(lái)是一個(gè)時(shí)間在運(yùn)行兩個(gè)函數(shù),看起來(lái)喲
回復(fù)

使用道具 舉報(bào)

ID:426861 發(fā)表于 2019-12-24 09:16 | 顯示全部樓層
每次只能執(zhí)行一個(gè)函數(shù)
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-12-24 09:54 | 顯示全部樓層
當(dāng)前的主流單片機(jī),可以分時(shí)“執(zhí)行多個(gè)任務(wù)”。
但注意的是,它是分時(shí)操作,也就是說(shuō),在某一時(shí)刻它只能做一件事。

比如“一面流水燈,一邊揚(yáng)聲器唱歌”,它可以:需要調(diào)整燈光時(shí),暫停一下發(fā)聲,調(diào)完燈光后再接著發(fā)聲,這樣循環(huán)下去。如果它做得夠快的話,你可以感覺(jué)不到停頓。

回復(fù)

使用道具 舉報(bào)

ID:332444 發(fā)表于 2019-12-24 11:11 | 顯示全部樓層
從電路結(jié)構(gòu)來(lái)說(shuō)蛋騙雞是可以同時(shí)執(zhí)行多個(gè)任務(wù),就是主程,定時(shí),中斷.巧用則可完成多任務(wù).
回復(fù)

使用道具 舉報(bào)

ID:475247 發(fā)表于 2019-12-24 11:55 | 顯示全部樓層
你這個(gè)問(wèn)題提的很好,但是如果你學(xué)會(huì)了定時(shí)與中斷,你的問(wèn)題應(yīng)該很好解決,執(zhí)行代碼比較占用主函數(shù)時(shí)間的,要盡量放到定時(shí)中斷里面去做,有些代碼能用定時(shí)器來(lái)做的,也要選擇用定時(shí)器。
回復(fù)

使用道具 舉報(bào)

ID:672363 發(fā)表于 2019-12-24 14:07 | 顯示全部樓層
單片機(jī)是單線程的
舉個(gè)例子:避免在代碼里使用while循環(huán),如果判斷不對(duì),就去執(zhí)行另一個(gè)函數(shù),過(guò)一段時(shí)間再來(lái)判斷第二次。
實(shí)在不行就加中斷或者定義函數(shù)的時(shí)候用inline內(nèi)聯(lián)函數(shù)加快速度
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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