Arm7

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • vansang
    replied
    Chào các bạn! mình hiện đang dùng con chip LPC2148 (một dòng ARM7TDMI-S ) của hãng philip .Nhưng mình đang bị mắc chỗ nạp chương trình cho Nó.Hiện minh đã dùng mạch nạp Jlink ARM ,của hãng TME.Nhưng vẫn ko kết nối được với MCU.Vậy nào có cách nào nạp chương trình cho con chip này hiệu quả cho mình xin tài liệu được ko.Mình đang càn gấp.Email của mình: duongdinhque86@yahoo.com

    Leave a comment:


  • viethung_a1
    replied
    Thanks cac bac em lam duoc roai.

    Leave a comment:


  • robotden
    replied
    Nguyên văn bởi viethung_a1 Xem bài viết
    Các bác cho em hỏi code em nó cứ báo sai phần hàm truyền nhận USART. Em không hiểu sai cho nao các bác chỉ cho em voi
    Đây là code cua em:

    #include <stdio.h> /* I/O Functions */
    #include <AT91SAM7S256.H> /* AT91SAM7S256 definitions */
    #include "Board.h"


    AT91S_PIO * pPIO = AT91C_BASE_PIOA; /* Global Pointer to PIO */


    extern volatile unsigned long timeval; /* Current Time Tick */

    void wait (unsigned long time) { /* Wait Function */
    unsigned long tick;

    tick = timeval;
    while ((timeval - tick) < time); /* Wait for specified Time */
    }



    extern void init_timer (void); /* Initialize Timer */
    extern void init_extint (void); /* Initialize External Interrupt */
    extern void init_serial (void); /* Initialize Serial Interface */


    /*
    * Main Program
    */

    int main (void) {
    unsigned long n;
    char k={'c'};
    //unsigned long keystate;


    *AT91C_PMC_PCER = (1 << AT91C_ID_PIOA) | /* Enable Clock for PIO */
    (1 << AT91C_ID_IRQ0) | /* Enable Clock for IRQ0 */
    (1 << AT91C_ID_US0); /* Enable Clock for USART0 */

    pPIO->PIO_PER = LED_MASK; /* Enable PIO for LED1,2 */
    pPIO->PIO_OER = LED_MASK; /* LED1,2 are Outputs */
    pPIO->PIO_SODR = LED_MASK; /* Turn off LED's ("1") */
    pPIO->PIO_OWER = LED2; /* LED2 ODSR Write Enable */

    init_timer (); /* Initialize Timer */
    init_extint(); /* Initialize External Interrupt */
    init_serial(); /* Initialize Serial Interface */



    while(1)
    {
    if(pUSART->US_RHR==k)
    {
    pPIO->PIO_CODR = LED1;
    wait(100);

    }

    }




    }

    Mình chưa viết cho board này bao giờ, nhưng mình nghĩ UART này không khó đến mức thế đâu.
    Thậm chí cầm một board mạch của bất kỳ MCU nào mà mình chưa biết bao giờ, sau vài phút mình có thể lập trình truyền nhận được.
    Tốt nhất bạn hãy tìm một ví dụ có sẵn (chắc là đi kèm theo mạch khi mua) để thử truyền nhận xem, nếu không OK thì là do mạch có vấn đề. Nếu chạy OK thì bạn so sánh code của example đó với code của bạn viết, tìm ra ngay đó mà. Bạn phải siêng một tí. Hỏi a K phải hỏi những cái cao siêu mới đáng bạn à. hehe
    chúc vui

    Leave a comment:


  • kamejoko80
    replied
    Nguyên văn bởi viethung_a1 Xem bài viết
    Trang này nhiều quá khó tìm quá bác Ka. Bác có code thì gửi luôn cho em xin với
    Thanks
    Tui đã gợi ý cho bác đến nước này rồi, nếu sợ khó thì nên gác kiếm sớm vẫn chưa muộn, vì nếu bác muốn đi vào lỉnh vực này chắc chắn sau này gặp rất nhiều điều nan giải hơn nữa.
    Có lời khuyên bác không nên "xin" quá nhiều, vì nó sẽ hại mình đấy, tự mình tìm hiều là chính.

    Leave a comment:


  • viethung_a1
    replied
    ah quên đây là toàn bộ file em làm trên Keil C

    Leave a comment:


  • viethung_a1
    replied
    Các bác cho em hỏi code em nó cứ báo sai phần hàm truyền nhận USART. Em không hiểu sai cho nao các bác chỉ cho em voi
    Đây là code cua em:

    #include <stdio.h> /* I/O Functions */
    #include <AT91SAM7S256.H> /* AT91SAM7S256 definitions */
    #include "Board.h"


    AT91S_PIO * pPIO = AT91C_BASE_PIOA; /* Global Pointer to PIO */


    extern volatile unsigned long timeval; /* Current Time Tick */

    void wait (unsigned long time) { /* Wait Function */
    unsigned long tick;

    tick = timeval;
    while ((timeval - tick) < time); /* Wait for specified Time */
    }



    extern void init_timer (void); /* Initialize Timer */
    extern void init_extint (void); /* Initialize External Interrupt */
    extern void init_serial (void); /* Initialize Serial Interface */


    /*
    * Main Program
    */

    int main (void) {
    unsigned long n;
    char k={'c'};
    //unsigned long keystate;


    *AT91C_PMC_PCER = (1 << AT91C_ID_PIOA) | /* Enable Clock for PIO */
    (1 << AT91C_ID_IRQ0) | /* Enable Clock for IRQ0 */
    (1 << AT91C_ID_US0); /* Enable Clock for USART0 */

    pPIO->PIO_PER = LED_MASK; /* Enable PIO for LED1,2 */
    pPIO->PIO_OER = LED_MASK; /* LED1,2 are Outputs */
    pPIO->PIO_SODR = LED_MASK; /* Turn off LED's ("1") */
    pPIO->PIO_OWER = LED2; /* LED2 ODSR Write Enable */

    init_timer (); /* Initialize Timer */
    init_extint(); /* Initialize External Interrupt */
    init_serial(); /* Initialize Serial Interface */



    while(1)
    {
    if(pUSART->US_RHR==k)
    {
    pPIO->PIO_CODR = LED1;
    wait(100);

    }

    }




    }

    Leave a comment:


  • itx
    replied


    Chạy trên
    AT91SAM7S-EK Evaluation Board

    Leave a comment:


  • viethung_a1
    replied
    Trang này nhiều quá khó tìm quá bác Ka. Bác có code thì gửi luôn cho em xin với
    Thanks

    Leave a comment:


  • kamejoko80
    replied
    Nguyên văn bởi viethung_a1 Xem bài viết
    Có bác nào có code truyền gửi dữ liệu từ máy tính xuống VDK At91SAM7S256 không nhỉ?
    Em đang làm trên Kit phát triển của PNLab mà viết mãi code truyền ký tự xuống thực hiện nháy led ma chưa được
    Thanks
    Lên trang của ATMEL va down source về

    Leave a comment:


  • viethung_a1
    started a topic Arm7

    Arm7

    Có bác nào có code truyền gửi dữ liệu từ máy tính xuống VDK At91SAM7S256 không nhỉ?
    Em đang làm trên Kit phát triển của PNLab mà viết mãi code truyền ký tự xuống thực hiện nháy led ma chưa được
    Thanks

Về tác giả

Collapse

viethung_a1 Tìm hiểu thêm về viethung_a1

Bài viết mới nhất

Collapse

Đang tải...