View Single Post
Old 23-07-2009, 02:04 AM   #8
nguyenhung1811
Đệ tử 3 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 48
:
mày mò mãi, tìm trên mấy cái diễn đàn cuối cùng cũng mìnn cũng viết được. ở 2 đoạn chương trinh con đọc và ghi dữ liệu cần thêm điều kiên DS1307 đã sẵn sàng bằng cách chèn thêm đoạn code sau
int1 ready_DS1307(void) {
int1 ack;
i2c_start();
ack = i2c_write(0xD0);
i2c_stop();
delay_us(5);
return !ack;
}
và trước mỗi ct con ta thêm vầo câu lệnh while(!ready_DS1307()) {;} là được
ví dụ ở đoạn ct con ghi dữ liệu:
void write(int8 value, int8 add)
{
while(!ready_DS1307()) {;}
i2c_start();
i2c_write(0xD0);
i2c_write(add);
i2c_write(value);
i2c_stop();
}
với đoạn code như trên thì mình đã đọc và ghi dữ liệu cho con ds1307 được rồi.
Tuy nhiên đoạn ct ready_DS1307() la mình copy trên diễn đàn nên mình vẫn ko hiểu lắm. Ai hiểu đoạn code trên làm ơn giải thích giùm mình với.
nguyenhung1811 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn