Có nên giữ vững Arduino IDE không?


24

Có phải tốt hơn để chuyển đến phòng thu AVR (hoặc bất kỳ thay thế nào tốt hơn?) Qua Arduino IDE. Cảm thấy như nó thật đơn giản và trẻ con. Tôi cần biết ý tưởng và sự lựa chọn của các chuyên gia ..


1
Tại sao bạn không thử cho phòng thu AVR? Chỉ bạn mới có thể quyết định liệu nó có phù hợp với nhu cầu của bạn hay không và cái gì nhanh hơn / dễ dàng hơn cho bạn .
PetPaulsen

3
@PetPaulsen yeah, tôi biết đó là cách tốt nhất. Tôi sẽ làm điều đó sớm thôi (có thể là vào ngày mai). Nhưng chỉ muốn biết làm thế nào những người khác nhìn thấy điều này. Bạn cũng có thể học được nhiều thứ khác nữa ..
Anubis

Các Arduino Visual Studio Pro Plugin thời gian gần đây đã được cập nhật để hỗ trợ Atmel Studio 6.1 . Quá trình cài đặt chưa đến 10 phút, mọi bản phác thảo Arduino đều có thể được mở, chỉnh sửa, biên dịch, tải lên + nhiều tính năng khác như màn hình nối tiếp, trình thám hiểm ví dụ và trình gỡ lỗi Arduino USB
Visual Micro

Câu trả lời:


19

Một lợi thế rất lớn của việc sử dụng, ví dụ như AVR Studio là khả năng sử dụng tất cả các thư viện được tạo cho ATmega168 / 328 trước buổi bình minh của Arduino. Các thư viện FFT, thư viện để sử dụng một số IC tối nghĩa mà bạn đã mua, các bộ lọc kỹ thuật số thô sơ và nhiều bộ lọc khác có thể được tìm thấy trên AVRfreaks và hàng trăm trang web sở thích khác.

Bạn cũng có thể viết mã hiệu quả hơn nếu bạn học cách sử dụng các thư viện AVR tiêu chuẩn và nghiên cứu bảng dữ liệu (hoặc hướng dẫn) của vi điều khiển. Đối với các ứng dụng đơn giản, mã arduino rất dễ viết và gỡ lỗi. Tuy nhiên, đôi khi bạn muốn kiểm soát thời gian hiệu quả hơn. AnalogRead()cần 100 tựa đề để thực thi. Điều đó tương ứng với 10ksps (hàng ngàn mẫu mỗi giây). Bạn có thể dễ dàng bơm đến 70ksps nếu bạn truy cập mã cấp thấp cho ATmega168 / 328. Tất nhiên, bạn có thể làm tất cả những điều đó trong Arduino IDE, nhưng đến một lúc nào đó, các dự án của bạn có thể trở nên quá phức tạp và bạn sẽ muốn viết thư viện của riêng mình với các chức năng nhanh hơn. AVR Studio có thể phù hợp hơn cho điều đó.

Ngoài ra, nếu bạn muốn lập trình bất kỳ chip AVR nào ngoài các chip do Arduino cung cấp, bạn sẽ cần một lập trình viên và một IDE khác. Các dự án nhỏ sử dụng 1kB mã có thể được thực hiện trên ATtiny. Bạn có thể mua một tá trong số đó với giá của một ATmega328. Những con chip này rẻ và có hầu hết các khả năng của Arduino: I2C, SPI, ADC. Bạn thậm chí có thể tìm thấy các thư viện có thêm giao diện USB HID! Không có trình điều khiển nối tiếp hoặc bất cứ điều gì!

Cá nhân, trước tiên tôi viết mã trong Arduino IDE, không tối ưu hóa mã. Nếu nó hoạt động, mã đó có thể dễ dàng được sao chép vào các thư viện C ++ tiêu chuẩn và làm cho hiệu quả hơn.


26

