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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

同個單片機(jī)中,程序是否是可以分時執(zhí)行兩段不同且完全獨(dú)立的程序

  [復(fù)制鏈接]
ID:956872 發(fā)表于 2022-10-6 20:28 | 顯示全部樓層 |閱讀模式
同一片單片機(jī),程序是否是可以分時執(zhí)行兩段完全獨(dú)立的程序。包括定時器中斷,外部中斷等。
第一段:void main()
{
while(1)
{
;
}
}
void TM0_Isr() interrupt 1
{;}
void INT1_Isr() interrupt 2
{;}



第二段:void main()
{
while(1)
{
;
}
}
void TM0_Isr() interrupt 1
{;}
void INT1_Isr() interrupt 2
{;}




回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2022-10-6 21:21 | 顯示全部樓層
RTOS就是干這個的,任務(wù)雖然可以搶占時間,但是你寫成純時間片分時執(zhí)行不同任務(wù)太輕松了。
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2022-10-6 22:16 | 顯示全部樓層
MCU可以分時執(zhí)行兩段完全獨(dú)立的子程序,但必須在主函數(shù)main內(nèi)運(yùn)行。main函數(shù)必須有,且是唯一的。
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-10-6 22:37 | 顯示全部樓層
bit MODE;

void main()
{
while(1)
{if(MODE)
{
//第一段:
}
else
{
//第二段:
}
}
}
void TM0_Isr() interrupt 1
{
if(MODE)
{
//第一段:
}
else
{
//第二段:
}


}
void INT1_Isr() interrupt 2
{
if(MODE)
{
//第一段:
}
else
{
//第二段:
}


}





回復(fù)

使用道具 舉報

ID:8222 發(fā)表于 2022-10-6 22:50 | 顯示全部樓層
不能有兩個main()。你可以用兩個while(i==1),while(i==2) 切換。
回復(fù)

使用道具 舉報

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

執(zhí)行多個任務(wù)肯定沒有問題,主要是它的資源足夠用,嚴(yán)格來講普通單片機(jī)是單線程的,執(zhí)行多個任務(wù)嚴(yán)格意義上來講并不是同時執(zhí)行多任務(wù),只不過是引因其速度快,在允許有時差的多個任務(wù)中,合理安排就會那個都不耽誤,一個單片機(jī)實(shí)現(xiàn)多任務(wù),如果你的任務(wù)要求完全同步可以通過多個單片機(jī)完成,或者雖然不要求完全同步,但任務(wù)耗用資源較多的也建議多個單片機(jī)來構(gòu)建。

回復(fù)

使用道具 舉報

ID:35873 發(fā)表于 2022-10-7 04:29 | 顯示全部樓層
這比飛哥的狠活兒還要狠啊    好像只能有一個 main函數(shù)  樓主的想法可以實(shí)現(xiàn)   但一個程序中有兩個主函數(shù)這個寫法估計行不通
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-10-7 07:16 | 顯示全部樓層
除了外部增加的資源,比如ADC,定時器之類的,它可以在你主程序一邊執(zhí)行代碼的時候一邊動作
其它的,隨便你什么多任務(wù)系統(tǒng),它都是一個指令一個指令的去執(zhí)行,不管是8051還是STM32
所以的多任務(wù)系統(tǒng),只是MCU處理速度快了,讓你感覺上是同步執(zhí)行的而已
如果是跑系統(tǒng)的話,代碼上是可以,A,B,C,D四個程序同時進(jìn)行,但是,你"同時"進(jìn)行的總時間是和ABCD順序執(zhí)行的時間是一樣的
好處就是有一些優(yōu)先級別而已
回復(fù)

使用道具 舉報

ID:956872 發(fā)表于 2022-10-7 08:18 | 顯示全部樓層

我是想完全分開的兩套程序。 就好比我兩套程序先存儲在外部FLSH,如果要執(zhí)行第一套程序,通過程序自動就把第一套程序下載到單片機(jī)中執(zhí)行,要執(zhí)行第二套程序就下載第二套程序到單片機(jī)中。這樣來回切換
回復(fù)

使用道具 舉報

