Microprocessor/ARM7 ARM 자료 ( 각 레지스터의 기능 / ARM LED 제어 ) [20120709]
  • 728x90
    반응형

       

       

       

     

       

       

       

     Controller A Multlplexlng Peripheral A, B

       

       

       

       

     

     

    AT91SAM7S256 PIO Controller A Multlplexlng PeripheralA, B 하나만

       세팅하여 제어가능. ( PIN 32 이기 )

       

       

     

     

    PWM ( Pulse Width Modulation ) : Pulse 폭을 제어하여 LED등을

       강약을 조절하는 기능.

       

     

     

     

       

    USART : U(일반적) S (동기) A(비 동기) RT(송, 수신)

       수신 Tx 송신 Rx 선이 있고 Sck신호선이 따로 있기 때문에 속도가 빠르다.

       ( 외 에 UART, 시리얼 통신, RS232 등으로 분류된다. )

       ※ ATMEL 사에서 만든 기능 용어이다.

       

       

     

     

    UART : 수신 Tx 송신 Rx 선이 있고 전송 하고자하는 데이터 앞뒤로

       신호 데이터가 붙는다. 선이 두개만 사용 되는 것이 장점이다.

       

       

       

       

     

     

     

     

       

    ★ PIO Cotroller PIO Status Register

     

       

       

     

     

       

    Status : I/O 을 E/D 인지 아닌지를 알려주는 기능.

       

     

     

    PIO_ODSR : 각Pin에 H/L 값인지를 알려주는 기능.

       

     

     

    ex)

        int A = PIO_ODSR;

        A = A & 0x02;        // 0x02는 Mask 값이다.

        if( 0 == A)

        {

            off

        }

       

     

    의도 적으로 일정값을 OR, AND 등으로 값을 추출하는 것 을

       Mask값 이라 한다.

       

     

    ※ Atmega 는 ARM 과 달리 Enables, Disable, status 가 모두 통합되어 있다.

     

       

    Atmega ( 하바드 구조 )

    ARM ( 폰노이만 구조 )

    PORT (H/L)

    Enbles (I/O)

    DDR (I/O)

    Disable (I/O)

    PIN (H)

    Status (I/O가 E/D 인지.)

      

    SODR (H로 만든다.)

      

    CODR (L로 만든다.)

      

    OER

      

    ODR(H/L 인지 아닌지.)

      

    OSR (출력 상태)

      

    IFER, PIO_IFDR, PIO_IFSR

      

    ODSR (출력 상태확인)

      

    PDSR (입력 상태 확인)

      

    IER (Interrupt 활성)

      

    IDR (Interrupt 비활성)

      

    IMR (레지스터의 om/off유무)

      

    ASR (A 기능 켜기)

      

    BSR (B 기능 켜기)

      

    ABSR ( A, B 스왑)

      

    OWER ( 쓰기 레지스터 )

      

    OWDR ( 읽기 레지스터 )

       

       

       

       

       

       

       

       

    ★ PIO_OWER, PIO_OWDR

     

       

     PIO_OWER : Enbles (read only 를 r/w )모드로 바꿔준다.

     

     

     PIO_OWDR : Disable(r/w 를 read only ) 모드로 바꿔준다.

       

     

     

       

    [ base address ]

     

    ※ spec 20page.

       

       

     

     

     

     

    [ OWER, OWDR 활성화 address ]

     

    ※ spec 89page.

       

       

       

       

     

     

     

    [ PIO_OWER 세부 address ]

     

    ※ spec 103page.

       

       

     

     

     

     

       

    [ PIO_OWDR 세부 address ]

     

    ※ spec 103page.

       

       

       

       

       

       

     

     

    ★ PIO_ODSR

       

     

       

    상태 레지스터로 0을 넣으면 on, 1을 넣으면 off 이다.

       

       

     

    [ PIO_ODSR활성화 address ]

     

    ※ spec 88page.

       

       

     

     

     

     

       

    [ PIO_ODSR 세부 address ]

     

    ※ spec 95page.

       

     

     

     

       

       

    define 하여 Atmega의 PORTA 처럼 사용할 수 있다.

       

     

     

     

    Ex)

     

    < 선언부 >

    < main 의 반복문 >

       

     

     

    < 실행 결과 >

       

    LED 가 점멸 한다.

       

       

       

     

     

     

     

       

    Ex) project.h 파일 사용 ( 타인이만든 헤더파일 사용법 )

     

       

       

       

       

     

     

     

     

     

    Ex) 구조체를 이용한 project.h 파일 사용

     

       

       

     

     

     

     

     

       

    Ex) LED PA0, PA4 교차 점멸

     

     

     

     

    < 실행 결과 동영상 참고 >

     

     


     

     

     

     

     

     

     

     

     

     

    728x90
    반응형
상단으로