Ðăng Nhập

View Full Version : In/out trên một/nhiều port ?


bbaacc01
08-04-2009, 09:12 AM
Em dùng C và cả ASM cho dspic 33F

Nếu em muốn in/out data cho một số chân của port A, ví dụ RA5->RA8
Làm sao em định nghĩa một biến gì đó để truy xuất một cách dễ dàng, ví dụ em định nghĩa A58 và cho A58 = B'0101= 0X5 thì RA8 =0, RA7 = 1, RA6 = 0, RA5 = 1.

Hoặc em muốn định nghĩa một word tên là "HL" gồm 2 byte. Byte cao H là RD7-->RD0, byte thấp L là RB15-->RB8. Khi em cho HL =0xABCD thì tuơng ứng RD[7:0] = 0XAB và RB[15:8] = 0XCD.

Em muốn hỏi có cách nào để làm những điều mà em đã nêu không? làm như thế nào ?

Thank all.

namqn
08-04-2009, 03:17 PM
Em dùng C và cả ASM cho dspic 33F

Nếu em muốn in/out data cho một số chân của port A, ví dụ RA5->RA8
Làm sao em định nghĩa một biến gì đó để truy xuất một cách dễ dàng, ví dụ em định nghĩa A58 và cho A58 = B'0101= 0X5 thì RA8 =0, RA7 = 1, RA6 = 0, RA5 = 1.

Hoặc em muốn định nghĩa một word tên là "HL" gồm 2 byte. Byte cao H là RD7-->RD0, byte thấp L là RB15-->RB8. Khi em cho HL =0xABCD thì tuơng ứng RD[7:0] = 0XAB và RB[15:8] = 0XCD.

Em muốn hỏi có cách nào để làm những điều mà em đã nêu không? làm như thế nào ?

Thank all.
Bạn đọc thêm về union trong một tài liệu cơ bản nào đó dành cho C.

Thân,