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

QQ登錄

只需一步,快速開始

搜索
查看: 1519|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

大家好,單片機(jī)初學(xué)者一直有個(gè)定時(shí)器疑問望能給指點(diǎn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:493146 發(fā)表于 2020-7-19 21:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
初學(xué)單片機(jī),在學(xué)定時(shí)器中斷的時(shí)候有一個(gè)疑惑的地方,就是假如我要用定時(shí)器中斷產(chǎn)生一個(gè)比較長的時(shí)間,需要定時(shí)器每隔10毫秒產(chǎn)生一次中斷,但是在定時(shí)器運(yùn)行的期間還要實(shí)時(shí)檢測(cè)一個(gè)io口,有沒有這種可能,就是在定時(shí)器產(chǎn)生中斷的時(shí)候正好io口也來了一個(gè)信號(hào),這個(gè)時(shí)候信號(hào)應(yīng)該是檢測(cè)不到的,不知道我分析的對(duì)不對(duì),這種情況有什么好的解決方法嗎?謝謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:362076 發(fā)表于 2020-7-19 22:56 | 只看該作者
是對(duì)的,所以設(shè)計(jì)程序的時(shí)候需要將中斷服務(wù)函數(shù)設(shè)計(jì)的盡量短。而且對(duì)于IO的信號(hào),如果想要在循環(huán)內(nèi)容較多的情況下盡快響應(yīng),還是應(yīng)該采用中斷的方式代替查詢。否則就要保證程序循環(huán)時(shí)間小于信號(hào)有效時(shí)間。
回復(fù)

使用道具 舉報(bào)

板凳
ID:332444 發(fā)表于 2020-7-20 06:01 | 只看該作者
分析很對(duì),因此設(shè)計(jì)中斷執(zhí)行指令必須盡可能少,有些不需要中斷去執(zhí)行的就不用放中斷中,采取措施就是設(shè)定中斷優(yōu)先級(jí),最高外部中斷0,次計(jì)數(shù)器0,外1,定1,串口。
回復(fù)

使用道具 舉報(bào)

地板
ID:801957 發(fā)表于 2020-7-20 16:38 | 只看該作者
分析沒錯(cuò),中斷服務(wù)的程序設(shè)計(jì)應(yīng)該短一些,有的沒必要就不用寫
回復(fù)

使用道具 舉報(bào)

5#
ID:388929 發(fā)表于 2020-7-20 17:21 | 只看該作者
用優(yōu)先級(jí)解決,應(yīng)該是可以這樣的
回復(fù)

使用道具 舉報(bào)

6#
ID:451718 發(fā)表于 2020-7-20 17:30 | 只看該作者
要看你對(duì)這個(gè)IO檢測(cè)對(duì)象是什么,還有這個(gè)對(duì)象產(chǎn)生IO變化的時(shí)長是什么級(jí)別,毫秒級(jí)還是10毫秒級(jí),或是更長。 一般來說,
1:毫秒級(jí)以下的IO變化,都應(yīng)該采用外部中斷來處理。
2:毫秒以上的到10毫秒以內(nèi),我一般是在毫秒的定時(shí)中斷函數(shù)里面,做一個(gè)標(biāo)志位檢測(cè),在主程序或者其它地方判斷這個(gè)標(biāo)志位。
3 : 10毫秒到200毫秒的級(jí)別,放在10ms的定時(shí)器中就好了。
4:大于200毫秒的級(jí)別,直接放主程序中就行。
剛做單片機(jī)的時(shí)候,也有你同樣的問題,假如定義了2個(gè)定時(shí)器,分別是定時(shí)器0和定時(shí)器1,定時(shí)器0是1ms的,定時(shí)器1是10ms的。在系統(tǒng)時(shí)鐘運(yùn)行到第10ms時(shí)候,到底是先觸發(fā)第10個(gè)定時(shí)器0,還是第一個(gè)定時(shí)器1?按照優(yōu)先級(jí),應(yīng)該是理解為先觸發(fā)定時(shí)器0,再觸發(fā)定時(shí)器1。其實(shí)是同時(shí)觸發(fā)的,只是硬件會(huì)先執(zhí)行定時(shí)器0里面的程序,再執(zhí)行定時(shí)器1里面的程序。 那么值得注意的問題來了,如果定時(shí)器0執(zhí)行的時(shí)間消耗了900ns會(huì)怎么樣呢?那么留給定時(shí)器1的資源時(shí)長就只有1ms了。這樣,很容易就會(huì)跑飛。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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