• 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: 关于中断使PC指针跑飞的问题,请教
#4
版主
版主


查看用戶資訊
#pragma interrupt isr nosave=section(".tmpdata")

C18 User's Guide (DS51288J) -page 31 的說明

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


Re: 关于中断使PC指针跑飞的问题,请教
#3
初級會員
初級會員


查看用戶資訊
在C18中关于Temp Data 的使用,我看过了,说实话没怎么看懂,能不能给我列一个例子讲讲啊,谢谢

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


Re: 关于中断使PC指针跑飞的问题,请教
#2
版主
版主


查看用戶資訊
是不是 I2CSlaveHandler( ) 函式裡有計算或使用到C18 的 Temp Data 導致程式原先的值被中斷修改了,請參考C18 使用手冊裡中斷理有關Temp Data的儲存。

發表於: 2006/10/17 15:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


关于中断使PC指针跑飞的问题,请教
#1
初級會員
初級會員


查看用戶資訊
关于中断使PC指针跑飞的问题,请教
各位好!
我在用I2C Slave模式时,只要中断打开PC指针就跑飞,具体情况如下:
用的是P18F452, I2C 工作在Slave 模式, 就用了这一个中断,具体如下:
#pragma code InterruptVectoHigh=0x0008
void InterruptVectorHigh (void)
{
_asm
goto InterruptHandlerHigh
_endasm
}


#pragma code
#pragma interrupt InterruptHandlerHigh
void InterruptHandlerHigh ()
{
if((PIE1bits.SSPIE)&&(PIR1bits.SSPIF))
{
I2CSlaveHandler();
PIR1bits.SSPIF=0;

}
}
不知道我写的中断是否对的.在I2CSlaveHandler()里,主要就是通过SSPSTAT判断是什么事件就做相应的处理.
问题就是,只要中断启用,PC指针就跑飞了,有时跑到没有调用的程序里,甚至跑到剩余的ROM空间了, 我把上面的程序改到Main()做查询, 就很正常,PC指针也不乱, SCL,SDA,以及其他的监测信号也很正常.具体如下:
main()
{
//
.....
....
while(1)
{
if(PIR1bits.SSPIF)
{
I2CSlaveHandler();
PIR1bits.SSPIF=0;

}
............
..............
}
}

还有这样一个情况须说明,就是I2C 中断会很频繁,有可能一出就要进入中断.

發表於: 2006/10/17 11:25
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... ]

教育訓練中心

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