Tôi đang xem xét triển khai một máy trạng thái hữu hạn không tầm thường (được chỉ định là statechart phân cấp UML) trên MCU 32 bit với gcc.
Có bất kỳ quy tắc ngón tay cái nào hoạt động tốt hơn và những gì hoạt động kém hơn? Ruột của tôi nói rằng việc triển khai dựa trên chuyển đổi (hoặc thậm chí là tính toán goto) nên có hiệu suất cao hơn một chút trong khi bảng chuyển đổi dựa trên con trỏ hàm thường được cho là dễ bảo trì hơn.
Ngoài ra: có ai đã đánh giá Boost MSM cho các ứng dụng nhúng chưa? Tôi biết rằng Boost MSM thường được ca ngợi là rất hiệu quả, nhưng đối với hiệu quả của các ứng dụng nhúng có thể được đo lường khác với thế giới lập trình PC.
Có ai biết máy công cụ trạng thái biên dịch của MSM trông như thế nào không? Giống như một công tắc có thể jumptable hoặc giống như một bảng chuyển đổi con trỏ hàm? Nó sử dụng phân bổ bộ nhớ động hay nó có thể được sử dụng tĩnh?