Các anh có thể nói cho em biết Atmega16 có mức ưu tiên ngắt không(giống trong 8051),set mức ưu tiên ấy thế nào,trong Atmega16 có thể có ngắt trong ngắt được không?Em cám ơn các anh.
Thông báo
Collapse
No announcement yet.
Mức ưu tiên ngắt trong Atmega16
Collapse
X
-
Mức ưu tiên giảm dần theo chiều tăng dần của địa chỉ interrupt vector, VD: vector interrupt RESET nằm ở địa chỉ 0x00 được ưu tiên cao nhất, kế tiếp là INT0,INT1,...
Nếu xãy ra 2 ngắt cùng một lúc thì ngắt nào được ưu tiên hơn sẻ được "ngắt" trước.
NVT2Tín đồ AVR giáo.
Comment
-
Cám ơn các anh đã trả lời
Cám ơn các anh đã trả lời em.Vậy nếu có một ngắt mức ưu tiên thấp đang được phục vụ,mà xảy ra một ngắt mức cao hơn,thì vdk AVR phục vụ nốt ngắt mức thấp hay lập tức nhảy đến phục vụ ngắt mức cao rồi mới quay trở lại phục vụ nốt ngắt mức thấp.
Comment
-
Bình thường thì chip sẽ thực hiện cho xong ngắt hiện tại rồi mới thực hiện ngắt tiếp theo, tuy nhiên bạn cũng có thể lập trình cho phép một ngắt đang chạy mà nếu có ngắt khác xãy ra thì nó thự hiện ngắt khác xong rồi mới quay lại thực hiện tiếp ngắt đang xãy ra.
NVT2Tín đồ AVR giáo.
Comment
-
Nguyên văn bởi nvt2 Xem bài viếtMức ưu tiên giảm dần theo chiều tăng dần của địa chỉ interrupt vector, VD: vector interrupt RESET nằm ở địa chỉ 0x00 được ưu tiên cao nhất, kế tiếp là INT0,INT1,...
Nếu xãy ra 2 ngắt cùng một lúc thì ngắt nào được ưu tiên hơn sẻ được "ngắt" trước.
NVT2.Cố gắng lên nhé.
Comment
-
Nguyên văn bởi daotoan3Ihut Xem bài viếtBác có biết cách nào để thay đổi tính ưu tiên của ngắt theo ý muốn của mình ko?Điều này hoàn toàn có thể làm được,chẳng qua các bác chưa nghĩ kỹ mà thôi.Cố gắng lên nhé.
Xin tha cho em, nó bị define bởi hardware mà muốn thay đổi thì nói thật từ hồi bập bẹ tới giờ chưa nghe ai nói tới, cả data sheet cũng không hề đề cập tới
Bác đừng trả lời em viết chương trình quản lý để thay đổi mức ưu tiên nhá, cái này mà thuê em viết bằng ASM với giá cao thì em cũng còn phải suy nghỉ lại đấy !
NVT2Tín đồ AVR giáo.
Comment
-
trich:
"Bác có biết cách nào để thay đổi tính ưu tiên của ngắt theo ý muốn của mình ko?Điều này hoàn toàn có thể làm được,chẳng qua các bác chưa nghĩ kỹ mà thôi.Cố gắng lên nhé."
để làm được điều này có lẽ nên bảo nhà sản xuất thiết kế lại phần cứng thôi.chứ dùng phần mềm thì bó cả tay lẫn chân luôn.bác nên dọc lại datasheet
Comment
-
Nguyên văn bởi manhga Xem bài viếttrich:
"Bác có biết cách nào để thay đổi tính ưu tiên của ngắt theo ý muốn của mình ko?Điều này hoàn toàn có thể làm được,chẳng qua các bác chưa nghĩ kỹ mà thôi.Cố gắng lên nhé."
để làm được điều này có lẽ nên bảo nhà sản xuất thiết kế lại phần cứng thôi.chứ dùng phần mềm thì bó cả tay lẫn chân luôn.bác nên dọc lại datasheet
Ngắt có mức ưu tiên cao hơn có nghĩa là nếu có hai ngắt xãy ra cùng một lúc thì ngắt đó được thực hiên trước thôi, mà điều này thì hiếm khi xãy ra do đó vấn đề thay đổi mức ưu tiên không quan trọng tuy nhiên nếu muốn đặt một ngắt nào đó lên ưu tiên cao nhất trong khi đối với AVR, nó không phải là ngắt có mức ưu tiên cao nhất thì chỉ cần trong các đoạn chương trình phục vụ ngắt khác vui lòng kiểm tra xem thằng đó có ngắt hay không mà nhường task lại cho nó (trong trường hợp phải dùng nhiều nguồn ngắt trong chương trình) hoặc cho phép AVR phục vụ ngắt khác trong khi đang phục vụ ngắt bằng lệnh "sei"(trong trường hơp chỉ có 2 nguồn ngắt). Việc này theo NVT2 nghỉ không quan trọng lắm.
Ý tưởng cá nhân thôi nhé, mọi người có ý kiến xin đóng góp !
NVT2Tín đồ AVR giáo.
Comment
-
Nguyên văn bởi manhga Xem bài viếtcó một cách khác là khi mà ta muốn ngắt thấp chèn ngắt cao là tại thời điểm đó ta cấm tất cả các ngắt có muc ưu tiên cao hơn nó sau khi thực hiện xong ngắt thấp thì lại cho phép các ngắt cao hon hoat đông
NVT2Tín đồ AVR giáo.
Comment
-
Nguyên văn bởi TP_Electro Xem bài viếtKhông hiểu làm sao để AVR đang thực thi trong một ngắt mà lúc đó có 1 tín hiệu ngắt khác xảy ra thì nó tạm dừng ngắt đang thực thi để nhảy đến yêu cầu tín hiệu ngắt vừa xảy ra trong ngắt được nhỉ??? Bác nvt2 ??
Comment
-
Nguyên văn bởi htc2k14 Xem bài viếtApplication note -> bác tham khảo phần 1 rồi thực hành từ mục 2.2 nested interrupt.
Ok, cảm ơn bác, mình hiểu rồi nó khác 8051 là khi vào ngắt nó tự động clear bit (i)ngắt toàn cục để các disable tất cả các ngắt. Nếu mà vừa nhảy đến ngắt cấp 1 mình set bit i luôn thì ngắt cấp 2 có thể chạy được và khi nhảy đến ngắt cấp 2 nó lại clear i nên khi nó thục thi xong ngắt cấp 2 nó quay lại ngắt cấp 1 và thực thi cho đến hêt ngắt cấp 1 rồi thoát. Phải ko bác nhỉ? Mình gì đang học c cho AVR có dùng ngắt timer và ADC nhưng sơ ngắt ADC nó ảnh hưởng đến pwm. Giờ biết thì ko lo nữa rồi.
Comment
-
Nguyên văn bởi TP_Electro Xem bài viếtMình thiếu bổ sung thêm là sau khi thực hiện xong cái ngắt sau(cấp 2) nó quay về lại cái ngắt trước (cấp 1). Thanks bác.
Ok, cảm ơn bác, mình hiểu rồi nó khác 8051 là khi vào ngắt nó tự động clear bit (i)ngắt toàn cục để các disable tất cả các ngắt. Nếu mà vừa nhảy đến ngắt cấp 1 mình set bit i luôn thì ngắt cấp 2 có thể chạy được và khi nhảy đến ngắt cấp 2 nó lại clear i nên khi nó thục thi xong ngắt cấp 2 nó quay lại ngắt cấp 1 và thực thi cho đến hêt ngắt cấp 1 rồi thoát. Phải ko bác nhỉ? Mình gì đang học c cho AVR có dùng ngắt timer và ADC nhưng sơ ngắt ADC nó ảnh hưởng đến pwm. Giờ biết thì ko lo nữa rồi..
Comment
Bài viết mới nhất
Collapse
-
bởi mèomướpDạ cháu thấy bác vi... nói đúng ấy ạ. Cùng 1 vận tốc, đường kính, số lượng cánh, độ dày cánh quét không khí. Thì cánh lớn sẽ múc được nhìu hơn ạ. Nếu cánh lớn đến 1 mức độ nào đó thậm chí chồng lên nhau thì nó sẽ thành 1...
-
Channel: Điện tử gia dụng
hôm nay, 20:37 -
-
bởi nguyendinhvanÔi hồi.
Đường hướng nghiên cứu như thế này, dễ trở thành nhà "khí động học" mất !...-
Channel: Điện tử gia dụng
hôm nay, 20:17 -
-
bởi vi van phamSai lầm từ cơ bản.
Nguyên tắc cánh quạt là "múc" không khí trước cánh quạt quăng lên "Bờ". Khi cánh quạt di chuyển để lại vị trí có áp suất thấp, không khí ở ngoài tràn vào. Cánh quạt thứ 2 làm việc giống thế, rồi đến cánh quạt...-
Channel: Điện tử gia dụng
hôm nay, 17:15 -
-
bởi dinhthuong80Chắc phải mua thêm cái máy đo vận tốc gió nữa rồi!!!
-
Channel: Điện tử gia dụng
hôm nay, 16:45 -
-
bởi dinhthuong80"nếu tăng nó lên đến 90 độ thì không thổi nữa, tăng tiếp trên 90 độ nó sẽ trở thành quạt hút thôi."
là sau khi tăng lên thành 90° rồi, tiếp tục tăng nữa cho nó trên 90° đó bác, như hình vẽ xấu tệ ở dưới ạ!
-Màu xanh: dạ,...-
Channel: Điện tử gia dụng
hôm nay, 16:19 -
-
bởi vi van pham- Màu đỏ: Tăng nó lên 90 độ thì ko thổi.Tăng tiếp lên 90 độ nữa thì thành quạt hút là sao ? không hiểu.
- Màu xanh: Cùng là độ dày d, cánh nhỏ, cánh lớn, ảnh hưởng đến lưu lượng gió rất nhiều . Cái cánh quạt không phải...-
Channel: Điện tử gia dụng
hôm nay, 16:04 -
-
bởi dinhthuong801. Có lẽ cháu nói "ma sát" ở đây chưa được rõ ràng.
Ma sát ở đây chỉ là ma sát trượt qua mặt cánh quạt, và lực ma sát do không khí này có phương vuông góc với trục quay.
Như thế, nếu cùng độ dày d, tức cùng độ...-
Channel: Điện tử gia dụng
hôm nay, 15:09 -
-
bởi appongthoMã lỗi H-60, H-61 Máy giặt Panasonic là gì?
https://appongtho.com/tu-xoa-loi-h-6...iat-panasonic/
Mã lỗi H-60 và H-61 trên máy giặt Panasonic là những cảnh báo về sự cố liên quan đến hệ thống phát hiện rò rỉ điện, trong đó H-60...-
Channel: Điện tử gia dụng
hôm nay, 09:56 -
Comment