|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
|
Ðiều Chỉnh | Xếp Bài |
21-05-2013, 03:30 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Oct 2012
Bài gửi: 5
: |
giúp em về Htech C
em đang viết chương trình I2C trên MPLAB Htech C, em gặp 1 vấn đề là đăt 1 biến có thể truy xuất từng bit
bên keilC cho 8051 có dạng như sau unsigned char bdata DATA; sbit DATA0 = DATA^0; sbit DATA7 = DATA^7; bên Htech C nó không hiểu mấy bác ơi muốn đặt biến dạng này thì làm thế nào vậy bác nào rành bên Htech C giúp với |
21-05-2013, 04:29 PM | #2 |
Trưởng lão PIC bang
|
Kỹ thuật thao tác chuẩn trong C (không phụ thuộc trình dịch C đang sử dụng):
1. Để set bit k của biến v thành 1: Code:
v = v | (1 << k); Code:
v = v & ~(1 << k); http://en.wikibooks.org/wiki/A_Little_C_Primer http://www.vectorsite.net/tscpp.html Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
21-05-2013, 06:28 PM | #3 | |
Đệ tử 5 túi
Tham gia ngày: Aug 2010
Bài gửi: 116
: |
Trích:
ví dụ mình có các biến sau. a0=1; a1=1; a2=1; a3=1; a4=0; a5=0; a6=0; a7=0; làm sao để ghép được thành 1 byte : b= a0a1a2a3a4a5a6a7=0b00001111; và có cách nào sử dụng các biến a0,a1...a7 như các bít trong biến b ( cái này cho tiết kiệm ram) chứ mình toàn khai báo unsigned char a0,a1...a7. tốn ram chết đi được, cám ơn các bác! |
|
22-03-2014, 05:32 PM | #4 | |
Nhập môn đệ tử
Tham gia ngày: Nov 2013
Bài gửi: 5
: |
Trích:
Code:
typedef union { struct { unsigned a0:1; unsigned a1:1; unsigned a2:1; unsigned a3:1; unsigned a4:1; unsigned a5:1; unsigned a6:1; unsigned a7:1; } struct { unsigned ax:8; } }myport; myport A; A.ax = 0b00001111; |
|
|
|