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 ..
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 ..
Câu trả lời:
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.
Đ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ư DigitalWrite
và DigitalRead
có thể được thực hiện nhanh hơn tới 50 lần .
DigitalRead/Write
. Không bao giờ biết rằng ..
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
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.
so
phứ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?).