資料介紹
目標(biāo):本實(shí)驗(yàn)專門用于介紹PSoC CPU 的中斷句柄。注意這個實(shí)驗(yàn)分成7 個部分:LAB2A 到LAB 2G 。在繼續(xù)下一個實(shí)驗(yàn)前,要成功地完成每一個部分。
?
完成這個實(shí)驗(yàn)后,讀者應(yīng)能做到:
用C 語言寫控制程序;
理解如何處理一個發(fā)布的中斷;
理解如何處理一個未處理的中斷;
將CPU 設(shè)置在休眠模式,然后用休眠定時器未處理的中斷喚醒它;
使用匯編語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
使用C 語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
在中斷向量表空間中,放置一個小的中斷服務(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 給出了中斷處理的方塊圖。
?
對于CPU,要識別一個特殊資源的中斷,下面必須是真(有效)的:
必須設(shè)置它的中斷使能屏蔽;
?
圖1.13 中斷處理
它必須是所有未處理中斷中,級別最高的;必須設(shè)置全局中斷使能。CPU 通過下面響應(yīng)這個請求:將當(dāng)前程序計(jì)數(shù)器的值保存起來;將當(dāng)前標(biāo)志寄存器的值保存起來。跳轉(zhuǎn)到指定的中斷向量地址。對于27x 系列的器件,有18 個不同的中斷源。
?
表1.2 從最高優(yōu)先級到最低優(yōu)先級,給出了每個中斷源和它的向量地址。
?
表1.2?中斷向量表
?
在中斷服務(wù)程序的末尾,先前程序計(jì)數(shù)器和標(biāo)志寄存器的值被恢復(fù)到它們原來的值,原先的程序從離開它的地方繼續(xù)。
?
練習(xí)2A-1 :假設(shè)正確的使能全局中斷和中斷屏蔽,可能永遠(yuǎn)不能服務(wù)較低優(yōu)先級的中斷。這是為什么?
1.2.1 實(shí)驗(yàn)2A—發(fā)布中斷
使用INT_CLRx 寄存器訪問發(fā)布的中斷。通過INT_CLR0 寄存器的第6 比特位來控制休眠定時器發(fā)布中斷。當(dāng)該位的值為“1”時,將發(fā)布一個定時器的中斷。將該位設(shè)置為“0”時,將清除所發(fā)布的中斷。
步驟1:創(chuàng)建新的工程。
工程名字為Lab2A
—選擇C 選項(xiàng);
—用于器件類型及其設(shè)置的標(biāo)準(zhǔn)實(shí)驗(yàn)設(shè)置;
—轉(zhuǎn)到互聯(lián)界面,將全局參數(shù)Sleep_Timer 設(shè)置為1Hz (這將使得休眠定時器每一秒鐘產(chǎn)生一個等待處理的中斷);
—按表1.3 設(shè)置四個端口引腳。
表1.3 端口驅(qū)動設(shè)置
名字(Name)端口(Port)選擇(Select)驅(qū)動(Drive)
LedOut1P1[0]StdCPUStrong
LedOut2P1[1]StdCPUStrong
LedOut3P1[2]StdCPUStrong
LedOut4P1[3]StdCPUStrong
步驟2:在Eval1 板子上添加跳線。
使用跳線進(jìn)行下面的連接—P10 到LED1 —P11 到LED2 —P12 到LED3
P13 到LED4 。生成應(yīng)用。步驟3:寫軟件?!まD(zhuǎn)到應(yīng)用程序編輯器,打開如圖1.14 所示的main.c 文件。如圖1.15 所示,添加代碼。該程序應(yīng)注意:bShadow 定義成一個全局單字節(jié)變量。INT_CLR0 寄存器用來監(jiān)視和清除休眠定時器已經(jīng)發(fā)布的中斷。
?
完成這個實(shí)驗(yàn)后,讀者應(yīng)能做到:
用C 語言寫控制程序;
理解如何處理一個發(fā)布的中斷;
理解如何處理一個未處理的中斷;
將CPU 設(shè)置在休眠模式,然后用休眠定時器未處理的中斷喚醒它;
使用匯編語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
使用C 語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
在中斷向量表空間中,放置一個小的中斷服務(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 給出了中斷處理的方塊圖。
?
對于CPU,要識別一個特殊資源的中斷,下面必須是真(有效)的:
必須設(shè)置它的中斷使能屏蔽;
?
圖1.13 中斷處理
它必須是所有未處理中斷中,級別最高的;必須設(shè)置全局中斷使能。CPU 通過下面響應(yīng)這個請求:將當(dāng)前程序計(jì)數(shù)器的值保存起來;將當(dāng)前標(biāo)志寄存器的值保存起來。跳轉(zhuǎn)到指定的中斷向量地址。對于27x 系列的器件,有18 個不同的中斷源。
?
表1.2 從最高優(yōu)先級到最低優(yōu)先級,給出了每個中斷源和它的向量地址。
?
表1.2?中斷向量表
中斷源 | 向量位置 |
硬件復(fù)位 | 0x0000 |
供電監(jiān)視器 | 0x0004 |
模擬列0 | 0x0008 |
模擬列1 | 0x000c |
模擬列2 | 0x0010 |
模擬列3 | 0x0014 |
VC3 | 時鐘 |
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 |
休眠定時器 | 0x0064 |
在中斷服務(wù)程序的末尾,先前程序計(jì)數(shù)器和標(biāo)志寄存器的值被恢復(fù)到它們原來的值,原先的程序從離開它的地方繼續(xù)。
?
練習(xí)2A-1 :假設(shè)正確的使能全局中斷和中斷屏蔽,可能永遠(yuǎn)不能服務(wù)較低優(yōu)先級的中斷。這是為什么?
1.2.1 實(shí)驗(yàn)2A—發(fā)布中斷
使用INT_CLRx 寄存器訪問發(fā)布的中斷。通過INT_CLR0 寄存器的第6 比特位來控制休眠定時器發(fā)布中斷。當(dāng)該位的值為“1”時,將發(fā)布一個定時器的中斷。將該位設(shè)置為“0”時,將清除所發(fā)布的中斷。
步驟1:創(chuàng)建新的工程。
工程名字為Lab2A
—選擇C 選項(xiàng);
—用于器件類型及其設(shè)置的標(biāo)準(zhǔn)實(shí)驗(yàn)設(shè)置;
—轉(zhuǎn)到互聯(lián)界面,將全局參數(shù)Sleep_Timer 設(shè)置為1Hz (這將使得休眠定時器每一秒鐘產(chǎn)生一個等待處理的中斷);
—按表1.3 設(shè)置四個端口引腳。
表1.3 端口驅(qū)動設(shè)置
名字(Name)端口(Port)選擇(Select)驅(qū)動(Drive)
LedOut1P1[0]StdCPUStrong
LedOut2P1[1]StdCPUStrong
LedOut3P1[2]StdCPUStrong
LedOut4P1[3]StdCPUStrong
步驟2:在Eval1 板子上添加跳線。
使用跳線進(jìn)行下面的連接—P10 到LED1 —P11 到LED2 —P12 到LED3
P13 到LED4 。生成應(yīng)用。步驟3:寫軟件?!まD(zhuǎn)到應(yīng)用程序編輯器,打開如圖1.14 所示的main.c 文件。如圖1.15 所示,添加代碼。該程序應(yīng)注意:bShadow 定義成一個全局單字節(jié)變量。INT_CLR0 寄存器用來監(jiān)視和清除休眠定時器已經(jīng)發(fā)布的中斷。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- [IC]淺談嵌入式MCU軟件開發(fā)之中斷優(yōu)先級與中斷嵌套
- 嵌入式雜談之中斷向量表
- 【嵌入式】按鍵中斷控制 LED 及蜂鳴器實(shí)驗(yàn)
- 嵌入式軟件開發(fā)基礎(chǔ)實(shí)驗(yàn)報(bào)告中斷實(shí)驗(yàn)
- ucosII嵌入式實(shí)時操作系統(tǒng)實(shí)驗(yàn)
- Microchip嵌入式電源和混合信號技術(shù)
- 嵌入式外中斷c語言代碼
- 嵌入式系統(tǒng)實(shí)驗(yàn)——Keil使用教程 23次下載
- 如何使用嵌入式ARM實(shí)現(xiàn)信號采樣及QT圖形顯示 17次下載
- 四個嵌入式系統(tǒng)設(shè)計(jì)的實(shí)驗(yàn)指導(dǎo)書資料免費(fèi)下載 6次下載
- ARM嵌入式系統(tǒng)教程之ARM嵌入式系統(tǒng)的四個實(shí)驗(yàn)介紹 20次下載
- 是德科技使用混合信號示波器調(diào)試嵌入式混合信號設(shè)計(jì) 12次下載
- 使用泰克混合信號示波器調(diào)試混合信號嵌入式設(shè)計(jì)應(yīng)用指南 17次下載
- 泰克嵌入式系統(tǒng)及混合信號電路測試解決方案
- 用混合信號示波器調(diào)試嵌入式混合信號設(shè)計(jì)
- 嵌入式fpga是什么意思 1310次閱讀
- fpga是嵌入式嗎 2420次閱讀
- 什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)的具體應(yīng)用 2562次閱讀
- 嵌入式到底是什么?如何學(xué)習(xí)嵌入式比較好 3787次閱讀
- 淺談嵌入式MCU的中斷處理 9169次閱讀
- 關(guān)于嵌入式系統(tǒng)以及嵌入式平臺下的學(xué)科分工詳解 2025次閱讀
- 一種通過嵌入式互聯(lián)網(wǎng)技術(shù)控制在線嵌入式設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì) 3796次閱讀
- 關(guān)于嵌入式串口同步幀數(shù)方法解析知識你知道多少?該怎么樣才能學(xué)好嵌入式技術(shù)? 1485次閱讀
- 關(guān)于以Cortex-A8內(nèi)核為基礎(chǔ)的嵌入式實(shí)驗(yàn)平臺方案設(shè)計(jì)詳解 1897次閱讀
- 一文知道UltraFast嵌入式設(shè)計(jì)方法指南 2578次閱讀
- 嵌入式行業(yè)發(fā)展?fàn)顩r_嵌入式行業(yè)人才需求_嵌入式系統(tǒng)就業(yè)前景分析 2.4w次閱讀
- 嵌入式C實(shí)現(xiàn)延時程序的不同變量的區(qū)別 幾種Linux嵌入式開發(fā)環(huán)境的簡單介紹 1673次閱讀
- PCI總線的中斷信號與中斷控制器的連接關(guān)系 6539次閱讀
- 嵌入式系統(tǒng)的信號完整性理論分析 1324次閱讀
- 典型的嵌入式系統(tǒng)設(shè)計(jì) 2716次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論