Tôi đang tìm cách tích hợp một giao diện lệnh trong một dự án mà tôi đang thực hiện sẽ chấp nhận các lệnh quá nối tiếp từ PC.
Ý tưởng là thiết bị sẽ làm việc của nó nhưng nó được gửi một lệnh, nó sẽ thực hiện nó. Điều này khác với hầu hết các ví dụ tôi đã quản lý để tìm thấy, đây chỉ là một thiết bị chạy không tải đang chờ dữ liệu nối tiếp.
Vì vậy, ví dụ, một thiết bị điều khiển đèn LED và phát hình động. Hãy nói rằng có 3 hình động được cài đặt sẵn và khi bật, nó luôn phát số 1. Về phía PC, tôi sẽ gửi lệnh 'phát trước cài đặt 2' hoặc 'đổi màu thành màu xanh lá cây' hoặc gửi hoạt hình thời gian thực tới thiết bị để chơi trên đèn LED.
Vì vậy, câu hỏi của tôi là tôi không thể tìm thấy nhiều thông tin về "mẫu thiết kế" này? Tôi không biết bắt đầu từ đâu. Gần nhất tôi đã đến là các thư viện phân tích cú pháp nối tiếp arduino được tạo sẵn. Tuy nhiên tôi đang tìm kiếm thêm phương pháp C / non arduino / lý thuyết.
Tôi đã xem xét các giao thức nối tiếp nhưng đó chỉ là những thứ như SPI và I2C, v.v., không thực sự là cách thực hiện giao diện điều khiển / lệnh trong phần mềm.
Tôi cũng đã tìm hiểu về HDLC, một lần nữa mặc dù nó dường như là một giao thức chuẩn / giao thức hơn. Một chủ đề tương tự là /programming/1445387/how-do-you-design-a-serial-command-protatio-for-an-embedded-system Có một số thông tin rất hay nhưng một lần nữa với giao thức / giao tiếp chính nó.
Tôi đang cố gắng tìm cách mã hóa / thực hiện điều này để tạo ra một lệnh hoặc khả năng kiểm soát.
Tôi có sử dụng vòng lặp vô hạn để giám sát và bắt nối tiếp cho lệnh đến không và sử dụng danh sách các câu lệnh IF để chọn lệnh nào sẽ thực hiện, nhưng sau đó điều gì xảy ra khi không có lệnh và hệ thống sẽ bình thường hoặc nếu nó bỏ lỡ một lệnh?
Ngắt lái, máy nhà nước?
Có một tên chính thức cho điều này có thể được sử dụng để nghiên cứu và tìm ví dụ?
BIÊN TẬP:
Đối với bất kỳ ai có cùng câu hỏi, tôi đã tìm thấy ví dụ thực sự hay này khi nghiên cứu, http://www.adnbr.co.uk/articles/parsing-simple-usart-commands