View Single Post
Old 28-06-2012, 11:13 AM   #1
mai9989
Nhập môn đệ tử
 
Tham gia ngày: Jul 2009
Bài gửi: 3
:
Giao tiếp I2C bằng MikroC

Mình có 1 vấn đề khi đọc dữ liệu qua I2C, khi test bài mẫu trong MikroC như sau:

void main(){
ANSEL = 0; // Configure AN pins as digital I/O
ANSELH = 0;
PORTB = 0;
TRISB = 0; // Configure PORTB as output

I2C1_Init(100000); // initialize I2C communication
I2C1_Start(); // issue I2C start signal
I2C1_Wr(0xA2); // send byte via I2C (device address + W)
I2C1_Wr(2); // send byte (address of EEPROM location)
I2C1_Wr(0xAA); // send data (data to be written)
I2C1_Stop(); // issue I2C stop signal

Delay_100ms();

I2C1_Start(); // issue I2C start signal
I2C1_Wr(0xA2); // send byte via I2C (device address + W)
I2C1_Wr(2); // send byte (data address)
I2C1_Repeated_Start(); // issue I2C signal repeated start
I2C1_Wr(0xA3); // send byte (device address + R)
PORTB = I2C1_Rd(0u); // Read the data (NO acknowledge)
I2C1_Stop(); // issue I2C stop signal
}
thì portB chỉ hiện địa chỉ "A3" chứ không phải data đã ghi vào địa chỉ 0x02 của con 24C02, ai giải thích giúp mình với, plz ...
mai9989 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn