AVR Studio in C: Programmzeile geht nicht!

Gast #1799625
Lesenswert?

Hallo Experten!

Bin grad am verzeifeln! Wenn ich in meinem Projekt (AVR Studio 4.18 mit 
GCC) eine Codezeile einfüge, dann kann ich plötzlich das Programm nicht 
mehr via Dragon an den µC (Attiny2313) übertragen!

"Platfrom has been disconnected, leaving debug mode"
(Obwohl der Dragon noch grün leuchtet!)

Was ist da faul?
1
uint8_t Usi_Send(void)
2
{
3
  usi_out_buffer[4] = usi_out_buffer[0]+usi_out_buffer[1]+usi_out_buffer[2]+usi_out_buffer[3];
4
  // umschalten auf Master
5
  Usi_Master();
6

7
  // prüfen ob Bus frei ist
8

9
  // Startcondition erzeugen
10
  PORTB &=~(1<<SDA);
11
  PORTB &=~(1<<SCL);
12
  USISR |= (1<<USISIF);
13
  
14
  // Byte laden und Schieberegisterausgang auf SDA legen
15
  USIDR = usi_out_buffer[0];
16
  PORTB |= (1<<SDA);
17
  
18
  // warten bis SCL frei
19
  PORTB |= (1<<SCL);
20
  while(!(PINB & (1<<SCL)));
21

22
  // Daten schieben und auf Kollision achten
23

24
  //  PORTB &=~(1<<SCL);  Wenn ich diese 2 Zeilen hier einfüge knallts! <<<<<<<<<<<
25
  //  PORTB |= (1<<SCL);
26

27
  
28
  PORTB &=~(1<<SCL);
29
  PORTB &=~(1<<SDA);
30
  USIDR = 0xFF;
31

32
  // Stoppcondition erzeugen
33
  PORTB |= (1<<SCL);
34
  PORTB |= (1<<SDA);
35

36
  // umschalten auf Slave
37
  
38
  return 0;
39
}

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