PIC Interrupts disebabkan oleh TMR0 melimpah

N

neoaspilet11

Guest
Hello Everybody, Mohon pertimbangkan hal ini:. 1) Misalkan kontrol program saat ini melayani sebuah Interrupt disebabkan oleh TMR0 Overflow, Gie bit dihapus. . 2) Selama Overflow Interrupt TMR0 pelayanan, sebuah Interrupt Eksternal di RB0 terjadi, itu adalah sisi kenaikan berlangsung dan RB0 sekarang adalah TINGGI - ini akan menyebabkan INTCON, INTF sedikit untuk TINGGI. 3.) Para TMR0 Overflow Interrupt layanan selesai, TMR0IF akan dihapus dan Gie adalah SET lagi. Setelah keluar kontrol program Interrupt service routine, akan mengganggu eksternal dilayani? Catat bahwa sisi kenaikan di RB0 sudah terjadi dan sudah TINGGI INTF adalah setelah TMR0 retfie dari layanan interupsi overflow. Terima kasih untuk setiap ide.
 
Hai, Dari lembar data PIC16F877A, halaman 153:
interupsi global yang memungkinkan bit, Gie (INTCON), memungkinkan (jika diatur) semua membuka kedok menyela atau menonaktifkan (jika dibersihkan) semua menyela. Ketika Gie bit diaktifkan dan bendera sedikit interupsi dan sedikit topeng ditetapkan, interupsi akan vektor segera .
Membaca lagi pertanyaan Menunjuk, saya nggak tahu mengapa Anda yang menonaktifkan Gie. Jika Anda sudah dalam mengganggu, RB0 tidak akan dilayani sampai mengganggu akan selesai. Posting apa yang ingin Anda lakukan dan mengapa, dan mungkin aku akan dapat memberi Anda cara lain untuk memecahkan masalah Anda. Semoga berhasil.
 
Saya pikir bahwa segera setelah Gie diatur lagi, Anda akan masuk ke dalam rutin layanan interupsi lagi ...
 
Terima kasih untuk orang-orang ide-ide, aplikasi saya akan menggunakan dua sumber interrupt, salah satu dari Eksternal - sebuah sisi kenaikan di RB0 dan TMR0 melimpah. TMR0 ini tidak pra skala sehingga akan kenaikan pada setiap siklus instruksi dan PIC877A saya digunakan adalah berjalan pada 20 MHz. Jadi oleh karena itu sangat mungkin bahwa setiap interupsi disebabkan oleh TMR0 overflow interrupt eksternal dan memiliki sedikit kesempatan untuk menjadi triggred. Aku sengaja Cleared Gie pada awal cuaca Interrupt disebabkan oleh TMR0 overflow atau Interrupt Eksternal ke aliran program simflipy dan coding. Aku tahu solusinya tadi malam. Dan itu adalah ketika interupsi terjadi baik dari TMR0 overflow atau Eksternal Pemicu RB0, aku harus jajak pendapat INTCON pertama, INTF untuk lihat adalah INFT adalah TINGGI. Ini jika tidak maka layanan TMR0 overflow. Lalu aku melihat bahwa ketika eksternal memicu terjadi selama melayani Overflow TMR0, INTCON, bendera akan INTF TINGGI. Jadi ketika setelah melayani TMR0 melimpah, bahkan jika tidak MPU layanan RB0 mengganggu, di overflow TMR0 berikutnya, layanan rutin interrupt akan dipaksa untuk melaksanakan layanan interupsi RB0 karena INTCON, INTF adalah TMR0 TINGGI sehingga melewati layanan Interrupt! Sekali lagi, terima kasih untuk ide-ide Jack
 
Hello Everybody, Mohon pertimbangkan hal ini:. 1) Misalkan kontrol program saat ini melayani sebuah Interrupt disebabkan oleh TMR0 Overflow, Gie bit dihapus. . 2) Selama Overflow Interrupt TMR0 pelayanan, sebuah Interrupt Eksternal di RB0 terjadi, itu adalah sisi kenaikan berlangsung dan RB0 sekarang adalah TINGGI - ini akan menyebabkan INTCON, INTF sedikit untuk TINGGI. 3.) Para TMR0 Overflow Interrupt layanan selesai, TMR0IF akan dihapus dan Gie adalah SET lagi. Setelah keluar kontrol program Interrupt service routine, akan mengganggu eksternal dilayani? Catat bahwa sisi kenaikan di RB0 sudah terjadi dan sudah TINGGI INTF adalah setelah TMR0 retfie dari layanan interupsi overflow. Terima kasih untuk setiap ide.
 
Hai, Dari lembar data PIC16F877A, halaman 153:
interupsi global yang memungkinkan bit, Gie (INTCON), memungkinkan (jika diatur) semua membuka kedok menyela atau menonaktifkan (jika dibersihkan) semua menyela. Ketika Gie bit diaktifkan dan bendera sedikit interupsi dan sedikit topeng ditetapkan, interupsi akan vektor segera .
Membaca lagi pertanyaan Menunjuk, saya nggak tahu mengapa Anda yang menonaktifkan Gie. Jika Anda sudah dalam mengganggu, RB0 tidak akan dilayani sampai mengganggu akan selesai. Posting apa yang ingin Anda lakukan dan mengapa, dan mungkin aku akan dapat memberi Anda cara lain untuk memecahkan masalah Anda. Semoga berhasil.
 
Saya pikir bahwa segera setelah Gie diatur lagi, Anda akan masuk ke dalam rutin layanan interupsi lagi ...
 
Terima kasih untuk orang-orang ide-ide, aplikasi saya akan menggunakan dua sumber interrupt, salah satu dari Eksternal - sebuah sisi kenaikan di RB0 dan TMR0 melimpah. TMR0 ini tidak pra skala sehingga akan kenaikan pada setiap siklus instruksi dan PIC877A saya digunakan adalah berjalan pada 20 MHz. Jadi oleh karena itu sangat mungkin bahwa setiap interupsi disebabkan oleh TMR0 overflow interrupt eksternal dan memiliki sedikit kesempatan untuk menjadi triggred. Aku sengaja Cleared Gie pada awal cuaca Interrupt disebabkan oleh TMR0 overflow atau Interrupt Eksternal ke aliran program simflipy dan coding. Aku tahu solusinya tadi malam. Dan itu adalah ketika interupsi terjadi baik dari TMR0 overflow atau Eksternal Pemicu RB0, aku harus jajak pendapat INTCON pertama, INTF untuk lihat adalah INFT adalah TINGGI. Ini jika tidak maka layanan TMR0 overflow. Lalu aku melihat bahwa ketika eksternal memicu terjadi selama melayani Overflow TMR0, INTCON, bendera akan INTF TINGGI. Jadi ketika setelah melayani TMR0 melimpah, bahkan jika tidak MPU layanan RB0 mengganggu, di overflow TMR0 berikutnya, layanan rutin interrupt akan dipaksa untuk melaksanakan layanan interupsi RB0 karena INTCON, INTF adalah TMR0 TINGGI sehingga melewati layanan Interrupt! Sekali lagi, terima kasih untuk ide-ide Jack
 

Welcome to EDABoard.com

Sponsor

Back
Top