ID:526108 發(fā)表于 2022-10-7 08:41 | 顯示全部樓層
可以是可以,比較復(fù)雜,比如做可遠(yuǎn)程升級功能的產(chǎn)品一般都會把單片機(jī)劃分兩個區(qū),升級區(qū)和用戶程序區(qū)(升級區(qū)代碼和用戶程序區(qū)代碼是兩個獨(dú)立的keil項目)。也就是說一個單片機(jī)上跑兩個項目
回復(fù)

使用道具 舉報

ID:824490 發(fā)表于 2022-10-7 09:08 | 顯示全部樓層
很久以前,在義隆單片機(jī)上有個功能貌似能實(shí)現(xiàn)樓主的功能,2個程序分別編譯,一起寫入:

●有兩個具有R-Option功能的I/O引腳,通過R-Option功能可在兩個或兩個以上應(yīng)用程序中放人同一單片機(jī)時,用一個輸入腳來判斷選擇哪一個程序。也就是說,R-option功能就是在EM78P447S的某兩個I/0腳上設(shè)置可選擇的下拉電阻,從而通過用戶是否外接下拉電阻(一般為510kΩ)來判斷該腳的狀態(tài),進(jìn)而判斷運(yùn)行哪一個程序;

回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-10-7 11:28 來自手機(jī) | 顯示全部樓層
PEB188 發(fā)表于 2022-10-7 08:18
我是想完全分開的兩套程序。 就好比我兩套程序先存儲在外部FLSH,如果要執(zhí)行第一套程序,通過程序自動就 ...

你要這么說的話,stc89c51,ea高電平就是內(nèi)部存儲啟動 ,ea低電平,外部存儲啟動。
回復(fù)

使用道具 舉報

ID:1034262 發(fā)表于 2022-10-7 15:36 | 顯示全部樓層
樓主可以了解一下RTOS(實(shí)時操作系統(tǒng)),或者用狀態(tài)機(jī)、時間(信息)觸發(fā)的多任務(wù)系統(tǒng),這些都可以實(shí)現(xiàn)你想要的。
回復(fù)

使用道具 舉報

ID:888148 發(fā)表于 2022-10-7 22:42 | 顯示全部樓層
ESP32雙核的,你可以試試把程序執(zhí)行在不同的核上面.
但是你這中斷應(yīng)該是共用的,做不到同時運(yùn)行吧.
回復(fù)

使用道具 舉報

ID:390416 發(fā)表于 2022-10-9 00:00 | 顯示全部樓層
人人學(xué)會單片機(jī),所講解的框架式編程,就是滿足你這個想法而設(shè)計的
回復(fù)

使用道具 舉報

ID:235438 發(fā)表于 2022-10-9 01:10 | 顯示全部樓層
這種最好上操作系統(tǒng)吧,也不是很麻煩,用習(xí)慣了比裸奔好用的多。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 伊人精品久久久久77777 | 久久9热 | 久久久久久99 | 国产精品精品视频一区二区三区 | av在线电影网站 | 久久尤物免费一区二区三区 | 久久久久久免费毛片精品 | 国产999精品久久久久久 | 盗摄精品av一区二区三区 | 亚洲视频在线免费观看 | 91一区二区 | 丁香婷婷成人 | 最新中文字幕一区 | 色综合天天天天做夜夜夜夜做 | 97成人在线 | 国产a视频 | 久久成人免费视频 | 色视频在线播放 | 西西裸体做爰视频 | 中文字幕不卡在线88 | 国产亚洲精品综合一区 | 福利久久 | 免费激情 | 特黄色毛片 | 精品亚洲一区二区三区 | 97国产一区二区精品久久呦 | 羞羞视频网页 | 日韩成人久久 | 玖玖玖在线观看 | 午夜国产一级片 | 天天干天天操天天射 | 日韩黄a | 国产精品视频免费观看 | 中文字幕在线一区二区三区 | 久久精品久久久久久 | 亚洲电影一区 | 国产一区二区三区免费 | 国产精品欧美一区二区三区不卡 | 成人免费视频观看 | 四虎影音 | 久在线|