tag:blogger.com,1999:blog-4877487320781767952.post2264844754204309591..comments2024-03-26T17:16:22.101+08:00Comments on 小狐狸事務所: Arduino 按鈕開關測試 (二) : 硬體中斷法 (Interrupt)小狐狸事務所http://www.blogger.com/profile/09435160519044041137noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-4877487320781767952.post-69199767850524469572020-05-21T18:22:27.555+08:002020-05-21T18:22:27.555+08:00中斷副程式 可否寫判斷式
中斷副程式 可否寫判斷式<br />123https://www.blogger.com/profile/00416697282807333742noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-75508881041541236412020-04-20T00:05:15.591+08:002020-04-20T00:05:15.591+08:00您好, ISR 內只能用 delayMicroseconds(), 因為 delay() 與 mil...您好, ISR 內只能用 delayMicroseconds(), 因為 delay() 與 millis() 都會用到中斷計時器, 無效. 小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-48952137219351632832020-04-16T12:16:01.446+08:002020-04-16T12:16:01.446+08:00您好,您在文中提到"如果在 ISR 內要使用時間延遲功能, 必須自行撰寫時間延遲函數&qu...您好,您在文中提到"如果在 ISR 內要使用時間延遲功能, 必須自行撰寫時間延遲函數",意思是指自行撰寫一個有呼叫delay或是millis的函數,並且該函數在ISR內被呼叫是可以正常運作的嗎?目前我是想在ISR內呼叫一個副程式,該副程式中使用了Dr. Monk所開發的Timer函式庫(http://srmonk.blogspot.com/2012/01/arduino-timer-library.html)。這個函式庫也是以millis為基礎所編寫完成的。 感謝!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-12344398270214712342019-10-08T08:28:43.648+08:002019-10-08T08:28:43.648+08:00Sorry, 這我沒試過, 短時間內也沒時間測試, 不過我找到一篇文章或許可以試試, 他們使用 En...Sorry, 這我沒試過, 短時間內也沒時間測試, 不過我找到一篇文章或許可以試試, 他們使用 Enerlib 與 LowPower 函式庫控制單一中斷的睡眠. <br /><br />https://read01.com/zh-tw/MyJk7.html#.XZvXA0YzY2w 小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-4306505543173383452019-10-05T16:13:56.158+08:002019-10-05T16:13:56.158+08:00INT1 用到了PWM輸出功能了, 目前剩下INT0 可以用..
請問有什麼方式可以公用一隻腳嗎?
...INT1 用到了PWM輸出功能了, 目前剩下INT0 可以用..<br />請問有什麼方式可以公用一隻腳嗎?<br />我在loop() 中使用detachInterrupt(0) ;關閉中斷功能,5秒後開啟interrupts()進入powerdown模式<br /><br />powerdown前,按鍵功能OK, 但是進入睡眠再恢復後,按鍵功能就消失了Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-60551933543155563262019-09-18T20:06:48.291+08:002019-09-18T20:06:48.291+08:00Arduino UNO/Nano/Pro mini 都有兩個中斷接腳啊! 可用 int1Arduino UNO/Nano/Pro mini 都有兩個中斷接腳啊! 可用 int1小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-149226486604721652019-09-18T15:35:37.194+08:002019-09-18T15:35:37.194+08:00請問我用了睡眠模式,然後使用INT0外部喚醒,但是我又需要使用INT0這一隻腳接的按鈕當功能鍵用,這...請問我用了睡眠模式,然後使用INT0外部喚醒,但是我又需要使用INT0這一隻腳接的按鈕當功能鍵用,這樣要怎做呢? 現在的狀況是,休眠後,按下按鈕會醒來,但是一按就會一直產生中斷,無法繼續原有的loop指令Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-28599222764796656972019-05-22T10:47:06.543+08:002019-05-22T10:47:06.543+08:00您好,
我現在要做一個當蜂鳴器播音樂時,按下一個按鈕觸發中斷(音樂停止),中斷(音樂停止)持續10分...您好,<br />我現在要做一個當蜂鳴器播音樂時,按下一個按鈕觸發中斷(音樂停止),中斷(音樂停止)持續10分鐘後,重頭開始跑程式,請問程式要如何寫?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-41866949209891982852019-02-10T08:55:23.397+08:002019-02-10T08:55:23.397+08:00Dear Stonez : 當然可以! 只要將一支 DIO 接到 InterruptPin 便可用程...Dear Stonez : 當然可以! 只要將一支 DIO 接到 InterruptPin 便可用程式去控制中斷. 不過外部硬體中斷存在的主要意義是讓 cpu 不用費心去觀照外部狀態, 請問您用程式控制中斷的原因是甚麼呢?小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-81680713879743386422019-02-09T09:20:25.786+08:002019-02-09T09:20:25.786+08:00你好,謝謝你這些優質的文章!
請問,中斷能不能自己用 digitalWrite 用程式來自己啟動它...你好,謝謝你這些優質的文章!<br /><br />請問,中斷能不能自己用 digitalWrite 用程式來自己啟動它?<br />如: digitalWrite(InterruptPin, HIGH)<br /><br />謝謝!Stonezhttps://www.blogger.com/profile/00888027409890822638noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-80365517563349945762018-04-08T08:29:38.848+08:002018-04-08T08:29:38.848+08:00很有用的文章,獲益良多,感謝。很有用的文章,獲益良多,感謝。小億https://www.blogger.com/profile/03448203354619587265noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-22835180887289166812017-06-14T23:38:08.401+08:002017-06-14T23:38:08.401+08:00Dear 傅勁崴 : 我猜你的意思是要結束現在耗時的副程式, 直接跳到下一個副程式, 我回覆在這一篇...Dear 傅勁崴 : 我猜你的意思是要結束現在耗時的副程式, 直接跳到下一個副程式, 我回覆在這一篇 :<br /><br />http://yhhuang1966.blogspot.tw/2017/06/arduino_14.html小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-24354471019222962732017-06-14T22:24:51.530+08:002017-06-14T22:24:51.530+08:00Dear 傅勁崴 :
請問您的意思是中斷後往下一個副程式執行還是指定執行 C 副程式呢? 中斷其實...Dear 傅勁崴 : <br />請問您的意思是中斷後往下一個副程式執行還是指定執行 C 副程式呢? 中斷其實只是臨時出去做一下雜務, 做完要回來原來的地方往下執行, 無法直接跳到另一個副程式. 小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-49398971418553518532017-06-14T19:31:12.093+08:002017-06-14T19:31:12.093+08:00Dear 楊家瑋 :
中斷處理程式完畢後是回到被中斷的那個地方繼續執行喔, 因為中斷發生時, 執行中...Dear 楊家瑋 :<br />中斷處理程式完畢後是回到被中斷的那個地方繼續執行喔, 因為中斷發生時, 執行中的狀態 (程式計數器, 暫存器的值等) 會被放進堆疊中暫存, 中斷處理程式跑完就會從堆疊裡把被中斷前的狀態取出復原, 程式計數器恢復原值, 所以是回到被中斷的地方繼續執行. 小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-65045937322906183552017-06-14T17:05:57.941+08:002017-06-14T17:05:57.941+08:00你好請問一下 中斷動作結束後 應該是接續著中斷前的程式? 還是會重頭開始跑?
如果我想讓他中斷後...你好請問一下 中斷動作結束後 應該是接續著中斷前的程式? 還是會重頭開始跑? <br /><br />如果我想讓他中斷後重頭開始跑 該怎麼做?<br />Anonymoushttps://www.blogger.com/profile/17405106339715791813noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-41305782413971982872017-06-14T15:28:56.933+08:002017-06-14T15:28:56.933+08:00我的意思是假若好幾支副程式A程式B程式C程式D程式依序被呼叫
然後B程式值行的時間太久所以我想中斷後...我的意思是假若好幾支副程式A程式B程式C程式D程式依序被呼叫<br />然後B程式值行的時間太久所以我想中斷後直接看到C程式的東西該怎麼寫這段?<br />f284zj4https://www.blogger.com/profile/00803749289694028322noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-42224766248777070102017-06-13T23:08:53.232+08:002017-06-13T23:08:53.232+08:00中斷副程式嗎? 我不太能理解, 副程式只能單線被呼叫, 沒辦法同時呼叫. 您的意思是指多執行緒嗎? ...中斷副程式嗎? 我不太能理解, 副程式只能單線被呼叫, 沒辦法同時呼叫. 您的意思是指多執行緒嗎? Arduino 沒有多執行緒喔! 小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-44132016409735692292017-06-13T21:22:38.164+08:002017-06-13T21:22:38.164+08:00不好意思可能我表達上有問題
我的意思是說我有一段程序依序判斷在跑
然後我今天想要中段裡面其中一支付程...不好意思可能我表達上有問題<br />我的意思是說我有一段程序依序判斷在跑<br />然後我今天想要中段裡面其中一支付程式該怎麼中斷?f284zj4https://www.blogger.com/profile/00803749289694028322noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-67886976757290601792017-06-13T14:24:06.438+08:002017-06-13T14:24:06.438+08:00不太了解, 您說有多個程式在跑, 但 Arduino 同一時間只能跑一個程序哩! 不太了解, 您說有多個程式在跑, 但 Arduino 同一時間只能跑一個程序哩! 小狐狸事務所https://www.blogger.com/profile/09435160519044041137noreply@blogger.comtag:blogger.com,1999:blog-4877487320781767952.post-79517661628961475402017-06-11T00:22:56.553+08:002017-06-11T00:22:56.553+08:00你好
請叫個問題
如果我有多個程式在跑
今天我想中斷其中一支
應該怎麼做
因為我現在一按下開關後就全...你好<br />請叫個問題<br />如果我有多個程式在跑<br />今天我想中斷其中一支<br />應該怎麼做<br />因為我現在一按下開關後就全部停擺了<br />Anonymousnoreply@blogger.com