- 3D-Druck Einstieg und Tipps    Werbung      
Ergebnis 1 bis 10 von 23

Thema: ATmega > DAC (SPI Problem)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    38
    Beiträge
    5.098
    Die interne Referenz des DAC musst du einschalten, da sie Standartmäßig auf 0 (= Aus) geschaltet ist. Das bedeutet du musst entweder eine ext. Referenz anschließen oder die interne einschalten. Ich sehe nirgends die Commandos für das einschallten der int. Referenz.
    Sende einmal 0x38, 0x00, 0x01

    MfG Hannes

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2011
    Beiträge
    18
    Sry Hannes, hatte ich nicht gepostet.

    Code:
    #define AD5624_REF_ON	1
    Code:
    	cli();
    	UART_init();
    	UART_puts("## INIT ## UART initialisiert\n\r");
    	//PWM_init();
    	//UART_puts("## INIT ## PWM initialisiert\n\r");
    	SPI_MasterInit();
    	UART_puts("## INIT ## SPI Master initialisiert\n\r");
    
    	AD5624_reset(1);
    	_delay_ms(200);
    	AD5624_ref_setup(AD5624_REF_ON);
    	_delay_ms(200);
    	AD5624_LDAC(4);
    	_delay_ms(200);
    	AD5624_power_down(0,4);
    	_delay_ms(400);
    	UART_puts("## INIT ## DAC powered normal mode (0)(all DAC)\n\r");
    	
    	UART_puts("## INIT ## Initialisierung abgeschlossen\n\r");
    	sei();
    	UART_puts("## INIT ## Interrupts eingeschaltet\n\n\r");
    Code:
    void	AD5624_ref_setup( uint8_t state )
    {
    	if ( state == 0 )						// internal reference off
    	{
    		PORTC &= ~(1<<PC4);
    		SPI_MasterSend(0x38, 0x0, 0x0);
    		PORTC |= (1<<PC4);
    		UART_puts("## INIT ## DAC internal ref off\n\r");
    	}
    	else if ( state == 1 )					// internal reference on
    	{
    		PORTC &= ~(1<<PC4);
    		SPI_MasterSend(0x38, 0x0, 0x1);
    		PORTC |= (1<<PC4);
    		UART_puts("## INIT ## DAC internal ref on\n\r");
    	}
    	else {/* Fehlerausgabe an Host */}
    }
    Dort habe ich das Senden des ( 0x38, 0x0, 0x1 ) realisiert.

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    38
    Beiträge
    5.098
    Der Post von Bastiuniversal ist gepostet worden als ich geschrieben habe. Deswegen eine Erklährung erst jetzt. Diese Sprache wie Bastiuniversal geschrieben hat gibt es nicht. Dises Struktur soll nur verdeutlichen wie das Programm bzw der Ablauf aussieht.

    Du kannst die Software SPI an jeden Pin legen den du willst, also auch auf die Hardware SPI Pins. Du musst nur die Hardware SPI ausschalten.

    MfG Hannes

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2011
    Beiträge
    18
    Ah okay. Also Pseudo-Code. Danke für die Aufklärung. Hab mich schon gefragt, ob ich mich vllt für die falsche Sprache entschieden habe =)

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2011
    Beiträge
    18
    So Leute. Ich bin das Ganze noch mal von Grundauf angegangen und habe auch die Hardware nochmal überprüft. Es war ein Tricky Hardwarefehler den ich mir da selber eingebrockt habe. Da die beiden Teile uC und DAC auf verschiedenen Boards platziert sind war ein Verbinder zwischen diesen und auf dem Board des DAC war der MOSI mit dem MISO vertauscht. Somit konnte nichts ankommen.

    Somit ist das Ganze gelöst und der Code funktioniert! Ich hoffe der Code hilft vllt anderen Leuten weiter, die sich mit dem Thema beschäftigen.

    Gesendet wird nun mit folgenden Einstellungen:

    MSB first, SPI Mode 0, Speed CLK/128 in der Reihenfolge High, Mid, Low

    Vielen vielen Dank für eure Hilfe!

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    38
    Beiträge
    5.098
    Sehr schön wenn es jetzt funktioniert.

    MfG Hannes

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2011
    Beiträge
    18
    Zitat Zitat von 021aet04 Beitrag anzeigen
    Sehr schön wenn es jetzt funktioniert.
    Du glaubst gar nicht, wie groß der Stein ist, der mir gerade vom Herzen fiel .. chakka!

Ähnliche Themen

  1. ATMEGA 8 - Problem!
    Von mikro-VIIV im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 30.10.2008, 13:02
  2. PWM problem mit Atmega 8
    Von Enterprise im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 22.08.2008, 00:56
  3. I2C/TWI und ATmega 8 Problem
    Von cpinkle im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 25.10.2006, 20:02
  4. ATMEGA 128 SPI Problem
    Von schmidtkoe im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 01.10.2006, 19:23
  5. Atmega 16 Problem
    Von Ringo im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 07.05.2005, 18:42

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

    Werbung      LiFePO4 Speicher Test