AVR I2C TC74

Jan Waclawek konfera@efton.sk
Pondělí Březen 8 09:14:39 CET 2010


Pozrite si prosim poriadne specifikaciu I2C (alebo datasheet toho vaseho zariadenia).
SDA sa meni ked je SCL v nule, a je platne (t.j. ho treba citat) ked je SCL v jednicke.

wek


----- Original Message ---------------
>--===============1418421699==
>Content-Type: multipart/alternative; boundary=001636499d5960eee704813cc935
>
>--001636499d5960eee704813cc935
>Content-Type: text/plain; charset=ISO-8859-1
>
>Diky za odpoved.
>
>Tak sem to trochu (uplne) predelal podle vasich rad, ale stale mam v jedne
>veci hokej..
>Jak docilim toho, abych precetl ACK bit, ktery posila slave..? Prepsal sem
>to do teto podoby:
>
>void I2CAck(){
>  DDRB |= (1<<scl);         //scl = 0
>  DDRB &= ~(1<<scl); // scl=1
>  _delay_ms(0.5);
>  acc = PINB;
> _delay_ms(0.5);
>  DDRB |= (1<<scl);         //scl = 0
>  _delay_ms(1);
> }
>
>ale stale to nefunguje.. Co delam spatne? SDA mam pred volanim funkce v log.
>1, abych poznal, ze slave stahne SDA do 0 a tim provede ack.
>
>Jeste bych se chtel zeptat jak se da precist jen jeden bit na portu. Je
>mozna varianta, acc = PINB,sda; pripadne jaky typ musi mit acc. Existuje
>datovy typ jen bit? Nebo se na to musi jit tak ze se precte cely port
>(acc=PINB) a potom se pres masku testuje vybrany bit ((ack&0x20)==0)).
>
>
>Diky za kazdou radu
>
>PS: na mejlu budu zase az zitra (na)vecer..
>
>



More information about the Hw-list mailing list