i/o暫存器
一.埠暫存器組:
gpacon: 0=輸出 1=初始引腳狀態
gpxcon: 00=輸入,01=輸出,10=初始引腳狀態,11=保留
gpxdat
gpxup: 0:允許上拉,1:禁止上拉
一般情況下不需要設定gpxup
二,外部中斷控制暫存器組
extiin0(7~0):000=低電平,001=高電平,01x=下降沿觸發,10x=上公升沿觸發,11x=2個沿都觸發
extiin1(15~8):000=低電平,001=高電平,01x=下降沿觸發,10x=上公升沿觸發,11x=2個沿都觸發
extiin2(23~16):000=低電平,001=高電平,01x=下降沿觸發,10x=上公升沿觸發,11x=2個沿都觸發
三,外部中斷濾波暫存器組
eintflt2(19~16):濾波時鐘:
濾波寬度
eintflt2(23~20):濾波時鐘:
濾波寬度
四.外部中斷遮蔽暫存器
eintmask(23~4): 0:允許中斷 1:遮蔽中斷
五,外部中斷登記暫存器
eintpend(23~4): 0:無請求,1:有請求
所有請求的中斷必須要登記。
中斷暫存器
中斷源主要有adc,rtc,spi,iic,dma,uart,usb,sd,lcd,timer,wdt,tick,外部中斷,也就是說幾乎所有的外設都能採用中斷的方式,向系統申請中斷,處理中斷處理程式
帶子暫存器的請求源通過子登記暫存器(subsrcpnd),通過子遮蔽暫存器(submask);不帶子暫存器的請求源向源登記暫存器(srcpnd)發出申請,再通過遮蔽暫存器(mask)和模式暫存器(mode),中斷優先順序暫存器(priority),最後通過中斷登記暫存器(intpnd),向arm核心發出irq中斷申請。
通過分析晶元手冊,我們發現srcpnd,intpnd的功能非常相像,但是並不相同,srcpnd是中斷申請的入口,intpnd是中斷處理的結果。srcpnd可以接受很多中斷,但是通過遮蔽,優先順序選擇之後,intpnd只能處理乙個中斷。
一,源登記暫存器
srcpnd: 0=無中斷請求,1=有中斷請求
二,中斷模式暫存器
intmod: 0=fiq,1=irq
三,中斷遮蔽暫存器
intmsk: 0=允許服務,1=遮蔽
四,優先權暫存器
proirity:
五,中斷登記暫存器
intpnd: 0=無中斷請求 1=有中斷請求
六,子源登記暫存器
subsrcpnd: 0=無中斷請求,1=有中斷請求
在uart,dma等,有子中斷,例如,uart中的,int_errn,int_rxdn,int_txdn
七,中斷子遮蔽暫存器
intsubmsk: 0=允許服務,1=遮蔽
linux中中斷初始化**
void __init s3c2410_init_irq(void)
S3C2440 中斷控制暫存器
1 subsrcpnd 暫存器 sub source pending subsrcpnd 暫存器被用來標識 int rxd0 int txd0 等中斷 s3c2410中這類中斷有 11 個,而 s3c2440 中有 15 個 是否已經發生,每位對應乙個中斷。當這些中斷發生並且沒有被 intsubms...
S3C2440中斷暫存器
s3c2440的中斷暫存器 1.中斷分兩大類 內部中斷和外部中斷。2.外部中斷。24個外部中斷占用gpf0 gpf7 eint0 eint7 gpg0 gpg15 eint8 eint23 用這些腳做中斷輸入,則必須配置引腳為中斷,並且不要上拉。具體參考datesheet資料手冊。暫存器 extin...
S3C2440的中斷暫存器
s3c2440的中斷暫存器 1.中斷分兩大類 內部中斷和外部中斷。2.外部中斷。24個外部中斷占用gpf0 gpf7 eint0 eint7 gpg0 gpg15 eint8 eint23 用這些腳做中斷輸入,則必須配置引腳為中斷,並且不要上拉。具體參考datesheet資料手冊。暫存器 extin...