• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: 請問C18高低中斷,Compiler為何會更改暫存器(ACCESS)!
#5
版主
版主


查看用戶資訊
使用 C18 中斷處理是很簡單的,只要先弄清楚你要的高低中斷設定及在中動程式裡有沒有使用到C18的tempdata(中斷裡有做額外的加減乘除計算)來決定要不要儲存 Tempdata。正確使用中動的說明可以參考 W401 C18 RTC 教材裡的第五章的說明。

http://www.microchip.com.tw/modules/n ... php?topic_id=5107&forum=1

Auto : 使指 Local variable 或函數的參數傳遞使用 FSR2 所指到的 Stack 來做參數的傳遞。

Static : 不使用RAM 堆疊傳遞參數,使用沒有使用的 RAM 直接做 區域變數及函數的參數傳遞。

Overlay : ??

發表於: 2008/9/18 10:13
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問C18高低中斷,Compiler為何會更改暫存器(ACCESS)!
#4
資深會員
資深會員


查看用戶資訊
大家好:
問題已解決:
#pragma interruptlow InterruptHandlerLow nosave=section(".tmpdata")
Thanks.

發表於: 2008/9/18 9:57
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問C18高低中斷,Compiler為何會更改暫存器(ACCESS)!
#3
資深會員
資深會員


查看用戶資訊
大家好:
我該如何正確的使用C18的中斷?
#pragma interrupt InterruptHandlerLow nosave=section(".tmpdata")
void InterruptHandlerLow (void)
{
w_temp1=WREG;
bsr_temp1=BSR;
st_temp1=STATUS;

if(TMR0IF)
{
TMR0IF=0;
...
}
if(ADIF)
{
...
ADIF=0;
}

STATUS=st_temp1;
BSR=bsr_temp1;
WREG=w_temp1;
}
//
void InterruptHandlerHigh(void)
{
w_temp0=WREG;
bsr_temp0=BSR;
st_temp0=STATUS;
...
STATUS=st_temp0;
BSR=bsr_temp0;
WREG=w_temp0;
}
有使用AD就不行!
為何C18這麼難用呢?
煩請高手解說,Thanks.

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


Re: 請問C18高低中斷,Compiler為何會更改暫存器(ACCESS)!
#2
資深會員
資深會員


查看用戶資訊
大家好:
我想我的問題應是stack overflow,
所以應是C18使用軟體stack的關係.
那麼我該如何不使用軟體stack呢?
於Build option...內有一設定如下:
Default storage class :

Auto
Static
Overlay

請問上面三個差別為何?
煩請各位先進解說,Thanks.

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


請問C18高低中斷,Compiler為何會更改暫存器(ACCESS)!
#1
資深會員
資深會員


查看用戶資訊
大家好:
1.
TMR0IE=1; //低中斷
TMR1IE=1; //高中斷
使用C18高低中斷,為何會將:如INTCON2的值改變掉?
將INTCON2的TMR0IE=0;
2.
而且PC會亂跑,不知為何?
程式長度為0x179F,卻會跑到0x2C5E或0x3478...

我該怎麼處理較好?
煩請各位先進解說.
Thanks.

發表於: 2008/9/16 14:00
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... ]

教育訓練中心

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