Ðăng Nhập

View Full Version : ưu tiên ngắt trong CCS cho PIC16F877 ??????


fan.pic
18-07-2012, 03:56 PM
mình đang làm đề tài PID động cơ servo. dùng 3 ngắt:
#int_RDA: truyền dữ liệu ( kp,ki,kd,tocdo) từ máy tính xuong chip
#int_ext: ngắt ngoài để đếm xung encoder
#int_timer1: dùng để đo tốc độ động cơ
timer2 dùng cho PWM

vấn đề là: ngắt ngoài bị xãy ra liên tục, vậy làm sao để các ngắt khác hoạt động được, mình nghĩ là nên thiết lập mức ưu tiên ngắt trong chương trình chính. nhưng ko biết thiết lập như thế nào và thứ tự ưu tiên ra sao??????
Mong mọi người giúp mình một tay

longtu
18-07-2012, 04:28 PM
mình đang làm đề tài PID động cơ servo. dùng 3 ngắt:
#int_RDA: truyền dữ liệu ( kp,ki,kd,tocdo) từ máy tính xuong chip
#int_ext: ngắt ngoài để đếm xung encoder
#int_timer1: dùng để đo tốc độ động cơ
timer2 dùng cho PWM

vấn đề là: ngắt ngoài bị xãy ra liên tục, vậy làm sao để các ngắt khác hoạt động được, mình nghĩ là nên thiết lập mức ưu tiên ngắt trong chương trình chính. nhưng ko biết thiết lập như thế nào và thứ tự ưu tiên ra sao??????
Mong mọi người giúp mình một tay

Với mọi PIC bạn có thể: Ưu tiên ngắt(Ngắt được yêu tiên sẽ kiểm tra cờ ngắt trước):
- Khai bao: #priority [loai ngắt].
- Ví dụ: #priority RDA //Yêu tiên ngắt RS232.

Chỉ với PIC18: Có thêm Yêu tiên ngắt cấp 2
- Khai bao:
+ #device high_ints=true
+ Ex: #int_RDA FAST/HIGT
FAST: Chi su dung duy nhat cho 1 ngat
HIGT: Su dung cho nhieu ngat duoc

Bạn đọc thêm ở đây: http://www.dientumaytinh.com/2012/02/lap-trinh-pic-cac-ngat-trong-pic.html
Thân,

fan.pic
18-07-2012, 04:40 PM
Với mọi PIC bạn có thể: Ưu tiên ngắt(Ngắt được yêu tiên sẽ kiểm tra cờ ngắt trước):
- Khai bao: #priority [loai ngắt].
- Ví dụ: #priority RDA //Yêu tiên ngắt RS232.

Chỉ với PIC18: Có thêm Yêu tiên ngắt cấp 2
- Khai bao:
+ #device high_ints=true
+ Ex: #int_RDA FAST/HIGT
FAST: Chi su dung duy nhat cho 1 ngat
HIGT: Su dung cho nhieu ngat duoc

Bạn đọc thêm ở đây: http://www.dientumaytinh.com/2012/02/lap-trinh-pic-cac-ngat-trong-pic.html
Thân,

đầu tiên cám ơn bạn nhiều !!! mình gửi bạn file CCS của mình, bạn biên dịch hộ mình, mình biên dịch báo 0 errors và 1 warming. mình tìm mãi trên mạng mà ko xử lý được.
bạn giúp mình với nha