wince 6 s3c2440 io port opearation

发布时间: 2024-07-22
来源: 电子工程世界

Decare a IO port

volatile IOPreg     *s2440IOP = (IOPreg *)IOP_BASE;

IOPreg and IOP_BASE defined here:s2440.h


#define IOP_BASE      0xB1600000 // 0x56000000

typedef struct  {

        unsigned int  rGPACON;            // 00

        unsigned int  rGPADAT;

        unsigned int  rPAD1[2];

    

        unsigned int  rGPBCON;            // 10

        unsigned int  rGPBDAT;

        unsigned int  rGPBUP;

        unsigned int  rPAD2;

    

        unsigned int  rGPCCON;            // 20

        unsigned int  rGPCDAT;

        unsigned int  rGPCUP;

        unsigned int  rPAD3;

    

        unsigned int  rGPDCON;            // 30

        unsigned int  rGPDDAT;

        unsigned int  rGPDUP; 

        unsigned int  rPAD4;

    

        unsigned int  rGPECON;            // 40

        unsigned int  rGPEDAT;

        unsigned int  rGPEUP;

        unsigned int  rPAD5;

    

        unsigned int  rGPFCON;            // 50

        unsigned int  rGPFDAT;

        unsigned int  rGPFUP; 

        unsigned int  rPAD6;

    

        unsigned int  rGPGCON;            // 60

        unsigned int  rGPGDAT;

        unsigned int  rGPGUP; 

        unsigned int  rPAD7;

    

        unsigned int  rGPHCON;            // 70

        unsigned int  rGPHDAT;

        unsigned int  rGPHUP; 

        unsigned int  rPAD8;

    

        unsigned int  rMISCCR;            // 80

        unsigned int  rDCKCON;        

        unsigned int  rEXTINT0;

        unsigned int  rEXTINT1;        

        unsigned int  rEXTINT2;            // 90

        unsigned int  rEINTFLT0;

        unsigned int  rEINTFLT1;

        unsigned int  rEINTFLT2;

        unsigned int  rEINTFLT3;        // A0

        unsigned int  rEINTMASK;

        unsigned int  rEINTPEND;

        unsigned int  rGSTATUS0;        // AC

        unsigned int  rGSTATUS1;        // B0

        unsigned int  rGSTATUS2;        // B4 ;;; SHL

        unsigned int  rGSTATUS3;        // B8

        unsigned int  rGSTATUS4;        // BC

    

        unsigned int  rFLTOUT;            // C0

        unsigned int  rDSC0;

        unsigned int  rDSC1;

        unsigned int  rMSLCON;


        unsigned int  rGPJCON;            // D0

        unsigned int  rGPJDAT;

        unsigned int  rGPJUP;

        unsigned int  rPAD9;

    

}IOPreg;  


Operate the IO port like this:

s2440IOP->rGPBCON  = (s2440IOP->rGPBCON  &~(3 << 10)) | (1<< 10);

s2440IOP->rGPBDAT=s2440IOP->rGPBDAT&~(0x1<<5);


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。