Lắp ráp trên Arduino: thanh ghi IO


13

Câu hỏi: Tôi sử dụng thanh ghi nào để truy cập IO trên Arduino Uno khi tôi đang sử dụng lắp ráp để lập trình?

Bối cảnh: Tôi quan tâm đến việc thực hành các kỹ năng ngôn ngữ lắp ráp của mình trên Arduino (Tôi nghĩ rằng việc bật / tắt đèn LED sẽ dễ dàng hơn là lo lắng về giao diện điều khiển IO). Từ việc thực hiện tìm kiếm sơ bộ , tôi đã thấy rằng chuỗi công cụ AVR có thể được sử dụng để lập trình Arduino. Tuy nhiên, tôi không biết làm thế nào để tìm các thanh ghi tương ứng cho các chân IO.

Câu trả lời:


8

Các bảng dữ liệu cho các bộ vi điều khiển AVR là hợp lý để đọc. Chỉ cần Google cho bộ điều khiển chính xác trên Arduino của bạn (ví dụ: ATmege328) và tìm bảng dữ liệu "Hoàn thành" trên trang web atmel.com . Đừng tải xuống "Tóm tắt", nó không bao gồm nhiều thông tin. Tải xuống bảng dữ liệu từ atmel.com, đó là vị trí duy nhất có tài liệu gần đây nhất.

Có ba thanh ghi được sử dụng trong IO cơ bản (kiểm tra chương có tên "Cổng I / O"):

Trong đó n là mã định danh cổng, một chữ cái từ A, B, C, ... tùy thuộc vào số lượng chân IO mà bộ điều khiển của bạn có. Mỗi bit trong mỗi thanh ghi đại diện cho một chân GPIO duy nhất (vâng, bạn cần một số kiến ​​thức cơ bản về nhị phân để hiểu đầy đủ về điều này).

  • DDR n , Thanh ghi hướng dữ liệu: Điều này về cơ bản cấu hình một chân cho đầu vào (0) hoặc đầu ra (1).
  • PORT n , Cổng n Đăng ký dữ liệu: Khi một chân được đặt làm đầu ra, bit liên quan sẽ bật tắt chân đầu ra cao (1) hoặc thấp (0). Khi được cấu hình làm đầu vào, điều này cho phép điện trở kéo lên yếu trên chân đầu ra.
  • PIN n , Cổng n Thanh ghi đầu vào: Sử dụng thanh ghi này để đọc mức hiện tại trên một pin được cấu hình làm đầu vào.

3
Điều này. Bước 1: Ngừng suy nghĩ về nó như một arduino. Nó không thể. Đó là MCU ATmega trên PCB. 2. Đọc bảng dữ liệu. 3. Không thực sự, đọc bảng dữ liệu .
Sói Connor

À ... đó chính xác là những gì tôi cần. Tôi nghĩ rằng tôi đã dành quá nhiều thời gian để tìm kiếm các hướng dẫn nhắm vào Arduino, đến nỗi tôi quên rằng tôi chỉ đơn giản là lập trình một bộ điều khiển AVR và có thể sử dụng biểu dữ liệu của nó.
apnorton

1

Hãy xem điều này: http://arduino.cc/en/Reference/PortManipulation

Ngoài ra: http://arduino.cc/en/Hacking/PinMapping168

Đối với các cổng và chân khác, hãy kiểm tra đặt biểu dữ liệu cho bộ điều khiển của bạn, chúng thực sự hữu ích cho những người có thể hiểu chúng! :)


3
Câu trả lời chỉ liên kết không hữu ích cho trang web, vì chúng tôi không cố gắng thiết lập một kho lưu trữ các liên kết. Hơn nữa, liên kết chỉ trả lời là vô ích nếu liên kết đi xuống trong tương lai. Sẽ tốt hơn nếu tóm tắt hoặc diễn giải nội dung trong chính câu trả lời để người dùng có thể tìm thấy những gì họ cần ở đây hoặc ít nhất là có được bối cảnh đầy đủ để có thể tự tìm giải pháp.
asheeshr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.