![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#3 |
Trưởng lão PIC bang
|
Viết như sau (lấy ví dụ xử lý UART và ngắt INT1 ở phần low priority, thứ tự xét là UART rồi đến INT1):
Code:
void dclk_handler( void ); //RB0 void rx_handler( void ); //uart void reset_button(void); //RB1 #pragma code dclk_interrupt = 0x08 void high_vector( void ) { _asm goto dclk_handler _endasm } #pragma code low_interrupt = 0x18 #pragma interruptlow low_vector void low_vector(void) { //code gọi các hàm xử lý các ngắt low priority if (PIR1bits.RCIF) rx_handler(); if (INTCON3bits.INT1IF) reset_button(); } #pragma code #pragma interrupt dclk_handler void dclk_handler(void) { //code của phần high priority } void rx_handler(void) { //code cho xử lý ngắt UART } void reset_button(void) { //code cho xử lý ngắt INT1 } Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 25-07-2007 lúc 10:31 PM. |
![]() |
![]() |
|
|