Announcement

Collapse
No announcement yet.

ARM cortex M0 của Nuvoton

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Công ty TULA đã đưa ra các tài liệu tiếng Việt về ARM Cortex-M0 gồm các bài giới thiệu, hướng dẫn sử dụng các bộ KIT cho dòng MCU này.
    Các bạn quan tâm xem và tải về tại (tula.vn)
    2013-10-09_084732.jpg

    Comment


    • #17
      có bạn nào co thư viện 2D_Graphic_Driver.h hay 2D_Graphic_Driver.c share với! đang cần gấp gấp... minh thks trc nha!

      Comment


      • #18
        Bạn nào có thể giải thích cụ thể 2 function này được không.

        BÁO CÁO MÀ THẦY HỎI TỪNG DÒNG CODE. POTAY. KHÔNG BIẾT TRẢ LỜI.



        void Initial_pannel(void)
        {

        SYSCLK->APBCLK.SPI3_EN =1; //enable spi function
        SYS->IPRSTC2.SPI3_RST =1; //reset spi function
        SYS->IPRSTC2.SPI3_RST =0;

        /* set GPIO to SPI mode*/
        SYS->GPDMFP.SPI3_SS0 =1;
        SYS->GPDMFP.SPI3_CLK =1;

        //SYS->GPDMFP.SPI3_MISO0 =1;
        SYS->GPDMFP.SPI3_MOSI0 =1;

        SPI_PORT[eDRVSPI_PORT3]->CNTRL.CLKP = 1; //CLKP HIGH IDLE
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.TX_BIT_LEN = 9; //TX LEGTH 9
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.TX_NEG = 1; //SET TX_NEG
        SPI_PORT[eDRVSPI_PORT3]->DIVIDER.DIVIDER=0X03; //SET DIV

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=1; //ENABLE SLAVE SELECT

        // Set BR
        SPI_PORT[eDRVSPI_PORT3]->TX[0] =0xEB;
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY = 1;
        while ( SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY == 1 );

        // Set PM
        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=0;

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=1;

        //outp32(SPI3_Tx0, 0x81);
        SPI_PORT[eDRVSPI_PORT3]->TX[0] =0x81;
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY = 1;
        while ( SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY == 1 );
        SPI_PORT[eDRVSPI_PORT3]->TX[0] =0xa0;
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY = 1;
        while ( SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY == 1 );
        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=0;

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=1;
        //outp32(SPI3_Tx0, 0xC0);
        SPI_PORT[eDRVSPI_PORT3]->TX[0] =0xc0;
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY = 1;
        while ( SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY == 1 );
        // Set Display Enable
        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=0;

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=1;
        SPI_PORT[eDRVSPI_PORT3]->TX[0] = 0XAF;
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY = 1;
        while ( SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY == 1 );
        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=0;
        }

        ////////
        void SetPACA(unsigned char PA, unsigned char CA)
        {
        // Set PA

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=1;
        SPI_PORT[eDRVSPI_PORT3]->TX[0] = 0xB0 | PA;
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY = 1;
        while ( SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY == 1 ); //check data out?

        // Set CA MSB

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=0;

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=1;
        SPI_PORT[eDRVSPI_PORT3]->TX[0] =0x10 |(CA>>4)&0xF;
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY = 1;
        while ( SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY == 1 ); //check data out?

        // Set CA LSB

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=0;

        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=1;
        SPI_PORT[eDRVSPI_PORT3]->TX[0] =0x00 | (CA & 0xF);
        SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY = 1;
        while ( SPI_PORT[eDRVSPI_PORT3]->CNTRL.GO_BUSY == 1 ); //check data out?
        SPI_PORT[eDRVSPI_PORT3]->SSR.SSR=0;
        }

        Comment

        LHQC

        Collapse
        Working...
        X