新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 混合信號(hào)嵌入式設(shè)計(jì)實(shí)驗(yàn)指南-數(shù)字實(shí)驗(yàn)之:實(shí)驗(yàn)2—中斷

混合信號(hào)嵌入式設(shè)計(jì)實(shí)驗(yàn)指南-數(shù)字實(shí)驗(yàn)之:實(shí)驗(yàn)2—中斷

作者: 時(shí)間:2013-12-26 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/256987.htm

目標(biāo):本實(shí)驗(yàn)專門用于介紹PSoC CPU 的句柄。注意這個(gè)實(shí)驗(yàn)分成7 個(gè)部分:LAB2A 到LAB 2G 。在繼續(xù)下一個(gè)實(shí)驗(yàn)前,要成功地完成每一個(gè)部分。

完成這個(gè)實(shí)驗(yàn)后,讀者應(yīng)能做到:

用C 語言寫控制程序;

理解如何處理一個(gè)發(fā)布的;

理解如何處理一個(gè)未處理的

將CPU 設(shè)置在休眠模式,然后用休眠定時(shí)器未處理的中斷喚醒它;

使用匯編語言編寫的中斷句柄,來操作在C 程序里聲明的一個(gè)全局變量;

使用C 語言編寫的中斷句柄,來操作在C 程序里聲明的一個(gè)全局變量;

在中斷向量表空間中,放置一個(gè)小的中斷服務(wù)程序ISR。

假設(shè):

所有先前實(shí)驗(yàn)的假設(shè);

使能編譯器用于開發(fā)系統(tǒng)。

要求的材料:

CY3210 PSoCEval1 板子;

面包板線。

要求的設(shè)備:

無。

相關(guān)的參考資料

所有前面實(shí)驗(yàn)的參考資料;

Cypress C 語言編譯器用戶指南。

中斷控制器為PSoC 陣列內(nèi)的不同硬件資源提供了一種機(jī)制,可以將程序的執(zhí)行改變到新的地址,而不需要考慮當(dāng)前正在執(zhí)行的任務(wù)。圖1.13 給出了中斷處理的方塊圖。

對(duì)于CPU,要識(shí)別一個(gè)特殊資源的中斷,下面必須是真(有效)的:

必須設(shè)置它的中斷使能屏蔽;

圖1.13 中斷處理

它必須是所有未處理中斷中,級(jí)別最高的;必須設(shè)置全局中斷使能。CPU 通過下面響應(yīng)這個(gè)請(qǐng)求:將當(dāng)前程序計(jì)數(shù)器的值保存起來;將當(dāng)前標(biāo)志寄存器的值保存起來。跳轉(zhuǎn)到指定的中斷向量地址。對(duì)于27x 系列的器件,有18 個(gè)不同的中斷源。

表1.2 從最高優(yōu)先級(jí)到最低優(yōu)先級(jí),給出了每個(gè)中斷源和它的向量地址。

1.2 中斷向量表

中斷源

向量位置

硬件復(fù)位

0x0000

供電監(jiān)視器

0x0004

模擬列0

0x0008

模擬列1

0x000c

模擬列2

0x0010

模擬列3

0x0014

VC3

時(shí)鐘

GPIO

0x001c

數(shù)字塊00

0x0020

數(shù)字塊01

0x0024

數(shù)字塊02

0x0028

數(shù)字塊03

0x002c

數(shù)字塊10

0x0030

數(shù)字塊11

0x0034

數(shù)字塊12

0x0038

數(shù)字塊13

0x003c

I2C

0x0060

休眠定時(shí)器

0x0064

在中斷服務(wù)程序的末尾,先前程序計(jì)數(shù)器和標(biāo)志寄存器的值被恢復(fù)到它們?cè)瓉淼闹?,原先的程序從離開它的地方繼續(xù)。

練習(xí)2A-1 :假設(shè)正確的使能全局中斷和中斷屏蔽,可能永遠(yuǎn)不能服務(wù)較低優(yōu)先級(jí)的中斷。這是為什么?


上一頁 1 2 3 4 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