Có thể lập trình một Arduino trong các ngôn ngữ khác?


11

Có thể lập trình Arduino với các ngôn ngữ khác không dựa trên C / C ++ không? Điều gì sẽ được yêu cầu để làm như vậy? Tôi biết rằng các IDE khác đều có sẵn, tôi tò mò về các ngôn ngữ lập trình thực tế, như có thể viết mã Arduino bằng Python, làm ví dụ.


Tôi đã chỉnh sửa câu hỏi để làm rõ rằng tôi đang nói về ngôn ngữ, không phải IDE.
nathangiesbrecht

2
Nếu C # là thứ của bạn, hãy xem Netduino.
Kevin Mark

1
@KevinMark Có một vấn đề nhỏ là anh ta có thể không sử dụng được Netduino (chẳng hạn như cần thêm các cổng của Mega).
Polar

@Polar Tôi tin rằng Netduino Go có các tùy chọn kết nối bổ sung.
Kevin Mark

1
@powtac String là Arduino cụ thể? Tôi tự hỏi tại sao tôi có rất nhiều trong mã của mình sau đó ...
Polar

Câu trả lời:


5

Chắc chắn có thể sử dụng các ngôn ngữ thay thế để phát triển với Arduino, không nhất thiết phải sử dụng IDE tiêu chuẩn. Cuối cùng, mã C / C ++ được tập hợp thành mã byte cho chip AT trên bo mạch Arduino. Một ngôn ngữ bạn có thể sử dụng là Céu , phiên bản C / C ++ cấp cao hơn. Vấn đề chính mà bạn sẽ gặp phải là tìm một trình biên dịch cho ngôn ngữ bạn chọn - vào cuối ngày, bạn có thể tự viết - tuy nhiên, điều này đòi hỏi phải có sự hiểu biết sâu sắc về C / C ++. Do đó, có lẽ tốt nhất là gắn bó với C / C ++, ít nhất là trong thời điểm hiện tại.

EDIT: Bạn đã hơi trả lời lại câu hỏi của bạn, vì vậy, có thể lập trình Arduino của bạn bằng Python (lựa chọn ngôn ngữ kém, mặc dù đó chỉ là ý kiến ​​của tôi), nhưng bạn sẽ cần một IDE / trình biên dịch tùy chỉnh khác vì những lý do ở trên. Ngoài ra, bạn sẽ phải cẩn thận khi liên kết các thư viện được viết bằng ngôn ngữ khác cho Arduino (vì tất cả đều là C / C ++).


Nó thực sự không thể chạy python trên arduino (ngoại trừ Arduino Mega, dù sao đi nữa). Dự án python-on-a-chip đang làm việc với thời gian chạy python nhỏ gọn và nó cần ít nhất ~ 8KB SRAM.
Sói Connor

1
Python thực sự, thực sự không phù hợp với môi trường nhỏ, bị hạn chế bộ nhớ.
Sói Connor

2
@ConnorWolf Hai điểm: 1) Việc tôi sử dụng Python làm ví dụ như trong câu hỏi - Tôi không thích Python dù sao. 2) Về mặt lý thuyết, bạn có thể chuyển đổi Python thành C và sau đó bạn sẽ tránh được nhu cầu về thời gian chạy Python trên bộ nạp khởi động.
Polar

1

Dường như hiện tại không có cách nào dễ dàng mã hóa Arduino trong bất cứ điều gì ngoại trừ Hội / C / C ++ (và Céu như được đề cập trong câu trả lời của Polar - mặc dù điều này chỉ được dịch sang C ++). Có nhiều ngôn ngữ mà bạn có thể giao tiếp với arduino .

Tuy nhiên, trên lý thuyết thì không phải là không thể. Bạn chỉ cần viết một trình biên dịch cho chip và xác định các hàm dựng sẵn, sau đó truyền mã được biên dịch qua cổng nối tiếp. Hoặc bạn có thể viết một trình dịch python-to-c ++ và làm cho nó hoạt động.

Nếu bạn có sở thích về .NET, bạn có thể muốn kiểm tra Netduino . Dường như cũng có một môi trường thời gian chạy Java cho AVR, được gọi là NanoVM . Ngoài ra còn có dk-basic cho BASIC. Tôi đã không thử bất kỳ trong số này, mặc dù.

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.