|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
ST7 中斷子程序中斷矢量地址DE定義 |
| 作者:plane0 欄目:MCU技術(shù) |
;************************************************************ ;中斷子程序 .DUMMY iret .spi_ir iret ;中斷矢量地址 SEGMENT 'vector' DC.W DUMMY FFE0~FFE1h location DC.W DUMMY ; FFE2~FFE3h location .spi_it DC.W spi_ir ; FFE4~FFE5h location ; FFEE~FFEFh location DC.W DUMMY ; FFF0~FFF1h location .ext1_it DC.W DUMMY ; FFF2~FFF3h location .ext0_it DC.W DUMMY ; FFF4~FFF5h location .soft_it DC.W DUMMY ; FFF6~FFF7h location .reset DC.W DUMMY ; FFF8~FFF9h location ; FFFA~FFFBh location ; FFFC~FFFDh location ; FFFE~FFFFh location END ;************************************************************ 看了ST7的很多例程,發(fā)現(xiàn)很多例程都有中斷子程序,但就是不明白“中斷矢量地址”是如何定義的,或者說它的定義是有什么規(guī)定嗎? 大家來說說看? |
| 2樓: | >>參與討論 |
| 作者: zl_777 于 2006/12/19 22:23:00 發(fā)布:
有一個(gè)地方一定會(huì)定義的,仔細(xì)找一下 例如: WORDS segment byte at FFE0-FFFF 'vectit' |
|
| 3樓: | >>參與討論 |
| 作者: plane0 于 2006/12/20 11:28:00 發(fā)布:
st7 程序中出現(xiàn)其他中斷,它對(duì)應(yīng)的地址在這里如何定義 接著上一 主題:ST7 中斷子程序中斷矢量地址DE定義 ;*************************************************************** .spi_it DC.W spi_ir ; FFE4~FFE5h location …… ; FFEE~FFEFh location DC.W DUMMY ; FFF0~FFF1h location .ext1_it DC.W DUMMY ; FFF2~FFF3h location .ext0_it DC.W DUMMY ; FFF4~FFF5h location .soft_it DC.W DUMMY ; FFF6~FFF7h location .reset DC.W DUMMY ; FFF8~FFF9h location ;*************************************************************** 我的問題是:.spi_it對(duì)應(yīng)的地址; FFE4~FFE5h location .ext1_it 對(duì)應(yīng)的地址; FFF2~FFF3h location ……等等 ,是按什么規(guī)定分配的? 如果我的程序中出現(xiàn)其他中斷,它對(duì)應(yīng)的地址在這里如何定義? 謝謝! |
|
| 4樓: | >>參與討論 |
| 作者: 8bit_mcu 于 2006/12/22 11:03:00 發(fā)布:
無語了 datasheet看看好伐 |
|
| 5樓: | >>參與討論 |
| 作者: ijk 于 2006/12/27 17:11:00 發(fā)布:
ST7 中斷子程序中斷矢量 & Cosmic C編譯器 其實(shí),如果使用Cosmic C編譯器,大部分工作可以在C語言里面完成。下面是1個(gè)示例: // Define interrupt service routines as external functions extern void INT_Flash(); extern void INT_EndSusp(); extern void INT_IT1IT8(); extern void INT_Timer(); extern void My_INT_Usb(); extern void INT_Trap(); extern void INT_SCI(); extern void INT_I2C(); // Assign ISR to interrupt vectors #pragma section const {vector} void (* const _vectab[])() = { My_INT_Usb, INT_SCI, INT_I2C, INT_Timer, INT_IT1IT8, INT_EndSusp, INT_Flash, INT_Trap, main // FFFEh-FFFFh : reset vector }; 然后,在鏈接時(shí)只需要給vector段指定地址即可。 當(dāng)然,具體哪個(gè)中斷向量對(duì)應(yīng)某個(gè)具體地址可以查看數(shù)據(jù)手冊(cè),里面都很清楚地列成表格。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |