close
會發現這個MCC產生的bug正好是在熟悉PIC中斷的使用過程中所發現的。
一開始是先把ADC的中斷給設好,Sample Rate是19.6078kHz,
使用MCC產生Code後,所有的中斷源好像都會執行在同一函式
再透過flag去判斷是哪一個中斷所觸發的
 
使用MCC產生ADC中斷程式
 
此時在用MCC產生Timer 1的中斷程式,設置1秒觸發一次,程式會依序用else if加在ADC中斷程式的下面
 
 
但是實際在實行時,中斷永遠只跑到ADC的中斷而不會執行Timer 1的中斷,這也就是我發現的bug
 
實際上只要把程式修正為下圖,就可以解決此問題
原因是因為ADC的sample rate比timer 1還要快,且用if...else...會造成程式二擇一執行,
就會漏掉timer 1的中斷
 
 
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 凱文先生的部落格 的頭像
    凱文先生的部落格

    凱文的八卦俱樂部小天地

    凱文先生的部落格 發表在 痞客邦 留言(0) 人氣()