2010-03-27 17 views

Trả lời

3

Bạn sẽ phải có một sơ đồ lưu lượng riêng biệt để xử lý ngắt. Flowcharts có nghĩa là để hiển thị dòng chảy của kiểm soát, và ngắt, bởi bản chất của họ, là một break trong dòng điều khiển.

+2

Ok, quá trình xử lý ngắt là một quy trình riêng biệt. Nhưng làm thế nào tôi có thể đại diện cho nó trong quá trình chính, ví dụ? –

+0

tốt, đó là điều - nếu quá trình chính là chạy tự do, bạn không biết nó sẽ ở đâu khi ngắt xảy ra. Với một số ứng dụng thời gian thực nhúng bạn đôi khi nhìn thấy 'xử lý chính' được đồng bộ với một ngắt, trong trường hợp lưu đồ của bạn có thể có khối 'chờ ngắt', nhưng ngược lại bạn có thể tranh luận rằng trong các hệ thống như vậy toàn bộ hệ thống chỉ là một xử lý ngắt. – JustJeff

0

Tôi sẽ thiết lập một sơ đồ trạng thái hữu hạn đại diện cho các trạng thái điều khiển thông thường và trạng thái ngắt; mỗi trạng thái sẽ là một phần tử cấp khối chứa một sơ đồ biểu đồ.

0

Thông thường, không có hệ điều hành hoặc thư viện tác vụ, các ngắt chỉ gắn cờ một biến mà sau đó tác động đến luồng. Tôi nghĩ @JustJeff đã đúng.

1

Tùy thuộc vào cấu trúc sơ đồ, có thể có ý nghĩa nhất để có nguồn gốc gián đoạn từ nút/hộp không lấy được từ nút/hộp khác, vì theo định nghĩa, ngắt không phát ra từ luồng phần mềm bình thường (trừ khi đó là phần mềm gián đoạn được kích hoạt). Nó có thể có ý nghĩa để có nó trên một biểu đồ dòng chảy riêng biệt, hoặc để hiển thị nó với phần còn lại của sơ đồ tùy thuộc vào việc nó có thể kích hoạt hành vi trong dòng chảy chính của biểu đồ.

2

Thông thường ngắt liên lạc với chức năng "chính" của bạn (hoặc các gián đoạn khác cho vấn đề đó) thông qua việc sử dụng các biến toàn cục "được chia sẻ" trong các hệ thống nhúng dựa trên C. Tôi nghĩ rằng một cách hợp lý để đại diện cho điều này trong một biểu đồ dòng chảy là sử dụng một đường đứt đoạn giữa các khối xử lý nơi dòng chảy chương trình tác động "truyền thông" như vậy.