Saya telah menyematkan aplikasi yang menggunakan interupsi dan dma. Loop utama hanya mengirim data ke PC.
Bagaimana cara merancang diagram alir program? Bagaimana cara menunjukkan interupsi dan dma bekerja pada diagram alir?
Saya telah menemukan beberapa topik di google tentang diagram uml tertanam, dan beberapa pertanyaan di sana: Merancang perangkat lunak tertanam , tetapi belum menemukan contoh diagram seperti itu.
embedded
code-design
krzych
sumber
sumber
Jawaban:
Tampilkan diagram alur kerja secara independen, satu untuk loop utama, satu untuk DMA dan yang lainnya untuk interupsi.
Karena interupsi dipicu oleh peristiwa eksternal (seperti siap ADC, timer, interupsi eksternal) itu tidak dapat di loop utama.
Tepat di awal alur kerja, letakkan judulnya di lingkaran, misalnya: "Utama", "EXT_INT", "DMA", dll.
Semoga berhasil!
sumber
Maaf, tetapi Anda tidak dapat menampilkan beberapa alur kerja terpisah pada satu diagram alur yang terhubung. Jarang ada tempat umum dari mana kontrol mainloop terganggu oleh peristiwa eksternal (interrupt) -> sehingga titik koneksi antara aliran utama dan interrupt handler tidak dapat dijelaskan pada diagram alir.
Satu-satunya cara adalah menggambar beberapa diagram yang menunjukkan alur kerja urutan yang dapat berjalan "secara paralel" (proses RTOS) atau memblokir satu sama lain (Interrupts). Urutan-urutan itu akan memiliki posisi awal mereka ditandai oleh RESET, EXT_DATA_READY_EVENT atau nama bermakna lainnya yang menggambarkan awal dari alur eksekusi untuk bagan ini. Setiap urutan akan memiliki ujungnya sendiri atau bahkan tidak memiliki penanda ujung.
Diagram alir ini dapat berbagi flag / variabel yang sama untuk menunjukkan saling ketergantungan.
Sequence diagram mungkin juga berguna untuk Anda, tetapi saya kira - itu bukan yang Anda inginkan terutama.
sumber