資料介紹
目標:本實驗專門用于介紹PSoC CPU 的中斷句柄。注意這個實驗分成7 個部分:LAB2A 到LAB 2G 。在繼續(xù)下一個實驗前,要成功地完成每一個部分。
?
完成這個實驗后,讀者應能做到:
用C 語言寫控制程序;
理解如何處理一個發(fā)布的中斷;
理解如何處理一個未處理的中斷;
將CPU 設(shè)置在休眠模式,然后用休眠定時器未處理的中斷喚醒它;
使用匯編語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
使用C 語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
在中斷向量表空間中,放置一個小的中斷服務程序ISR。
?
假設(shè):
所有先前實驗的假設(shè);
使能編譯器用于開發(fā)系統(tǒng)。
?
要求的材料:
CY3210 PSoCEval1 板子;
面包板線。
?
要求的設(shè)備:
?無。
?
相關(guān)的參考資料
所有前面實驗的參考資料;
Cypress C 語言編譯器用戶指南。
?
中斷控制器為PSoC 混合信號陣列內(nèi)的不同硬件資源提供了一種機制,可以將程序的執(zhí)行改變到新的地址,而不需要考慮當前正在執(zhí)行的任務。圖1.13 給出了中斷處理的方塊圖。
?
對于CPU,要識別一個特殊資源的中斷,下面必須是真(有效)的:
必須設(shè)置它的中斷使能屏蔽;
?
圖1.13 中斷處理
它必須是所有未處理中斷中,級別最高的;必須設(shè)置全局中斷使能。CPU 通過下面響應這個請求:將當前程序計數(shù)器的值保存起來;將當前標志寄存器的值保存起來。跳轉(zhuǎn)到指定的中斷向量地址。對于27x 系列的器件,有18 個不同的中斷源。
?
表1.2 從最高優(yōu)先級到最低優(yōu)先級,給出了每個中斷源和它的向量地址。
?
表1.2?中斷向量表
?
在中斷服務程序的末尾,先前程序計數(shù)器和標志寄存器的值被恢復到它們原來的值,原先的程序從離開它的地方繼續(xù)。
?
練習2A-1 :假設(shè)正確的使能全局中斷和中斷屏蔽,可能永遠不能服務較低優(yōu)先級的中斷。這是為什么?
1.2.1 實驗2A—發(fā)布中斷
使用INT_CLRx 寄存器訪問發(fā)布的中斷。通過INT_CLR0 寄存器的第6 比特位來控制休眠定時器發(fā)布中斷。當該位的值為“1”時,將發(fā)布一個定時器的中斷。將該位設(shè)置為“0”時,將清除所發(fā)布的中斷。
步驟1:創(chuàng)建新的工程。
工程名字為Lab2A
—選擇C 選項;
—用于器件類型及其設(shè)置的標準實驗設(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 板子上添加跳線。
使用跳線進行下面的連接—P10 到LED1 —P11 到LED2 —P12 到LED3
P13 到LED4 。生成應用。步驟3:寫軟件。·轉(zhuǎn)到應用程序編輯器,打開如圖1.14 所示的main.c 文件。如圖1.15 所示,添加代碼。該程序應注意:bShadow 定義成一個全局單字節(jié)變量。INT_CLR0 寄存器用來監(jiān)視和清除休眠定時器已經(jīng)發(fā)布的中斷。
?
完成這個實驗后,讀者應能做到:
用C 語言寫控制程序;
理解如何處理一個發(fā)布的中斷;
理解如何處理一個未處理的中斷;
將CPU 設(shè)置在休眠模式,然后用休眠定時器未處理的中斷喚醒它;
使用匯編語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
使用C 語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
在中斷向量表空間中,放置一個小的中斷服務程序ISR。
?
假設(shè):
所有先前實驗的假設(shè);
使能編譯器用于開發(fā)系統(tǒng)。
?
要求的材料:
CY3210 PSoCEval1 板子;
面包板線。
?
要求的設(shè)備:
?無。
?
相關(guān)的參考資料
所有前面實驗的參考資料;
Cypress C 語言編譯器用戶指南。
?
中斷控制器為PSoC 混合信號陣列內(nèi)的不同硬件資源提供了一種機制,可以將程序的執(zhí)行改變到新的地址,而不需要考慮當前正在執(zhí)行的任務。圖1.13 給出了中斷處理的方塊圖。
?
對于CPU,要識別一個特殊資源的中斷,下面必須是真(有效)的:
必須設(shè)置它的中斷使能屏蔽;
?
圖1.13 中斷處理
它必須是所有未處理中斷中,級別最高的;必須設(shè)置全局中斷使能。CPU 通過下面響應這個請求:將當前程序計數(shù)器的值保存起來;將當前標志寄存器的值保存起來。跳轉(zhuǎn)到指定的中斷向量地址。對于27x 系列的器件,有18 個不同的中斷源。
?
表1.2 從最高優(yōu)先級到最低優(yōu)先級,給出了每個中斷源和它的向量地址。
?
表1.2?中斷向量表
| 中斷源 | 向量位置 |
| 硬件復位 | 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 |
在中斷服務程序的末尾,先前程序計數(shù)器和標志寄存器的值被恢復到它們原來的值,原先的程序從離開它的地方繼續(xù)。
?
練習2A-1 :假設(shè)正確的使能全局中斷和中斷屏蔽,可能永遠不能服務較低優(yōu)先級的中斷。這是為什么?
1.2.1 實驗2A—發(fā)布中斷
使用INT_CLRx 寄存器訪問發(fā)布的中斷。通過INT_CLR0 寄存器的第6 比特位來控制休眠定時器發(fā)布中斷。當該位的值為“1”時,將發(fā)布一個定時器的中斷。將該位設(shè)置為“0”時,將清除所發(fā)布的中斷。
步驟1:創(chuàng)建新的工程。
工程名字為Lab2A
—選擇C 選項;
—用于器件類型及其設(shè)置的標準實驗設(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 板子上添加跳線。
使用跳線進行下面的連接—P10 到LED1 —P11 到LED2 —P12 到LED3
P13 到LED4 。生成應用。步驟3:寫軟件。·轉(zhuǎn)到應用程序編輯器,打開如圖1.14 所示的main.c 文件。如圖1.15 所示,添加代碼。該程序應注意:bShadow 定義成一個全局單字節(jié)變量。INT_CLR0 寄存器用來監(jiān)視和清除休眠定時器已經(jīng)發(fā)布的中斷。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- [IC]淺談嵌入式MCU軟件開發(fā)之中斷優(yōu)先級與中斷嵌套
- 嵌入式雜談之中斷向量表
- 【嵌入式】按鍵中斷控制 LED 及蜂鳴器實驗
- 嵌入式軟件開發(fā)基礎(chǔ)實驗報告中斷實驗
- ucosII嵌入式實時操作系統(tǒng)實驗
- Microchip嵌入式電源和混合信號技術(shù)
- 嵌入式外中斷c語言代碼
- 嵌入式系統(tǒng)實驗——Keil使用教程 23次下載
- 如何使用嵌入式ARM實現(xiàn)信號采樣及QT圖形顯示 17次下載
- 四個嵌入式系統(tǒng)設(shè)計的實驗指導書資料免費下載 6次下載
- ARM嵌入式系統(tǒng)教程之ARM嵌入式系統(tǒng)的四個實驗介紹 20次下載
- 是德科技使用混合信號示波器調(diào)試嵌入式混合信號設(shè)計 12次下載
- 使用泰克混合信號示波器調(diào)試混合信號嵌入式設(shè)計應用指南 17次下載
- 泰克嵌入式系統(tǒng)及混合信號電路測試解決方案
- 用混合信號示波器調(diào)試嵌入式混合信號設(shè)計
- 中斷還是輪詢?嵌入式外設(shè)驅(qū)動的最佳實踐! 46次閱讀
- 嵌入式主板選型與應用指南 1k次閱讀
- 嵌入式fpga是什么意思 2.8k次閱讀
- fpga是嵌入式嗎 4.8k次閱讀
- 什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)的具體應用 4k次閱讀
- 嵌入式到底是什么?如何學習嵌入式比較好 4.3k次閱讀
- 淺談嵌入式MCU的中斷處理 9.8k次閱讀
- 一種通過嵌入式互聯(lián)網(wǎng)技術(shù)控制在線嵌入式設(shè)備的遠程監(jiān)控系統(tǒng)設(shè)計 4.3k次閱讀
- 關(guān)于嵌入式串口同步幀數(shù)方法解析知識你知道多少?該怎么樣才能學好嵌入式技術(shù)? 1.7k次閱讀
- 關(guān)于以Cortex-A8內(nèi)核為基礎(chǔ)的嵌入式實驗平臺方案設(shè)計詳解 2.3k次閱讀
- 一文知道UltraFast嵌入式設(shè)計方法指南 3.2k次閱讀
- 嵌入式行業(yè)發(fā)展狀況_嵌入式行業(yè)人才需求_嵌入式系統(tǒng)就業(yè)前景分析 2.5w次閱讀
- 嵌入式C實現(xiàn)延時程序的不同變量的區(qū)別 幾種Linux嵌入式開發(fā)環(huán)境的簡單介紹 2.2k次閱讀
- PCI總線的中斷信號與中斷控制器的連接關(guān)系 7.2k次閱讀
- 嵌入式系統(tǒng)的信號完整性理論分析 1.7k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產(chǎn)品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創(chuàng)新應用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發(fā)板產(chǎn)品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項目案例及入門學習資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論