Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: I2C - LastRd beim lesen Kategorie: I²C-Bus (von jodo63 - 1.05.2009 17:58)
Als Antwort auf Re: I2C - LastRd beim lesen von PeterS - 1.05.2009 12:23
Ich nutze:
C-Control Pro Mega128
> > Hallo,
> >
> > beim I2C-Bus muss beim einlesen eines Arrays vor dem letzten Byte das Flag LastRd
> > im I2C-Control-Register werden. Das sieht dann etwa so aus:
> >
> > 1. Start-Flag setzen
> > 2. Adresse senden
> > 3. Datenbytes bis zum Byte n-1 einlesen
> > 4. Flag LastRd setzen
> > 5. Letztes datenbyte einlesen
> > 6. Stop-Flag setzen
> >
> > Bei anderen Controllern kann ich direkt auf die Register zugreifen. Die C-Control C-IDE
> > bietet nur fertige Funktionen an, wie z.B. I2C_Read_ACK und I2C_Read_NACK.
> > Wird die Steuerung des Flags LastRd in einer der Funktionen übernommen?
>
> Es gibt kein LastRd Flag im I2C Standard. Laut Spec soll man nach dem Lesen des letzten Byte ein
> NACK senden. Dies geht dann mit I2C_Read_NACK.
>
> Gruss Peter
>
> > Hallo Peter,

dann ist es wohl bei einigen Controllern so, das das Flag LastRd dieses NACK dann mit dem letzen
Readbefehl erzeugt.

Danke für die Info.

> > Gruss Joachim


    Antwort schreiben


Antworten: