91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 40KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2024-02-02
  • 語言: 其他
  • 標簽: TQ2440??外部中斷??

資源簡介

用ADS編譯測試通過,外部中斷按鍵測試程序,可以通過uboot下載至NAND里運行,直接下載到SDRAM無法運行(因為沒有開啟MMU)。 http://blog.csdn.net/forsakening/article/details/8998027 這里是我對S3C2440代碼及中斷的分析。

資源截圖

代碼片段和文件信息

#include?“2440addr.h“

/*?延時?*/
void?Delay1s(void)
{
int?i=0;
for?(;i<1000000;i++);
}

/*?LED部分?*/
#define?Led1_On()??????{rGPBDAT?&=?(~(1?<#define?Led1_Off()?????{rGPBDAT?|=?(1?<#define?Led2_On()??????{rGPBDAT?&=?(~(1?<#define?Led2_Off()?????{rGPBDAT?|=?(1?<#define?Led3_On()??????{rGPBDAT?&=?(~(1?<#define?Led3_Off()?????{rGPBDAT?|=?(1?<#define?Led4_On()??????{rGPBDAT?&=?(~(1?<#define?Led4_Off()?????{rGPBDAT?|=?(1?<
void?Led_Init(void)
{
rGPBCON?&=?~((3?< rGPBCON?|=?((1<<10)?|?(1<<12)?|?(1<<14)?|?(1<<16))?;
rGPBUP??&=??~((1?< rGPBDAT?|=?(1?<}

/*?外部中斷:按鍵中斷,控制LED燈的亮滅?*/
/*
?*?1.設置IO口為外中斷模式
?*/
#define?KEY1?(2?<#define?KEY2?(2?<#define?KEY3?(2?<#define?KEY4?(2?<
void?Key_Init(void)
{
rGPFCON?&=?~((3?< /*?GPFCON:?00:input?01:output?10:EINT?*/
rGPFCON?|=?KEY1?|?KEY2?|?KEY3?|?KEY4?;
rGPFDAT?|=?(1?<}


/*
?*?2.使能中斷:打開INTMSK中斷屏蔽
?*???INTMSK有單獨位來屏蔽外部中斷0-3。對于4-7用EINTMASK來區分
?*/
void?Irq_Init(void)
{
rINTMSK???&=?~((1?< rEINTMASK?&=?(~(1?<}

/*
?*?SRCPND和INTPND的每一個位代表一個中斷源,當有中斷產生時,對應的位置會自動置1
?*?清除此中斷需要往對應位置寫1
?*?對于外部中斷4-7,由于是由子中斷控制,還需要向EINTPEND中對應位置寫1
?*?對于啟動代碼中所說的INTOFFSET寄存器,其用來標識INTPND的哪種類型中斷發生了,
?*?當SRCPND和INTPND對應的中斷標志位清除后,INTOFFSET對應位會被自動清零
?*/
void?__irq?Eint0_Isr(void)
{
Led1_On();Delay1s()?;Led1_Off()?;

rSRCPND?|=?1?< rINTPND?|=?1?<}

void?__irq?Eint1_Isr(void)
{
Led2_On();Delay1s()?;Led2_Off()?;

rSRCPND?|=?1?< rINTPND?|=?1?<}

void?__irq?Eint2_Isr(void)
{
Led3_On();Delay1s()?;Led3_Off()?;

rSRCPND?|=?1?< rINTPND?|=?1?<}

void?__irq?Eint4_7_Isr(void)
{

if(rEINTPEND?&?(1?< {
Led4_On();Delay1s()?;Led4_Off()?;

rEINTPEND?|=?1?< }
rSRCPND???|=?1?< rINTPND???|=?1?<}

/*
?*?3.中斷服務程序:a)中斷向量表的安裝
?*?????????????????b)中斷處理,記得清除中斷
?*/
/*
?*?#define?pISR_EINT0?(*(unsigned?*)(_ISR_STARTADDRESS+0x20))
?*?_ISR_STARTADDRESS是中斷的入口地址
?*?在啟動代碼中提到,若發生中斷,(以IRQ為例)動作是
?*?1)b?HandlerIRQ?一級查找
?*?2)HandlerIRQ?HANDLER?HandleIRQ,執行HandleIRQ對應的程序
?*?3)根據INTOFFSET確定是哪個中斷源,計算出偏移量,
?*???在HandleEINT0的基礎上偏移,執行中斷程序,二級查找
?*?4)HandleEINT0的地址和pISR_EINT0所在的地址實際上是一樣的,代表的就是中斷服務程序
?*???不過HandleEINT0是一個地址,pISR_EINT0代表地址里存放的數值(實際上是真正服務程序的地址Eint0_Isr)
?*/
#define?_ISR_STARTADDRESS? 0x33ffff00

void?Isr_Init(void)
{
pISR_EINT0?=?(unsigned?int)Eint0_Isr?;
pISR_EINT1?=?(unsigned?int)Eint1_Isr?;
pISR_EINT2?=?(unsigned?int)Eint2_Isr?;
pISR_EINT4_7?=?(unsigned?int)Eint4_7_Isr?;/**/

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????197856??2013-05-31?15:29??EINT0_Test\EINT0_Test.mcp

?????文件???????3450??2013-05-31?15:29??EINT0_Test\EINT0_Test_Data\CWSettingsWindows.stg

?????文件??????18264??2013-05-31?15:26??EINT0_Test\EINT0_Test_Data\DebugRel\EINT0_Test.axf

?????文件???????3156??2013-05-31?15:26??EINT0_Test\EINT0_Test_Data\DebugRel\EINT0_Test.bin

?????文件??????54666??2013-05-31?15:29??EINT0_Test\EINT0_Test_Data\DebugRel\TargetDataWindows.tdt

?????文件??????53120??2013-05-31?15:29??EINT0_Test\EINT0_Test_Data\Release\TargetDataWindows.tdt

?????文件??????54494??2013-05-31?15:29??EINT0_Test\EINT0_Test_Data\Debug\TargetDataWindows.tdt

?????文件??????28550??2011-05-19?15:18??EINT0_Test\startcode\2440addr.h

?????文件???????3908??2011-05-19?15:18??EINT0_Test\startcode\2440addr.inc

?????文件???????7209??2013-05-30?23:58??EINT0_Test\startcode\2440init.s

?????文件????????516??2011-05-19?15:19??EINT0_Test\startcode\config.h

?????文件????????444??2011-08-10?14:15??EINT0_Test\startcode\def.h

?????文件????????548??2011-05-24?19:35??EINT0_Test\startcode\Memcfg.inc

?????文件???????7818??2011-11-10?21:02??EINT0_Test\startcode\nand.c

?????文件???????4204??2011-08-17?13:46??EINT0_Test\startcode\Nand.h

?????文件????????327??2011-05-24?22:23??EINT0_Test\startcode\Option.inc

?????文件???????3604??2013-05-31?15:25??EINT0_Test\main.c

?????目錄??????????0??2013-05-31?15:22??EINT0_Test\EINT0_Test_Data\DebugRel\objectCode

?????目錄??????????0??2013-05-31?15:09??EINT0_Test\EINT0_Test_Data\DebugRel

?????目錄??????????0??2013-05-31?15:09??EINT0_Test\EINT0_Test_Data\Release

?????目錄??????????0??2013-05-31?15:09??EINT0_Test\EINT0_Test_Data\Debug

?????目錄??????????0??2013-05-31?15:09??EINT0_Test\EINT0_Test_Data

?????目錄??????????0??2013-05-31?15:10??EINT0_Test\startcode

?????目錄??????????0??2013-05-31?15:09??EINT0_Test

-----------?---------??----------?-----??----

???????????????442134????????????????????24


評論

共有 條評論