Thông báo

Collapse
No announcement yet.

Arm7

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • 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

  • #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ề
    http://www.at91.com/component/resour...ts/3-sam7.html

    Comment


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


      • #4
        http://www.siwawi.arubi.uni-kl.de/av...e_20070921.zip

        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


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


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

            Comment


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


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


                • #9
                  Thanks cac bac em lam duoc roai.

                  Comment


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