# **Interrupt, ISR, top half, bottom half and multiplexing**
###### tags: `C LANGUAGE` `interrupt` `ISR` `top half`
<style>
.blue {
color: blue;
}
.bgblue {
color: blue;
font-size: 24px;
font-weight: bold;
}
.red {
color: red;
font-size: 24px;
font-weight: bold;
}
</style>
Authors: WhoAmI, CrazyDog
email: kccddb@gmail.com
Date: 20221217
Copyright: CC BY-NC-SA
這裡只是提觀念, 沒有硬體設備 很難實驗
基本上要運用 OS 設計觀念, <span class="blue">ISR 程式不能執行太久</span>
以前 幫別的老師的研究生改過 程式, 他的毛病就是 ISR 做太久! 造成錯誤, 這也是很多 學過 微處理的朋友 很少注意的問題, 要運用 timer interrupt 分段處理
還有一家廠商 也是出現這問題, 有告訴他們總經理, 他們的問題出現在 遙控器. 有人亂按就出問題
書本與實務 還是有差距的
以前 通常 測試一環 有 老人與小孩的行為~不按牌理出牌,亂按!
Linux OS 就分 TOP half 與 BOTTOM half 來處理
最有名的就是 NIC (network interface controller) driver
<span class="red">再次提醒 OS 很重要</span>
ISR (Interrupt Service Routine )

