![]() |
|
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 |
|
|
|
|
#1 |
|
Nhập môn đệ tử
Tham gia ngày: Oct 2010
Bài gửi: 8
: |
//
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 |
|
|
|
|
|
#2 | |
|
Nhập môn đệ tử
Tham gia ngày: Oct 2010
Bài gửi: 3
: |
Trích:
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, |
|
|
|
|
![]() |
|
|