Ðề tài: Giao tiếp I2C
View Single Post
Old 12-06-2011, 06:32 PM   #13
truongvanquan
Nhập môn đệ tử
 
Tham gia ngày: Oct 2010
Bài gửi: 3
:
Trích:
Nguyên văn bởi minhkhoa1990 View Post
//
int16 read_I2C_2byte(int8 slave_address)
{
int16 value_read;
i2c_start();
i2c_write(slave_address+1);?????????
high=i2c_read(1);
delay_us(10);
low=i2c_read(0);
i2c_stop();
value_read=make16(high,low);
value_read=value_read/5.2;
printf(" %Ld\n\r",value_read);
return value_read;
}
///////////
các bác cho em hỏi hàm i2c_write(slave_address+1) có ý nghĩa như thế nào và địa chỉ:slave_address+1 là sao.......... thanks các bác nhiều

Theo em nghĩ thì đây là một chương trình con.

ở trên bác dùng một biến: int16 read_I2C_2byte(int8 slave_address)
nên ở dưới nó sẽ dùng biến này!

VD như bác điều khiển DS1307 thì địa chỉ của nó là 0b1101000x. (0xD..)
như vậy i2c_write(slave_address+1) sẽ là i2c_write(0xD1) ->> đọc thông tin từ DS1307

thân,
truongvanquan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn