![]() |
![]() |
#1 |
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
Hỏi về ngắt INT0
em có viết 1 đoạn chương trình như sau
Code:
void main() { x=1; set_TRIS_A(1); EXT_INT_EDGE(0,L_TO_H); enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); while (x==1) { output_toggle(PIN_E0); delay_ms(100); output_toggle(PIN_E1); delay_ms(100); output_toggle(PIN_E2); delay_ms(100); } #INT_EXT void ngat() { x=0; } Ai biết xin chỉ giúp, em xin cám ơn nhiều. thay đổi nội dung bởi: npbaoduy, 17-03-2009 lúc 11:14 PM. Lý do: định dạng code |
![]() |
![]() |
![]() |
#2 |
Đệ tử 6 túi
Tham gia ngày: Apr 2006
Bài gửi: 125
: |
Hình như bạn viết thiếu dấu } của hàm main
còn lỗi theo mình là do sau vòng while(x==1) bạn không có bất kỳ lệnh nào tiếp nên vđk sẽ reset và chạy lại từ đầu, cần đặt một vòng while(1); vào cuối chuơng trình main để tránh hiện tượng này |
![]() |
![]() |
![]() |
#3 |
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
cám ơn bạn, mình sẽ thử lại
Cũng như trên, mình viết thêm void ngat() { if (PIN_a0==1) x=0; } CCS luôn warning là: Condition always FALSE Ý mình muốn là khi ngắt sẽ kiểm tra PIN A0, xem PIN này mức cao hay thấp để thực hiện lệnh gì đó, vậy có ai có gợi ý giúp mình ko? |
![]() |
![]() |
![]() |
#4 | |
Trưởng lão PIC bang
|
Trích:
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 |
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
cám ơn anh namqn, tại em cũng mới dùng CCS, chưa biết hàm INPUT này, em sẽ nghiên cứu kỹ lại.
|
![]() |
![]() |
![]() |
|
|