Ngôn ngữ Arduino khác với ngôn ngữ Atmel Studio như thế nào? [đóng cửa]


7

Tôi thấy rằng trên trang web chính thức của Arduino, trang tham chiếu chứa các hàm và giá trị bạn sẽ sử dụng được chỉ định cho trình biên dịch Arduino.

http://arduino.cc/en/Reference/HomePage

Thay vào đó, bạn sẽ sử dụng cái gì, nếu bạn đang làm việc với Atmel Studio?


2
Ngôn ngữ là như nhau. Các biểu tượng có sẵn là khác nhau.
Ignacio Vazquez-Abrams

Vâng, tôi đồng ý với Ignacio. tôi nghĩ bạn nên học ngôn ngữ C.
Roh

4
Câu hỏi này dường như lạc đề vì nó không liên quan đến thiết kế điện tử.
Leon Heller

Câu trả lời:


6

Ngôn ngữ là như nhau. Bạn có thể có thể sử dụng Arduino IDE hoặc Atmel Studio ( http://www.engblaze.com/tutorial-using-atmel-studio-6-with-arduino-projects/ ) Các Arduino THƯ VIỆN là chi tiết của một wrapper để làm cho nó dễ dàng để làm mọi thứ, như digitalWrite, cái mà bạn không có theo mặc định trong Atmel Studio (hoặc bạn có thể tự xác định nó). Với Atmel Studio, bạn sẽ lật một chút trong đăng ký để bật cổng kỹ thuật số. Bây giờ đối với AtMega2560 và AtMega328 các thanh ghi này là khác nhau. Vì vậy, bạn không thể biên dịch cùng một nguồn và hy vọng nó sẽ chạy trên cả hai MCU khi sử dụng các thanh ghi. Tất nhiên, một lần nữa, bạn có thể chỉ định một cờ trình biên dịch mà bạn hiện đang sử dụng AtMega2560 hoặc AtMega328 và xác định các thanh ghi trong hàm digitalWrite của riêng bạn và đó chính xác là những gì thư viện Arduino đang làm cho bạn.

Bạn có thể chọn sử dụng Thư viện Arduino trong khi làm việc trong Atmel Studio hoặc bạn có thể chọn sử dụng các hoạt động đăng ký gốc để chuyển các bit và tiếp tục sử dụng Arduino IDE. Để có được Atmel Studio chạy với thư viện Arduino và anh chàng AVR yêu cầu một số thiết lập, nhưng nó có thể có giá trị, tùy thuộc vào mức độ lớn của dự án mã của bạn. Atmel Studio dựa trên microsofts Visual Studio với đề xuất / hoàn thành mã và intellisense mã có thể tăng tốc đáng kể sự phát triển của mã.


Thao tác hẹn giờ 0 trong khi sử dụng thư viện Arduino là một ý tưởng tồi.
Ignacio Vazquez-Abrams

Hướng dẫn: Sử dụng Atmel Studio 6 với các dự án Arduino: engblaze.com/... cũng có liên quan: forum.arduino.cc/index.php/topic,123267.0.html
Connor Wolf

2

Một cái gì đó có sẵn khi sử dụng Atmel Studio là Khung phần mềm Atmel cung cấp một số trừu tượng hóa phần cứng như các thư viện Arduino. Nó cho phép cùng một mã (trong lý do) chạy trên nhiều nền tảng Atmel bao gồm cả AVR và các sản phẩm dựa trên ARM của họ. Tôi mới chỉ bắt đầu sử dụng nó cho một dự án mới nhưng đây là một ví dụ về một số mã:

#define RADIO_RX IOPORT_CREATE_PIN(PORTA, 0)
ioport_set_pin_dir(RADIO_RX, IOPORT_DIR_INPUT);
data_in = ioport_get_pin_level(RADIO_RX);

Nó dường như hỗ trợ rất tốt cho các thiết bị ngoại vi trên chip như USB, SPI, USART, v.v. trong phạm vi của chúng. Nó cũng có một số hỗ trợ cho các thiết bị ngoại vi bên ngoài như thẻ SD với ngăn xếp phần mềm FAT và một số màn hình LCD mặc dù về mặt đó có vẻ như nó bị hạn chế khá nhiều đối với các thiết bị họ sử dụng trên bảng phát triển.

Mặc dù ngôn ngữ là cùng một thứ có thể thêm vào đường cong học tập, nhưng có lẽ bạn sẽ tìm thấy ít mã ví dụ và thư viện cấp cao sử dụng ASF, ví dụ như giao diện với bộ thu phát RF hoặc bộ thu GPS cụ thể.

Thông thường, mặc dù các loại thư viện cố gắng che giấu lớp phần cứng quá nhiều có thể dẫn đến các sự cố không mong muốn khi bạn không biết hoạt động cơ bản và cách mọi thứ sẽ hoạt động cùng nhau. Từ quan điểm đó, tôi nghĩ rằng ASF cung cấp một mức độ trừu tượng tốt để làm cho mọi thứ dễ đọc và chuyển đổi giữa các thiết bị Atmel trong khi vẫn kiểm soát tốt phần cứng.

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.