Chinaunix

标题: /*C与汇编相互调用*/ [打印本页]

作者: creatory    时间: 2009-06-22 18:18
标题: /*C与汇编相互调用*/
/*C与汇编相互调用*/
/*C文件*/
/*function:flash led.c*/
#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)
#define GPFUP  (*(volatile unsigned long *)0x56000058)
/*declare asm function*/
extern int delay(int t);
int main(void){
/*先清零再置1*/
/*0101,0101,xxxx,xxxx*/
GPFCON=(GPFCON&0x00FF)|0x5500;
GPFUP|=0xFF00; //dislable pull up
while(1){
  /*GPF4 ouput 0:1110,0000*/
  GPFDAT=(GPFDAT &0x0F)|0xE0;
  delay(0x5FFFFF);
  /*GPF5 output 0:1101,0000*/
  GPFDAT=(GPFDAT &0x0F)|0xD0;
  delay(0x5FFFFF);
  /*GPF6 output 0:1011,0000*/
  GPFDAT=(GPFDAT&0x0F)|0xB0;
  delay(0x5FFFFF);
  /*GPF7 output 0:0111,0000*/
  GPFDAT=(GPFDAT &0x0F)|0x70;
  delay(0x5FFFFF);
  
}
return 0;
}
/*汇编文件*/
EXPORT delay
AREA DELAY,CODE,READONLY
delay
SUB R0,R0,#0x1
CMP R0,#0x0
BNE delay
MOV PC,LR

END

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/56374/showart_1973466.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2