PDA

View Full Version : Mikro C, đọc bit từ PORTx.Fx


doremino
17-05-2008, 10:02 AM
các anh ơi !em đang làm bài tập với pic16f877A trên Mikro C
em muốn lấy dữ liệu từ một chân nào đó chẳng hạn như RB2 của portB gán cho biến ktr0
thì chỉ cần ghi :ktr0= PortB,2; nhưng không biết sao khi thực thi chương trình nó cứ lấy dữ liệu từ chân RB0 miết à!!!(mở mã assemlly ra thì thấy đoạn code đó ứng với PortB,0 không phải là portB,2)!!! em thử với các chân khác cũng vậy!!liệu có phải em viết code sai ko?

namqn
17-05-2008, 09:05 PM
các anh ơi !em đang làm bài tập với pic16f877A trên Mikro C
em muốn lấy dữ liệu từ một chân nào đó chẳng hạn như RB2 của portB gán cho biến ktr0
thì chỉ cần ghi :ktr0= PortB,2; nhưng không biết sao khi thực thi chương trình nó cứ lấy dữ liệu từ chân RB0 miết à!!!(mở mã assemlly ra thì thấy đoạn code đó ứng với PortB,0 không phải là portB,2)!!! em thử với các chân khác cũng vậy!!liệu có phải em viết code sai ko?
Theo tài liệu hướng dẫn đi kèm với mikroC (gọi lên bằng cách bấm phím F1), trong đoạn mikroC Specifics, mục 'Accessing Individual Bits', để truy xuất chân RB2 của port B, bạn sẽ viết như sau:
ktr0 = PORTB.F2

Cú pháp chính xác là dùng dấu chấm chứ không dùng dấu phẩy như bạn.

Chuyện bạn đã nêu không có gì kỳ lạ cả, phần ",2" phía sau lệnh mà bạn đã viết không có ý nghĩa đối với mikroC, do đó đã bị bỏ qua. Khi gán PORTB cho một biến kiểu bit, mikroC sẽ tự động hiểu là bạn muốn dùng bit thấp nhất của thanh ghi PORTB.

Thân,