Điều đó đơn giản bởi vì nó phải có thể truy cập được cho mọi người , và điều đó hoạt động: mọi người và em gái của anh ta có thể lập trình Arduino.

Nếu bạn cảm thấy bạn có thể xử lý một cái gì đó giống như Lập trình thực, tôi chắc chắn sẽ làm như vậy. Bạn sẽ phải viết nhiều mã hơn, nhưng cũng sẽ có nhiều quyền kiểm soát hơn. Một điểm quan trọng: thư viện Arduino hoạt động kém hiệu quả: các chức năng như DigitalWriteDigitalReadcó thể được thực hiện nhanh hơn tới 50 lần .


Wow, không bao giờ nhận ra đó là điều đó không hiệu quả. Tôi biết có những chi phí cao, nhưng ... wow.
Đa thức

2
Cảm ơn tin tức về DigitalRead/Write. Không bao giờ biết rằng ..
Anubis

7
@Anubis - Gần đây tôi mới phát hiện ra JeeLabs. Họ có một trong những blog tốt nhất tôi từng thấy. Chắc chắn nên đọc.
stevenvh

2
Có một câu hỏi cách đây một thời gian về việc tăng tốc IO kỹ thuật số Arduino: Electronics.stackexchange.com/questions/22585/
mẹo

12

Hầu hết các phản hồi đã tập trung vào việc sử dụng bảng Arduino như một bảng AVR tiêu chuẩn. Nhưng bạn cũng có thể sử dụng một IDE tiên tiến hơn và vẫn tận dụng sự đơn giản của các thư viện mã hóa và tích hợp Arduino (cùng với các nhược điểm đã đề cập ở trên). EngBlaze vừa thực hiện một hướng dẫn về điều này: Hướng dẫn: Sử dụng Atmel Studio 6 với các dự án Arduino


3

Arduino IDE giao dịch hiệu quả mã để thuận tiện và tốc độ phát triển cho các dự án nhỏ . Bởi vì các chuyên gia cũng có thời hạn , nên hoàn toàn có thể chấp nhận sử dụng Arduino IDE cho một bằng chứng nhanh chóng hoặc để giúp gỡ lỗi một dự án khác.

Nếu bạn muốn chuyên về phát triển phần mềm nhúng, bạn phải có thể sử dụng các công cụ phát triển mạnh hơn, chẳng hạn như AVR Studio, hoặc avr-gcc và IDE ưa thích của bạn.

Ngoài việc thành thạo các công cụ phát triển, học các hoạt động bên trong của vi điều khiển và biết một số lắp ráp chắc chắn là một lợi thế nếu bạn có ý định làm việc trên các hệ thống có bộ nhớ nhỏ, và / hoặc yêu cầu năng lượng thấp, và / hoặc hiệu suất cao.


Cảm ơn câu trả lời chi tiết, tôi thích điều đó. Tôi chắc chắn đồng ý với điều đó, đặc biệt là với điểm cuối cùng. Mặc dù tôi chưa quen với bộ xử lý Atmel, tôi biết thêm một chút về tổ chức bên trong của PIC và không thể sophức tạp mã lắp ráp. Mặc dù điều đó có vẻ hơi khó khăn, bạn có thể tìm hiểu chính xác cách thức hoạt động của vi điều khiển. Tôi nghĩ rằng nhiều người sẽ tìm thấy câu trả lời này hữu ích. Hy vọng bạn sẽ nhận được nhiều phiếu bầu hơn ,: D .. (và đây là câu trả lời đầu tiên của bạn, eh?).
Anubis

2
Ngày nay, hầu như không có bất kỳ tình huống nào mà việc thông thạo lắp ráp (có thể viết mã mà không cần nhìn liên tục trong tài liệu) là hữu ích cả. Nắm vững trình biên dịch của bạn , biết các kink của nó và các tùy chọn tốt, sẽ hữu ích hơn nhiều. Chúc may mắn.
Sylvain
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.