Arm7

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • viethung_a1
    Thành viên mới
    • Jul 2008
    • 16

    #1

    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
  • kamejoko80
    Banned
    • Aug 2005
    • 262

    #2
    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ề

    Comment

    • viethung_a1
      Thành viên mới
      • Jul 2008
      • 16

      #3
      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

      Comment

      • itx
        Moderator
        • Feb 2008
        • 1365

        #4


        Chạy trên
        AT91SAM7S-EK Evaluation Board
        Từ chối trách nhiệm:
        Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
        Blog: http://mritx.blogspot.com

        Comment

        • viethung_a1
          Thành viên mới
          • Jul 2008
          • 16

          #5
          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);

          }

          }




          }

          Comment

          • viethung_a1
            Thành viên mới
            • Jul 2008
            • 16

            #6
            ah quên đây là toàn bộ file em làm trên Keil C

            Comment

            • kamejoko80
              Banned
              • Aug 2005
              • 262

              #7
              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.

              Comment

              • robotden
                Thành viên tích cực
                • Nov 2008
                • 129

                #8
                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
                All in one. Sài Gòn + Đồng Nai.

                Comment

                • viethung_a1
                  Thành viên mới
                  • Jul 2008
                  • 16

                  #9
                  Thanks cac bac em lam duoc roai.

                  Comment

                  • vansang
                    Thành viên mới
                    • Apr 2010
                    • 4

                    #10
                    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

                    Comment

                    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...