Tôi có những gì tôi hy vọng là một câu hỏi đơn giản liên quan đến vi điều khiển Atmel AVR. Vì vậy, tôi muốn sử dụng bộ so sánh tương tự của ATTiny85 để xác định xem tín hiệu ở trên hay dưới ngưỡng. Tín hiệu này thường "nổi" và được kéo về phía mặt đất khi "hoạt động" (nghĩa là tín hiệu thu nhỏ mở đang hoạt động). Nếu tôi cho phép các pullup trên pin đầu vào (mà cũng là đầu vào so sánh) bằng cách thực hiện:AVR so sánh tương tự + nội bộ pullup?
DDRB = 0x00; // DDRB.1 = 0 = input
PORTB = 0xFF; // PORTB.1 = 1 = internal pullup enabled
Nếu tôi sử dụng các tín hiệu tương tự và chọn PORTB.1 như AIN1 sẽ các pullup nội bộ được áp dụng cho tín hiệu đầu vào của tôi ? Tôi hy vọng một người nào đó có kinh nghiệm cá nhân để xác minh hành vi này. Hy vọng câu hỏi này không phải là quá 'định hướng phần cứng' cho ngăn xếp tràn. Cảm ơn!
CHỈNH SỬA Để trả lời một số nhận xét dưới đây về hiệu ứng "tại sao không xử lý số", cảm biến của tôi được tạo ra bởi cảm biến IR. Tôi không thể chắc chắn rằng nó sẽ kéo xuống "đủ cứng" để được diễn dịch như là một số không, vì vậy tôi sẽ sử dụng tham chiếu 2.56V nội bộ như ngưỡng chuyển đổi của tôi. Tôi chỉ đang cố gắng chọn "sự kiện IR", vì vậy đây dường như là cách đơn giản nhất đối với tôi.
Ngoài ra, bằng cách sử dụng bộ so sánh tương tự, tôi có thể phát hiện sự kiện "không đồng bộ" bằng ISR. Cấp một số các chân có thể gọi một ngắt trên một cạnh kỹ thuật số, nhưng người ta không muốn dựa vào phản ứng để nhúng dưới V_IL.
+1 để chuyển anh ta đến biểu dữ liệu; luôn là nơi đầu tiên để xem xét. – Clifford
Yea, đó là những gì tôi nghĩ, cảm ơn! – vicatcu
Thật không may, tôi đã chấp nhận câu trả lời này trước khi dùng thử. Nó chỉ ra (mặc dù suy luận từ các thông số kỹ thuật) rằng nội bộ pullup * phải * bị vô hiệu hóa để sử dụng một pin như là một đầu vào để so sánh tương tự. – vicatcu