IARAVR中斷服務(wù)程序問(wèn)題
今天調(diào)試程序遇見(jiàn)了一個(gè)IARAVR中斷服務(wù)程序的問(wèn)題:this kind of pragma may not be used... 花了一個(gè)小時(shí)調(diào)試發(fā)現(xiàn)的問(wèn)題差點(diǎn)令我崩潰。
以定時(shí)計(jì)數(shù)器0中斷服務(wù)程序?yàn)槔?/p>
#pragma vector=TIMER0_OVF_vect
_interrupt void Timer0(void)
{
。。。。。
。。。。。。。
}
調(diào)了很長(zhǎng)時(shí)間也沒(méi)發(fā)現(xiàn)錯(cuò)誤,當(dāng)參見(jiàn)官方實(shí)例,一不小心發(fā)現(xiàn)interrupt前要加兩個(gè)“下劃線”。我勒個(gè)去。。。
#pragma vector=TIMER0_OVF_vect
__interrupt void Timer0(void)
{
。。。。。
。。。。。。。
}
對(duì)比上面兩段,特別是放在兩個(gè)程序上,雖然看得出有些差別,但下劃線的長(zhǎng)短一般會(huì)認(rèn)為不同軟件的顯示差異所致,所以認(rèn)為只是同一根下劃線。。。