|
Tài trợ cho PIC Vietnam |
Câu hỏi dsPIC thường gặp Những vấn đề liên quan tới dsPIC30 và dsPIC33 và PIC24 |
|
Ðiều Chỉnh | Xếp Bài |
|
31-10-2007, 02:40 PM | #1 |
Đệ tử 4 túi
Tham gia ngày: Jul 2007
Bài gửi: 66
: |
khai báo ngắt trong C30 như thế nào?
tôi mới tập viết chương trình bằng C30,đang làm về ngắt,tôi thấy bác Nam viết chương trình mẩu có xài ngắt timer1,ngắt ADC nhưng tôi dịch thử mấy file này thì chương trình nó warning là
PSV model not specified for '_ADCInterrupt' đối với ngắt ADC,mấy cái ngắt này khai báo ở đâu và làm sao chương trình nó biết chương trình con này "void _ISR _ADCInterrupt(void)" là phục vụ ngắt ADC,tiện đây cho hỏi chưong trình con phục vụ ngắt PWM là "void _ISR _PWMInterrupt(void)" phải ko? trong chương trình tôi đã add đủ 30f4011.h và 30f4011.gld |
31-10-2007, 05:40 PM | #2 | |
Trưởng lão PIC bang
|
Trích:
Code:
void _ISR _T1Interrupt(void) Code:
void _ISR_PSV _T1Interrupt(void) Code:
#define _ISR_PSV __attribute__((interrupt, auto_psv)) - Chẳng hạn, ngắt cho PWM nên được đặt tên là '_PWMInterrupt'. Và bạn định nghĩa nó theo cú pháp mới mà tôi đã nói ở trên, nếu bạn đang dùng C30 phiên bản 3.x trở lên, nghĩa là Code:
void _ISR_PSV _T1Interrupt(void) 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 |
|
31-10-2007, 10:52 PM | #3 |
Đệ tử 4 túi
Tham gia ngày: Jul 2007
Bài gửi: 66
: |
cảm ơn bác Nam đã giải thích,em đã thử dịch chương trình ví dụ 5.1 của bác,em bỏ phần biến đổi ADC chỉ xuất PWM giá trị cố định nhưng ko hiểu sao các chân PWM3H và PWM3L ko chạy,còn các chân khác xuất bình thường,có khi nào các chân I/O này đã hư, hỏi thêm bác về phần thạch anh,con 30f4011 cho chạy đến 30 MIPS,em xài thạch anh 8Mhz cho chạy chế độ XT PLL16 tính ra là over clock nhưng nó vẫn cứ chạy bình thường ko biết nếu chạy như vậy có đảm bảo pic làm việc đúng ko?
p/s :em có sửa lại cho nó chạy chế độ complementary thay đổi nội dung bởi: sandro_bk, 31-10-2007 lúc 10:58 PM. |
01-11-2007, 12:41 AM | #4 | |
Trưởng lão PIC bang
|
Trích:
Nếu bạn chỉ dùng ít ngoại vi thì chip có thể không bị nóng lắm, khi đó bạn sẽ có thể chạy ở 32 MIPS. Tuy nhiên, chế độ làm việc này không được Microchip bảo đảm. Để học tập thì có lẽ bạn không cần Microchip đảm bảo các chỉ tiêu kỹ thuật. 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 |
|
01-11-2007, 01:26 AM | #5 |
Đệ tử 4 túi
Tham gia ngày: Jul 2007
Bài gửi: 66
: |
em khai báo đúng như bác nói,còn cái này nữa,em thử khai báo cho port E là TRISE = 0xFFC3,nhưng RE0,RE1 vẫn xuất PWM ko biết sao nữa
|
01-11-2007, 05:04 PM | #6 |
PIC Bang chủ
|
C30 Compiler User's Guide:
Bạn xem tài liệu này chương 7, nó trình bày tất cả các cách viết hàm ngắt với C30, các vấn đề khác của C30 cũng được đề cập trong tài liệu này. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|
|