![]() |
hỏi về cách sử dụng nhiều ngắt một lúc !!!
em viết bằng assem giờ đang gặp vấn đề đó là bây giờ em muốn sử dụng hai ngắt giả sử ngắt timer1 và ngắt truyền thông . Các bác cho em hỏi cách viết hai chương trình ngắt đó như thế nào ?mong nhận được sự giúp đỡ của các bác !!!!!!!!!
|
Trích:
Thân, |
vâng em quên mất ! em dùng con pic6f877a. mong bác chỉ giúp !em chưa biết cách viết một chương trình có nhiều ngắt thì viết thế nào ?
|
Trích:
Giả sử bạn muốn dùng ngắt Timer 1 và ngắt của module UART, bạn có thể lần lượt xét cờ ngắt Timer 1 và xử lý nếu có ngắt Timer 1, và xét cờ ngắt UART và xử lý nếu có ngắt UART. Với cách làm này, hai ngắt không có ràng buộc với nhau, nhưng cần chú ý để việc xử lý ngắt Timer 1 không làm trì hoãn việc xem xét ngắt UART quá mức. Thân, |
cảm ơn bác !em thử nói theo ý hiểu của em như thế này bác xem có đúng không nha ? Con pic 16f877a chỉ có 1 vector ngắt tức là mình sẽ chỉ viết 1 chương trình ngắt(ý em là viết sau đoạn org 0x0004 chẳng hạn ) trong đoạn đó sẽ có hai chương trình xử lý ngắt khác nhau ( giả sử ngắt timer1 và ngắt usart) do mình tự viết đoạn đầu của nó cần xét xem cờ ngắt ngắt nào được set thì sẽ nhảy vào đoạn chương trình tương ứng .như vậy là khi có bất kì ngắt nào nó sẽ nhảy về địa chỉ 0x0004 sau đó kiểm tra cờ ngắt(do mình tự viết) rồi nhảy vào đoạn chương trình ngắt tưng ứng .mong bác chỉ giúp !
|
Trích:
Thân, |
còn trong ccs mình viết thế nao nhỉ! minh viết vầy không biết đúng không:
#INT_EXT EXT_ISR() { } #time0_EXT time0_ISR() { } |
Múi giờ GMT. Hiện tại là 04:34 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam