Thông báo

Collapse
No announcement yet.

Hỏi một chút về ARM7

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

  • Hỏi một chút về ARM7

    Tình hình là mới bắt đầu tìm hiểu về ARM7, cụ thể là AT91SAM7S64.
    Mình đọc trong cái thư viện board.H của nó thì thấy có các khai báo như thế này:
    #define LED1 (1<<15)//PA15
    #define LED2 (1<<8)//PA8
    #define LED3 (1<<17)//PA17
    #define LED4 (1<<18)//PA18
    #define LCD_RS (1<<2)//PA2
    #define LCD_EN (1<<1)//PA1
    #define LCD_CONTROL (LCD_RS|LCD_EN)
    #define LCD_DATA (0xF0000000)

    Mình không hiểu ý nghĩa của ( 1<<15), (1<<8)...tương tự với các dòng ở dưới.
    Ai hiểu xin giúp mình với.Mình cảm ơn!

  • #2
    ( 1<<15), (1<<8) ...Đây là lệnh cơ bản của C có nghỉa là dịch bit 1 đến vị trí 15 và 8 ... vì vậy khi dùng #define LED1 (1<<15) thì khi ta gọi LED1 thì chân PA15 sẽ có giá trị bằng 1. Tương tự cho các trường hợp còn lại.

    Comment


    • #3
      Cảm ơn bạn rất nhiều. Bạn cho mình hỏi thêm về ý nghĩa của toàn bộ lệnh này nữa nhé:
      AT91C_BASE_PMC -> PMC_PCER = 1<< AT91C_ID_PIOA;

      AT91C_BASE_PMC// (PMC) Base Address
      PMC_PCER; // Peripheral Clock Enable Register
      AT91C_ID_PIOA ( 2) // Parallel IO Controller

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X