본문 바로가기

[ARM]프로젝트(통신)

반응형

#define PIO_ASR (*(volatile unsigned int *) 0xFFFFF470)//주변장치 A 선택

#define PIO_BSR (*(volatile unsigned int *) 0xFFFFF474)//주변장치 B 선택

#define PIO_PDR (*(volatile unsigned int *) 0xFFFFF404)//병렬 입출력 포트로 사용 금지

   

   

#define PIO_SODR (*(volatile unsigned int *) 0xFFFFF430) //출력 

#define PIO_CODR (*(volatile unsigned int *) 0xFFFFF434) //출력 하지 않음

#define PIO_OER  (*(volatile unsigned int *) 0xFFFFF410) //출력버퍼 사용 설정

#define PIO_PER  (*(volatile unsigned int *) 0xFFFFF400) //병렬 입출력 제어 레지스터 병렬 입출력 포트로 사용한다.

#define PIO_PUDR (*(volatile unsigned int *) 0xFFFFF460) //풀업저항 사용하지 않음

   

#define PIO_IFER (*(volatile unsigned int *) 0xFFFFF420) //글리치 필터 사용허가 레지스터

#define PIO_IER (*(volatile unsigned int *) 0xFFFFF440)  //인터럽트 인에이플 레지스터

#define PIO_ISR (*(volatile unsigned int *) 0xFFFFF44C)  //인터럽트 스테이터스 레지스터

#define PIO_ODR (*(volatile unsigned int *) 0xFFFFF414)  //인터럽트 금지 레지스터 

//----------------------------------------------------------------------------------

   

   

   

//----------    전력 제어 설정

   

#define PMC_PCER (*(volatile unsigned int *) 0xFFFFFC10)

   

#define MASTERCLOCK 48000000

   

//----------------------------------------------------------------------------------

   

   

   

//---------   AIC  (인터럽트 ) 설정

   

#define AIC_IDCR (*(volatile unsigned int *) 0xFFFFF124) // 인터럽트 금지 레지스터 

#define AIC_SVR ((volatile unsigned int *) 0xFFFFF080)    //  인터럽트 서비스 루틴 등록

#define AIC_SMR ((volatile unsigned int *) 0xFFFFF000)   //   인터럽트 설정

   

#define AIC_ICCR (*(volatile unsigned int *) 0xFFFFF128) //에지 검출기 클리어

#define AIC_IECR (*(volatile unsigned int *) 0xFFFFF120) // 인터럽트 허용 레지스터

//----------------------------------------------------------------------------------

   

   

 //---------  디버그유닛 레지스터

   

#define DBGU_BRGR (*(volatile unsigned int *) 0xFFFFF220)   //보레이트 설정 레지스터

#define DBGU_MR (*(volatile unsigned int *) 0xFFFFF204)    //모드 레지스터 (모드 설정패리티 설정)

#define DBGU_CR (*(volatile unsigned int *) 0xFFFFF200)    //제어 레지스터 (송수신 설정)

#define DBGU_SR (*(volatile unsigned int *) 0xFFFFF214)    //상태 레지스터 

#define DBGU_THR (*(volatile unsigned int *) 0xFFFFF21C)   // 송신 홀딩 레지스터

#define DBGU_RHR (*(volatile unsigned int *) 0xFFFFF218)   // 수신 홀딩 레지스터

   

//    디버그 유닛 인터럽트 설정

   

#define DBGU_IER (*(volatile unsigned int *) 0xFFFFF208)   // 디버그 유닛 인에이블 

//----------------------------------------------------------------------------------

   

   

//    ADC레지스터 설정

   

#define ADC_CR (*(volatile unsigned int *) 0xFFFD8000)   // ADC제어 레지스터 ADC변환 시작/ADC 내부 하드웨어 리셋처러 리셋 설정  

#define ADC_MR (*(volatile unsigned int *) 0xFFFD8004)   // ADC 모드 제어 레지스터 

#define ADC_CHER (*(volatile unsigned int *) 0xFFFD8010)   // ADC 채널 허용 레지스터

#define ADC_SR (*(volatile unsigned int *) 0xFFFD801C)   //ADC 상태 레지스터 

#define ADC_CDR ((volatile unsigned int *) 0xFFFD8030)  //ADC 채널 데이터 레지스터 

//----------------------------------------------------------------------------------

   

   

   

     

   

int main(void)

{

   

  while(1)

  {

    

  unsigned char a;

  unsigned char b;

    

  PMC_PCER = (1 << 0| (1 << 1);  //PID0,1 always default

  DBGU_BRGR = 26;  //보레이트 설정 115200 , 데이터 통신속도 조절

  DBGU_CR = 1<<6 | 1<<4 | 1<<8// Transmitter Enable , Receiver Enable.

  DBGU_MR = 1<<11;  //페리티 없음. 정상모드 사용.

    

  PIO_ASR = (1 << 9| (1 << 10);  //A 주변장치 A로 선택  

  PIO_PDR = (1 << 9| (1 << 10);  //병렬 I/O로 사용하는 것을 금지하고 주변장치로 사용하는 것을 허용한다.

                        

  //DBGU_RHR = DBGU_THR ;  //ARM에서 터미널 //터미널에서 ARM

      

     

  if(DBGU_SR&(1<<1))

  {

  DBGU_THR = DBGU_RHR;

  }

      

  }

}

   

   

   

반응형

'About 프로그래밍!!! > ARM' 카테고리의 다른 글

[ARM]링크드리스트 하기전에..  (0) 2010.07.14
[ARM]ADC(아날로그 to 디지털)  (0) 2010.07.13
[ARM] ADC  (0) 2010.07.13
[ARM]캐릭터 LCD  (0) 2010.07.09
[ARM] 캐릭터 LCD에 글자쓰기  (0) 2010.07.09
-->