Página 1 de 1

registro x endereço

MensagemEnviado: 12 Mar 2009 16:11
por fernandor
Tenho estudado o ds1307 e tb i2c. Percebo que fala muito sobre endereços e registros.
Alguem poderia explicar o que vem a ser registros e endereços? Para que servem e porque?
Tenho percebido alguns programas com i2c da seguinte maneira
i2c_start();
i2c_write(0xd0); ????? porque e para que???
i2c_wirte(address); ?????
i2c_write(data); ????? porque tem que escrever data e nao ler data????
i2c_stop() ????
i2c_start(); ???? porque start denovo

valeu galera

MensagemEnviado: 12 Mar 2009 23:44
por tcpipchip
Tenho estudado o ds1307 e tb i2c. Percebo que fala muito sobre endereços e registros.
Alguem poderia explicar o que vem a ser registros e endereços? Para que servem e porque?

Registros no DS1307 sao enderecos na verdade.

Cada endereco tem uma funcao...pode ser um registro de SETUP, pode ser um registro de Hora, minuto, etc...

Tenho percebido alguns programas com i2c da seguinte maneira
i2c_start();

Avisa ao dispositivos I2C conectados para entrarem em escuta, pq ai vem um ID.

i2c_write(0xd0); ????? porque e para que???

Ai esta o ID...cada dispositivo tem um ID, por exemplo, 24lc128 tem ID 0A.

i2c_wirte(address); ?????

Em que registro voce quer escrever no I2C (ID) selecionado.i2c_write(data); ????? porque tem que escrever data e nao ler data????

Dado que voce quer escrever no registro (por exemplo, o mes atual) (BCD)

i2c_stop() ????

Avisa ao ID i2c selecionado que efetue a escrita...

i2c_start(); ???? porque start denovo

Depende...pode indicar o inicio de operacao ao I2C...ou...inicio de uma leitura apos uma escrita FALSA.

TCPIPCHIP