Thông báo

Collapse
No announcement yet.

có cách nào gom từng bit của các PORT thành 1 byte không

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • có cách nào gom từng bit của các PORT thành 1 byte không

    số là thế này:
    mình làm đồ án với AVR đang trong giai đoạn hoàn thiện, còn dư một số chân của các PORT nhưng lại nằm riêng lẽ. (5 chân :PORTC.4, POTRA.0, PORTA.1,PORTD.6,PORTD.7 )
    MÌnh định dùng các chân còn dư này đễ nhận thông tin từ RF remote
    nhưng việc đọc trạng thái các bit riêng lẽ như vậy rất rắc rối
    mình thử gom các bit này lại thành 1 biến X để tiện cho việc nhận giá trị bằng cách:
    X=PC.4*16 +PA.0*8 +PA.1*4 +PD.6*2 +PD.7*1;
    X bây giờ mang giá trị thập phân, đem giá trị đó so sánh và điều khiển như vậy có dc hay ko?
    mình đã thử nhưng chưa thấy khả quan
    có cách nào khác ko?

    mong mọi người chỉ giáo!

  • #2
    Nguyên văn bởi TrucQuanTu Xem bài viết
    mình thử gom các bit này lại thành 1 biến X để tiện cho việc nhận giá trị bằng cách:
    X=PC.4*16 +PA.0*8 +PA.1*4 +PD.6*2 +PD.7*1;
    X bây giờ mang giá trị thập phân, đem giá trị đó so sánh và điều khiển như vậy có dc hay ko?
    Cái này làm dc mà ! chỉ cần cấu hình cho chúng là đầu vào thôi nó !

    Comment


    • #3
      Có thể làm theo cách này
      X=(PINC.4 << 4) | (PINA.0 << 3) | (PINA.1 << 2) | (PIND.6 << 1) | (PIND.7);
      Chú ý: Cấu hình cho tất cả các chân này là Input

      Comment

      Về tác giả

      Collapse

      TrucQuanTu Sinh ra trong gia đình gia thế - dế tha Tìm hiểu thêm về TrucQuanTu

      Bài viết mới nhất

      Collapse

      Đang tải...
      X