PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 30-07-2010, 04:13 PM   #1
DIEP
Đệ tử 1 túi
 
Tham gia ngày: Oct 2007
Bài gửi: 15
:
HỎi vỀ ngẮt trong ngẮt

Xin các bạn cho hỏi : Tôi đang viết 1 chương trình dùng ngắt capture . Khi còn đang thực hiện chương trình ngắt này chưa xong thì lại xảy ra ngắt (cũng chính loại ngắt này) . Như vậy liệu có thể ngắt khi đang thực hiện ngắt được không và nếu được thì nên viết theo hướng nào và cần lưu ý vấn đề gì ? Xin cảm ơn .
DIEP vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-07-2010, 06:55 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi DIEP View Post
Xin các bạn cho hỏi : Tôi đang viết 1 chương trình dùng ngắt capture . Khi còn đang thực hiện chương trình ngắt này chưa xong thì lại xảy ra ngắt (cũng chính loại ngắt này) . Như vậy liệu có thể ngắt khi đang thực hiện ngắt được không và nếu được thì nên viết theo hướng nào và cần lưu ý vấn đề gì ? Xin cảm ơn .
Dù bạn dùng loại PIC nào thì việc xảy ra chính loại ngắt đang được xử lý sẽ không làm gián đoạn việc xử lý ngắt trước đó, vì mức độ ưu tiên ngắt (nếu PIC đang dùng có nhiều mức ưu tiên ngắt) là như nhau (do cùng một loại ngắ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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-07-2010, 07:18 PM   #3
dcn_dt
Đệ tử 1 túi
 
Tham gia ngày: Oct 2009
Bài gửi: 12
:
trong datasheet của PIC8F4331, phần ngắt có đoạn như thế này
"Interrupt flag bits are set when an interrupt condition occurs, regardless of the state of its corresponding enable bit or the global enable bit. User software should ensure the appropriate interrupt flag bits are clear prior to enabling an interrupt. This feature allows for software polling."

Em lần mò một hồi thì hiểu được cái này:
" Bit cờ ngắt được thiết lập khi thỏa mãn các điều kiện ngắt, bất kể trạng thái của bit cho phép ngắt của ngắt tương ứng, hoặc bit cho phép ngắt toàn cục.
Người sử dụng phần mềm phải đảm bảo xóa các bit cờ ngắt trước khi cho phép sảy ra ngắt. Tính năng này cho phép…………????"
Khống biết nên hiểu thế nào về cái "This feature allows for software polling ". mong mọi ngưởi giúp đỡ.
dcn_dt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-07-2010, 11:17 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi dcn_dt View Post
trong datasheet của PIC8F4331, phần ngắt có đoạn như thế này
"Interrupt flag bits are set when an interrupt condition occurs, regardless of the state of its corresponding enable bit or the global enable bit. User software should ensure the appropriate interrupt flag bits are clear prior to enabling an interrupt. This feature allows for software polling."

Em lần mò một hồi thì hiểu được cái này:
" Bit cờ ngắt được thiết lập khi thỏa mãn các điều kiện ngắt, bất kể trạng thái của bit cho phép ngắt của ngắt tương ứng, hoặc bit cho phép ngắt toàn cục.
Người sử dụng phần mềm phải đảm bảo xóa các bit cờ ngắt trước khi cho phép sảy ra ngắt. Tính năng này cho phép…………????"
Khống biết nên hiểu thế nào về cái "This feature allows for software polling ". mong mọi ngưởi giúp đỡ.
Câu đó có thể hiểu là "Tính năng này cho phép sử dụng kỹ thuật hỏi vòng".

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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-07-2010, 12:14 AM   #5
dcn_dt
Đệ tử 1 túi
 
Tham gia ngày: Oct 2009
Bài gửi: 12
:
Trích:
Nguyên văn bởi namqn View Post
Câu đó có thể hiểu là "Tính năng này cho phép sử dụng kỹ thuật hỏi vòng".

Thân,
Anh có thể nói rõ vấn đề này ko. có ví dụ cụ thể thì em cảm ơn lắm lắm. Làm luôn cai TUT thì hay quá. Em mới làm quen với PIC. mong mọi người kiên nhẫn và tận tình giúp đỡ
dcn_dt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-07-2010, 08:28 PM   #6
tdungk7
Đệ tử 1 túi
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Ho Chi Minh city
Bài gửi: 20
:
Trích:
Nguyên văn bởi DIEP View Post
Xin các bạn cho hỏi : Tôi đang viết 1 chương trình dùng ngắt capture . Khi còn đang thực hiện chương trình ngắt này chưa xong thì lại xảy ra ngắt (cũng chính loại ngắt này) . Như vậy liệu có thể ngắt khi đang thực hiện ngắt được không và nếu được thì nên viết theo hướng nào và cần lưu ý vấn đề gì ? Xin cảm ơn .
Đối với những loại PIC (12,16, dsPIC) mà mình đã có dịp được lập trình thì hình như chưa có khả năng gọi ngắt trong ngắt như vậy (kỹ thuật đó thường được gọi là đệ quy). Kỹ thuật đệ quy thường yêu cầu chip xử lý có bộ nhớ dữ liệu lớn, có khả năng xử lý stack để tránh tràn vùng nhớ stack sinh ra trong quá trình gọi đệ quy, và do đó không thích hợp lắm với vi điều khiển vốn được tối ưu cho các tác vụ điều khiển chứ không phải xử lý thông tin.

Để viết hàm kiểu đệ quy thì bạn có thể viết trên máy vi tính (PC) bằng Pascal, C, hay bất cứ một trình biên dịch nào có hỗ trợ đệ quy, chú ý là ngoài điều kiện gọi đệ quy thì bạn phải có điều kiện kết thúc đệ quy để trả về hàm đệ quy cấp cao hơn, vì bộ nhớ lưu stack không phải là vô hạn.

Thân,
tdungk7 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 06:14 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam