• slider image 442
  • slider image 492
  • slider image 493
  • slider image 494
  • slider image 495
  • slider image 496
:::


Browsing this Thread:   1 Anonymous Users






Re: 4550-Timer1中斷問題
#6
初級會員
初級會員


查看用戶資訊
修改了之前回覆,版大回太快了,在下打字不夠快^_^~

發表於: 2008/1/23 13:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 4550-Timer1中斷問題
#5
版主
版主


查看用戶資訊
錯在哪裡? 分享一下。Thanks,

發表於: 2008/1/23 13:44
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 4550-Timer1中斷問題
#4
初級會員
初級會員


查看用戶資訊
感謝,問題已解決,沒想到竟然錯這個地方!

T1_OSC1EN_OFF 改成 T1_OSC1EN_ON
To Ryang大
在未改T1_OSC1EN_OFF這裡時,有用軟體模擬過,它不會進入中斷。

另... IPRbits.RCIP = 0 忘了註明,我有寫上去,只是不是放在計時中斷初始程式段。

另外可問一下中斷怎麼算嗎?我用示波器去測的結果,間隔時間為28us左右....

有公式嗎?

補註:TMR1_VAL = 63356 - 33

發表於: 2008/1/23 13:42
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 4550-Timer1中斷問題
#3
版主
版主


查看用戶資訊
1. OpenTimer1( ) 的設定參數是對的,可以先用 MPLAB SIM 嫌模擬看看惠不會產生中斷,也可以先設定 OSC 頻率後再用 Stop Watch 量測一下中斷時間。

2. 高、低優先權設定是 : 先打開 IPEN 位元後,在將相對應的 IP 設為 1 (高優先權),詳細說明請看IRPx Register

3. 你忘了將 IPRbits.RCIP = 0 將接收設為低優先權了。

發表於: 2008/1/23 12:36
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 4550-Timer1中斷問題
#2
資深會員
資深會員


查看用戶資訊
T1_OSC1EN_OFF

T1_OSC1EN_ON

寫錯了

發表於: 2008/1/23 11:54
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


4550-Timer1中斷問題
#1
初級會員
初級會員


查看用戶資訊
各位安,在下目前在便用timer1時遇到無法動作之情形,想請教一下各位先進前輩們。

外部石晶為24MHz,進來在config bit處有先除6

初始化程式如下:
因為沒有外接震盪器,故我將書上設定改成用內部的
OpenTimer1(TIMER_INT_ON & T1_16BIT_RW & T1_SOURCE_INT & T1_PS_1_1 &
T1_OSC1EN_OFF & T1_SYNC_EXT_OFF);
WriteTimer1(65536-33);
PIR1bits.TMR1IF = 0;

中斷程式如下:
// 定義高優先中斷程式位址及內容
#pragma code high_vector=0x0008
void high_interrupt(void)
{
_asm GOTO Timer1_isr _endasm
}
#pragma code
#pragma interrupt Timer1_isr

void Timer1_isr(void)
{
if(a3==0)
PORTD = 0xFF;
else if(a3==1)
PORTD = 0x00;
WriteTimer1(TMR1_VAL);
PIR1bits.TMR1IF = 0;
}

主程式中a3初始為0,且PORTD = 0x00,所以正常動作下腳位會由低變高,且會一直為高,但用示波器看的樣子,沒有變高。

這樣程式似乎不會進入中斷副程式,我去看special function register中TMR1的內部也無在計數,所以覺得無中斷產生。

另外想問,在中斷優先權設定的地方,若有二個中斷都想設低或高優先權,要怎麼寫...麻煩各位為在下解答一下困惑,謝謝!

P.S 我另外有一個串列接收的中斷為低優先權,優先權位元有設置:
RCONbits.IPEN = 1;
INTCONbits.GIE = 1;
INTCONbits.PEIE = 1;


發表於: 2008/1/23 11:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------