Homepage

  • Projekte
  • Shop
  • Forum
Erweiterte Suche
  • Schnellzugriff
    • Unbeantwortete Themen
    • Aktive Themen
    • Suche
  • FAQ
  • Anmelden
  • Registrieren
  • Foren-Übersicht
  • Suche

[gelöst & wichtig] Webmodul hängt sich auf

Ihr habe noch Fragen zum AVR Webmodule? Dann seit Ihr hier genau richtig!
Antworten
  • Druckansicht
Erweiterte Suche
4 Beiträge • Seite 1 von 1
laserandi
Beiträge: 25
Registriert: 21.01.2010, 21:38:15

[gelöst & wichtig] Webmodul hängt sich auf

  • Zitieren

Beitrag von laserandi » 03.02.2011, 00:52:39

Um es einfach zu machen habe ich das Webmodul soweit abgespeckt, dass nur noch die sd-Karte angesprochen wird:

Code: Alles auswählen

#include <stdlib.h>
#include <stdio.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include "config.h"
#include "lcd.h"
#include "sdkarte/fat16.h"
#include "sdkarte/sdcard.h"
#include "util/delay.h"

int main(void){
	int bufferlen=512;
	char buffer[]="oder doch";

	//Spielerrei mit einem LCD
	lcd_init();
	lcd_clear();
	back_light = 10;
	lcd_print(0,0,"lcdinit");

   _delay_ms(2000);
	lcd_print(0,0,"delay  ");

	//sd-Karte starten
	f16_init();
	f16_check();	// Ein-/Ausstecken der SD-Karte erkennen
	lcd_print(0,0,"sdinit ");

	if(cwdir_ptr){	// falls SD-Karte vorhanden
		lcd_print(0,0,"cwdir  ");
		File *picfile = f16_open("camera.jpg","a");
		lcd_print(0,0,"open   ");
		f16_fseek(picfile,0,0);
		lcd_print(0,0,"seek   ");
		fat16_write_file(picfile, (uint8_t *)&buffer[0], bufferlen);
		lcd_print(0,0,"write  ");
		f16_flush();	// Cache leeren
		lcd_print(0,0,"flush  ");
		f16_close(picfile);
	}

	lcd_print(0,0,"while  ");
	while(1){
		#if USE_MMC
			f16_check();	// Ein-/Ausstecken der SD-Karte erkennen
		#endif
	}
	return(0);
}
Problem: Sobald ich ein delay einfüge, hängt sich das Programm in der f16_init() auf. Es werden keine Daten mehr per spi übertragen. Wenn man delay an einer anderen Stelle einbaut, bleibt das Programm bei der nächsten sd-Kartenfunktion stehen.
Ohne delay läuft alles Problemlos durch, die Karte wird beschrieben.
Wie kann das sein? Habe ich irgendwas übersehen?
Ich such jetzt schon min. 20 h an dem Problem, kann aber den Fehler nicht finden :cry: :cry:
Zuletzt geändert von laserandi am 21.02.2011, 22:12:02, insgesamt 1-mal geändert.
Nach oben

Klaus
Beiträge: 409
Registriert: 17.02.2008, 12:18:39

Re: Webmodul hängt sich auf

  • Zitieren

Beitrag von Klaus » 03.02.2011, 01:55:48

Hi,

watchdog deaktivieren oder nach delay zurücksetzen.



mfg
Klaus
Nach oben

laserandi
Beiträge: 25
Registriert: 21.01.2010, 21:38:15

Re: Webmodul hängt sich auf

  • Zitieren

Beitrag von laserandi » 03.02.2011, 10:37:03

Hi Klaus,
danke für die schnelle Antwort.
lfuse = 0xff und hfuse = 0xde -> beim programmieren wird der Watchdog scheinbar nicht aktiviert und im Programm finde ich auch keine Stelle wo er eingeschaltet wird wie z.B.:

Code: Alles auswählen

WDTCSR |= (1<<WDCE) | (1<<WDE);
oder habe ich was falsch verstanden?
Ich habe den Sourcecode mal angehängt. Wie schon gesagt, er ist sehr abgespeckt.
Gruß
Andi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Nach oben

laserandi
Beiträge: 25
Registriert: 21.01.2010, 21:38:15

Re: [gelöst & wichtig] Webmodul hängt sich auf

  • Zitieren

Beitrag von laserandi » 21.02.2011, 22:24:54

Nach monatelangem such habe ich nun endlich die Lösung gefunden und konnte die zuletzt massiven spi Probleme beheben.
1) Der SS Pin (PB4) muss gesetzt werden auch wenn er nicht benutzt wird. In Ulrichs Version ist das auch so. In Wil's Version muss die Auskommentierung (sd_raw_config.h) entfernt werden:

Code: Alles auswählen

#define configure_pin_ss() DDRB |= (1 << PB4)
und der Pin mit initialisiert werden.
2) Zur Sicherheit noch einen Pull-Up an den CS der Karte löten.

Ich hoffe, ich konnte allen weiterhelfen, die spi Probleme haben.

Gruß
Andi
Nach oben

Antworten
  • Druckansicht

4 Beiträge • Seite 1 von 1

Zurück zu „AVR-Webmodule“



  • Foren-Übersicht
  • Alle Zeiten sind UTC+02:00
  • Alle Cookies löschen

Powered by phpBB® Forum Software © phpBB Limited

Deutsche Übersetzung durch phpBB.de

Datenschutz | Nutzungsbedingungen

 

 

sitemap  |    |  datenschutz   |  impressum