⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpio.c

📁 基于公版的44B0的GPIO的测试
💻 C
字号:
#include "44b.h"
#include "arm.h"
#include "ic.h"

#define DELAY 300

void delay(unsigned int i)
{
    unsigned int j,k;
    for(j=0;j<i;j++)
       for(k=0;k<i;k++)
        ;
}

void __irq  HandlerINT4567 (void)        //中断服务函数
{        
    rPDATC = 0x000E;                      	
	//此处加入你要的程序比如点灯的
    rEXTINTPND=0xf;	//将外部4567位标志清除
	rI_ISPC=BIT_EINT4567;//再清除intpnd中的请求位
                 
}
void Init_Eint(void)
{

    rINTCON=1;//irq interrupt
	pISR_EINT4567=(unsigned)HandlerINT4567;// 此句是定义外中断4567
	rSPUCR=4;
    rPCONG=0xff00;	//EINT7~4
    rPUPG=0x0;		//pull up enable
    //rEXTINT=0x0; //low level interrupt
	rEXTINT=0xffff; //low level interrupt        
    rINTMOD&=~(BIT_EINT4567|BIT_GLOBAL);  //中断方式为IRQ向量式
    rINTMSK=~(BIT_EINT4567|BIT_GLOBAL);   //中断屏蔽位清零
}


int main()
{
//  	rPCONC = 0x55555555;
//      rPCONG = 0x00000000;
    Init_Eint();//初始化向量表和工作方式
    while(1)
    {
    while (1) 
    {
        rPDATE = 0x0020;
        rPDATC = 0x0000;
        delay(DELAY);                           
        rPDATC = 0x0002;
        delay(DELAY);
        rPDATC = 0x0004;
        delay(DELAY); 
        rPDATC = 0x0008;
        delay(DELAY); 
        rPDATC = 0x0004;
        delay(DELAY);
        rPDATC = 0x0002;
        delay(DELAY);           
        rPDATC = 0x0000;
        delay(DELAY); 
         
        rPDATE = 0x0000;
        delay(DELAY);
        rPDATE = 0x0020;
        delay(DELAY); 
        rPDATE = 0x0000;
        delay(DELAY);
        rPDATE = 0x0020;
        delay(DELAY); 
          
        rPDATC = 0x000E;
        delay(DELAY);
        rPDATC = 0x0000;
        delay(DELAY);  
        rPDATC = 0x000E;
        delay(DELAY);
        rPDATC = 0x0000;
        delay(DELAY);  
        rPDATC = 0x000E;
        delay(DELAY);             
 
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -