블로그 이미지
하루, 글. 그림. 영상매체. 표현을 도와주는 기기들. 도전 중. 동화다아아
    동화다아아

    카테고리

    분류 전체보기 (176)
    잡담 (1)
    IT 기기-리뷰&뉴스 (7)
    리뷰 - 도서 (1)
    리뷰 - 영상 (0)
    리뷰 - 그림/음악 (1)
    내장형 하드웨어 (163)
    Total
    Today
    Yesterday

    - 브레드보드, 라인 박스(20)

    ⇒ 선 60개

     

    - 초음파 센서(SRF 05) 1set (미수령)

    - LCD(16216D-4-B102A) 1set

    - 스테핑 모터(SE-SM243) 1set

    - USB cable 1set

    - 시리얼 cable 1set

     

    (연결 부분의 선이 헐겁다. 교체할 선이 없는 관계로 이대로 수령)

    - ARM 보드 1set

     → 스위치 2개(ON/OF, USB/EXT)

     → USB 2.0 단자

     → 2핀 몰렉스

     → 3핀 몰렉스

     → RESET 스위치

     → AT91SAM7S256 (48MHz)

     → crystal(수정진동자-oscillator)-18.432(속도)

     → D1(발광 다이오드)

     → RLC
     

     

    ⇒ 위와 같이 브레드 보드에 ARM 보드를 연결하였다. 추후 LED 연결 등을 위해 보드는 브래드 보드 최하단에 연결.



    실행순서

    1) POWER → EXT, TST → ON, POWER → USB

    2) CABLE 연결

    3) D1에 불이 들어오면 → 10초간 상태 유지(ARM이 프로그램을 받을 준비하는 데 10초정도 걸린다.)

    4) POWER → EXT

    5) TST → OFF

    6) POWER → USB

    7) SAMBA 2.9 실행

     → Send File Name : D:/arm/ARM_LED/at91sam7s_flash_wc.bin 를 불러오고 SEND 시킨다.
     

     


    // ARM J1 핀에 연결된 LED에 불이 깜빡이게 하는 소스

    #define PIOA_PER     (*(volatile unsigned int *)0xFFFFF400)

    #define PIOA_OER     (*(volatile unsigned int *)0xFFFFF410)

    #define PIOA_PPUDR  (*(volatile unsigned int *)0xFFFFF460)

    #define PIOA_CODR    (*(volatile unsigned int *)0xFFFFF434)

    #define PIOA_SODR    (*(volatile unsigned int *)0xFFFFF430)


    void LED_INIT(void)

    {

            // Configure the pin in output

            PIOA_OER     = 0x00000001;

            // Set the PIO controller in PIO mode instead of peripheral mode

            PIOA_PER      = 0x00000001;

            // Disable pull-up

            PIOA_PPUDR   = 0x00000001;

    }


    int main(void)

    {

            volatile unsigned int iCount = 0;


            LED_INIT();


            while (1)

            {

                    PIOA_CODR = 0x00000001;

                    for(iCount=0;1000000 >= iCount; ++iCount);


                    PIOA_SODR = 0x00000001;

                    for(iCount=0;1000000 >= iCount; ++iCount);


            }

            return 0;

    }

    ⇒ 실습

     

    ⇒ J1에 LED의 GND 다리를 연결하고 반대편 다리에 Vcc 3.3을 연결하여 LED의 빛이 깜빡이는 것을 확인. 


     

    // LED를 1번부터 8번까지 순차적으로 ON/OFF 시키는 프로그램

    #define PIOA_PER     (*(volatile unsigned int *)0xFFFFF400)

    #define PIOA_OER     (*(volatile unsigned int *)0xFFFFF410)

    #define PIOA_PPUDR  (*(volatile unsigned int *)0xFFFFF460)

    #define PIOA_CODR    (*(volatile unsigned int *)0xFFFFF434)

    #define PIOA_SODR    (*(volatile unsigned int *)0xFFFFF430)



    void LED_INIT(void)

    {

            // Configure the pin in output

            PIOA_OER     = 0x00000001;

            // Set the PIO controller in PIO mode instead of peripheral mode

            PIOA_PER      = 0x000000FF;

            // Disable pull-up

            PIOA_PPUDR   = 0x000000FF;

    }


    int main(void)

    {

            volatile unsigned int iCount = 0; // 지연시간 설정을 위한 변수

            volatile unsigned int i = 0; // 반복문 변수 선언


            LED_INIT();



            while (1)

            {

                    // 1에서 8번 LED까지 순차적으로 ON/OFF를 반복한다.

                    for(i=0;i<8;++i)

                    {

                            PIOA_OER = 0x00000001<<i;

                            PIOA_CODR = 0x00000001<<i;

                            for(iCount=0;1000000 >= iCount; ++iCount);


            

                            PIOA_SODR = 0x000000FF;

                            for(iCount=0;1000000 >= iCount; ++iCount);

                    }

            }

            return 0;

    }

    ⇒ 실습

     

     

    ⇒ 동영상



    Posted by 동화다아아
    , |

    최근에 달린 댓글

    최근에 받은 트랙백

    글 보관함