Tôi đồng ý với Joby - Arduino rất tuyệt nhưng tôi luôn cảm thấy ngột ngạt bởi khuôn khổ mà chúng bao quanh tôi. Tôi sẽ chuyển sang sử dụng C thẳng trên Arduino của bạn và xây dựng nhiều chức năng thư viện mà họ cung cấp từ đầu. Tôi thường thích độ sâu trước chiều rộng - không chỉ bắt đầu trên một họ vi điều khiển khác bằng cách sử dụng các khung được cung cấp nhiều hơn. Tìm hiểu thêm một chút về cách tự thực hiện một số chức năng này.
Bắt đầu với một chương trình làm việc và thay thế các cuộc gọi thư viện Arduino bằng các phiên bản của riêng bạn một chức năng tại một thời điểm. Bạn sẽ tìm hiểu rất nhiều về các thanh ghi điều khiển, thời gian, hoạt động bit, v.v. nếu bạn chưa có. Đọc bảng dữ liệu ATMega328 chuyên sâu - mọi thứ bạn cần đều có trong đó.
Hãy thử một IDE khác như AVR Studio hoặc Code :: Blocks. Tìm hiểu chuỗi công cụ GCC. Hãy thử các kỹ thuật mã hóa nâng cao hơn - kiểm tra đơn vị, bảo hiểm, định hình, kiểm tra lint / nẹp. Đặt một RTOS trên Arduino.
Một lập trình viên / bộ điều khiển kết hợp không phải là dấu hiệu của sự yếu kém - đó chỉ là một sự lựa chọn thiết kế. "Điểm yếu" duy nhất có thể đến từ đó là thiếu gỡ lỗi trong mạch. Mua một con rồng AVR và bạn sẽ được liếm với giá 50 đô la.