//---------- 입출력 IO설정
#define PIO_SODR (*(volatile unsigned int *) 0xFFFFF430) //출력 (volatile 컴파일러듸 설정을 따르지 않고 0xFFFFF430 고정으로 설정해서 사용해겠다 는뜻)
#define PIO_CODR (*(volatile unsigned int *) 0xFFFFF434) //출력 하지 않음
#define PIO_OER (*(volatile unsigned int *) 0xFFFFF410) //출력 방향 설정
#define PIO_PER (*(volatile unsigned int *) 0xFFFFF400) //병렬 입출력 제어 레지스터 병렬 입출력 포트로 사용한다.
//---------- 전력 제어 설정
#define PMC_PCER (*(volatile unsigned int *) 0xFFFFFC10)
// PCER 전역관련 레지스터
//PMC_PCER
#define MASTERCLOCK 48000000 // MASTERCLOCK 보드내에서 기준이 되는 클럭 -크리스털 발진기에서 증폭해서 설정한다.
//--------- 전역 변수
void PIO_ISR02(void);
void Delayms(unsigned int ms) //딜레이 함수..
{
volatile unsigned int count, countmax = (MASTERCLOCK / 10000) * ms;
for(count = 0; count < countmax; count++);
}
int main(void)
{
int i=0;
PIO_OER = 0xFFFFFFFF;
/* 츌력포트 를 32비트를 모두 개방하겠다는뜻이다.(입력포트가 없기 때문에 귀찮아서 개산하기 귀찬아서 그냥 다 열어 버렸다 ,ㅡ,ㅡ;;*/
// 0000000FF;포트 출력 방향 설정 32비트 0 이면 입력 1이면 출력 (.....000001111 1111 1111 = 12비트 출력으로쓰겟다. 0-11포트 출력)
PIO_SODR = 0x00000700; //PA8 출력 포트를 출력
Delayms(50);
while(1)// 무한루프
{
for(i=0;i<7;i=i+2)
{
PIO_SODR = 0x00015000<<i;
Delayms(500);
PIO_CODR = 0xFFFFFFFF;
Delayms(500);
}
}
return 0;
}
//PIO_SODR = 0x00000001; // 포트PA0 번 출력 ON
//Delayms(500);//딜레이이
// PIO_CODR = 0x0000000F; // 0-3번 포트까지 OFF PIO_CODR->>OFF
// PIO_SODR = 0x00000002; // 포트PA1 번 PIO_SODR 출력 ->>ON
'ARM7' 카테고리의 다른 글
타이머 카운터 파형발생 모드 0x8989C402 ==>>WAVESELL= 10(C) LED점점 밝아 지기 (0) | 2009.12.14 |
---|---|
타이머 카운터 파형발생 모드 WAVESELL=01 0x8989A402=>1010(바이너리) 10=(A)16진수 LED서서히점멸 (0) | 2009.12.14 |
수신 인터럽트에의한 직렬 통신 (0) | 2009.12.10 |
led 0-7까지 쌓이 며 점등 소등하기 콘트럴 PA9+ PA10- (0) | 2009.12.03 |
CodeWarrior for ARM Developer Suite 초기 셋팅하기 (0) | 2009.11.30 |