Hab diesen Thema zuerst in RP5 Forum gestellt, bekam aber keine Reaktion. Jetzt probiere ich es hier:

Ich bin gerade von mein I2C Sklave versuch enttauscht davon gekommen. Hat es jemand schon probiert?
Nach ich das Assembler geschrieben hab (und unerfolgreich getestet hab) stellte ich etwas fest. Der Mc05 ist nicht schnell genug ein 100KHz I2C Sklave zu sein.

Kann jemand das bestätigen?

Hier sind meine Berechnungen.

4MHz clock / 100KHz standard bit rate = 40 cycles per pulse. (Falling Edge to Falling Edge)

=>20 cycles SCL low.

Relevantes Assembler:


Code:
READ_ADDRESS    
       ldx   #8       ;  a bits to read 
       lda #0      ; set read byte to 0 
L1       brset scl,bport,L1   ; wati for SCL to drop       
L2       brclr scl,bport,L2   ; wati for SCL to raise again 
       brclr sda,bport,LOW1;  dont update acc if data is zero 
       ora mask,x      ; add relevant bitmask to acc       
LOW1       decx 
       bne L1
“Worst Case” kommt day auf wesendlich mehr als 20 cylces? Oder hat jemand es besser lösen können.

Leider wird ich jetzt probieren den MC05 als Master einzusetzen, so das er den clock beherrschen kann, aber das ist mir nicht ganz recht.[/code]