Forum: Mikrocontroller und Digitale Elektronik AVR Studio in C: Programmzeile geht nicht!


von Marc (Gast)


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
}

von Hubert G. (hubertg)


Lesenswert?

Flash 101% voll ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.