PDA

View Full Version : Địa chỉ của SLAVE trong I2C?


anhkhoa4589
06-01-2011, 12:06 AM
Cho mình hỏi mọi người 1 tí, phần địa chỉ của Slave mình khai báo theo qui tắc nào vậy? như trong code của bạn Hoanf là address=0x10 cho SLAVE la pic16f877A, làm sao để có con số 0x10?

Nếu có nhiều SLAVE thì phải khai báo địa chỉ như thế nào?

Mình đang làm đề tài về Compass03, dùng Pic16f877A để đọc từ compass03 giao thức I2C.
Mình không biết dùng cách nào để đọc dữ liệu từ compass, và dữ liệu trả về từ compass ở dạng nào?

Mong được mọi người giúp đỡ

nttrungut
13-01-2011, 11:23 PM
Địa chỉ slave có 7 bit (có thể do mình đặt), thường khi viết code mình khai báo là address là int8 nên bit LSB sẽ là 0. Khi đưa vào khung dữ liệu I2C thì ta chèn thêm bit R/W vào LSB để định hướng truyền hoặc nhận dữ liệu.

duongvt
05-08-2011, 10:58 AM
Địa chỉ slave có 7 bit (có thể do mình đặt), thường khi viết code mình khai báo là address là int8 nên bit LSB sẽ là 0. Khi đưa vào khung dữ liệu I2C thì ta chèn thêm bit R/W vào LSB để định hướng truyền hoặc nhận dữ liệu.
A cho e hỏi chút nhá
Em đang làm với con srf 02 địa chỉ mặc định của nó là 0xE0 tức là 1110 0000 . Khi gửi địa chỉ đến SRF 02 ta phải dịch trái 1 bit rồi chèn thêm bít R/W .giả sử là Read thì sẽ thành 1100 0001 = 0xC1 . Như vậy sẽ mất đi bit có trọng số cao nhất. Vậy liệu con SRF có hiểu đc k ak

tanhaui
01-12-2011, 11:28 PM
Thanh ghi SSPADD chứa địa chỉ của thiết bị ngoại vi cần truy xuất dữ liệu của I2C khi hoạtđộng ở Slave mode. Khi hoạt động ở Master mode, thanh ghi SSPADD chứa giá trị tạo ra tốc độ baudcho xung clock dùng để truyền nhận dữ liệu.

congduc1352
05-07-2014, 03:11 AM
Thanh ghi SSPADD chứa địa chỉ của thiết bị ngoại vi cần truy xuất dữ liệu của I2C khi hoạtđộng ở Slave mode. Khi hoạt động ở Master mode, thanh ghi SSPADD chứa giá trị tạo ra tốc độ baudcho xung clock dùng để truyền nhận dữ liệu.

Ta đặt địa chỉ Slaver trên thành ghi này hả đại ca? gán địa chỉ trực tiếp sau khi khai báo chế độ slaver à?