TWI Master sendet nur alle Sekunde?

OP #1457991
Lesenswert?

Hallo liebe Bastler

Ich habe ein TWI zwischen 2 µC (ATMega32 und ATMega8) aufgebaut. Dazu 
habe ich den Quellcode von Manfred Langemann genutzt (C++). Ist es 
normal das die Daten immer nur alle Sekunde gesendet werden? Die 
berechnete Frequenz liegt bei 100000 Hz. also eigentlich schnell genug. 
Aber zwischen dem senden ist immer eine so lange Pause. Bis auf eine 
50ms Pause nach dem senden habe ich keine Verzögerungen im Programm.

Meine Einstellungen des TWI:
Funktionsaufruf:  - TWIM_Init (100000)
die Funktion:

uint8_t TWIM_Init (uint32_t TWI_Bitrate)
  {
  TWBR = 0x10;
  if (TWBR < 11) return FALSE;
  return TRUE;
  }

Schon vielen Dank an euch!
Gast #1458111
Lesenswert?

for (;;)
  {
        receive(); //Wird hier vieleicht 3s gewartet?

      Delay_ms (50); //Oder ist diese Routine faul?

Speck dein Programm mal ab! Und dann teste noch mal.

Wo bitteschön wird hier TWI_Bitrate verwendet?

uint8_t TWIM_Init (uint32_t TWI_Bitrate)
  {
/*
** Set TWI bitrate
** If bitrate is too high, then error return
*/
  TWBR = 0x10;
  if (TWBR < 11) return FALSE;

  return TRUE;
  }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren