hỏi về kiểu tham chiếu

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • nhanconan030789
    Đệ tử 3 túi
    • Mar 2009
    • 49

    #1

    hỏi về kiểu tham chiếu

    Chào anh chị!
    Em có vấn đề nhỏ thế này mong anh chị chỉ giáo.
    Em muốn điều khiển 8 chân khác nhau ở các PORT khác nhau của của con PIC nhưng thông qua một biến khác.
    ví dụ em cho biến a = 0b10101010;
    thì các chân RA1 = 1;
    RB2 = 0;
    RA5 = 1;
    RC6 = 0;
    RD0 = 1;
    RB0 = 0;
    RA7 = 1;
    RC2 = 0;
    các chân này tự động tham chiếu đến biến a, vậy thì phải làm thế nào ạ!!
    Mong các anh, chị giúp em, em xin cảm ơn!!!!
  • rocket42
    Đệ tử 4 túi
    • Jun 2010
    • 72

    #2
    bạn có thể làm như sau với trình dịch CCS:
    #define a 0b101010101
    ...
    void main()
    {
    ...
    RA1=bit_test (a, 7)
    RB2=bit_test (a, 6)
    RA5=bit_test (a, 5)
    RC6=bit_test (a, 4)
    RD0=bit_test (a, 3)
    RB0=bit_test (a, 2)
    RA7=bit_test (a, 1)
    RC2=bit_test (a, 0)
    ....
    }
    cách này có vẻ ko hiệu quả khi bạn muốn thay đổi việc xuât giá trị ra cổng thay đổi theo thời gian. Ta xem cách 2:
    int8 a=0b1010101010;
    ...
    void main()
    {
    ...
    RA1=bit_test (a, 7)
    RB2=bit_test (a, 6)
    RA5=bit_test (a, 5)
    RC6=bit_test (a, 4)
    RD0=bit_test (a, 3)
    RB0=bit_test (a, 2)
    RA7=bit_test (a, 1)
    RC2=bit_test (a, 0)
    ....
    }
    cách này thì hoàn toàn OK khi bạn điều chỉnh xuất giá trị bằng cách thay đổi biến a trong chuơng trình.
    Trình dịch khác như MPLAB Cx, HTPIC thì gần giống như vậy.
    chúc thành công!
    Last edited by rocket42; 20-12-2011, 04:42 PM.
    Web: http://elinux.vn
    Email: elinuxvn@gmail.com

    Comment

    Working...