- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 8 von 8

Thema: Atmega32 SPI will nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Da ich fast die gleichen DACs habe, bin ich natürlich auch daran interessiert ob du sie ans laufen bekommst. Hast du mal versucht die Reihenfolge der Bits zu ändern ? Irgendwie scheint es mir so, dass erst die Config Bits eintreffen sollten und dann die Datenbits.
    Grüße,
    Daniel

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Also ich habs gerade mal mit Bascom und C probiert und bei mir laufen sie
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Bei mir funktionierts so:

    Code:
    SPI_WORD(  0b10100000 | ((setspg>>6) & 0b00011111)  ,  setspg<<2  );
    In setspg steht der gewünschte Wert der Ausgangsspg drin.

    Gibt dann 0V-4.095 aus. (Vermute ich, aufs Bit genau geht mein DMM nicht)

    Allerdings ist das hier noch ein wenig verschoben (beim zuerst gesendeten Byte hab ich meine Angaben um ein Bit nach links verschoben (Glück gehabt, dass das MSB 0 sein muss wenn man DAC_A braucht^^).

    Ich hab den verdacht, dass SCK schon irgendwo zu früh eine steigende Flanke macht und der DAC schon am lesen ist. Aber ich hab leider momentan in der Arbeit wenig Zeit übrig (Prüfungsvorbereitung) und deswegen bin ich noch nicht dazu gekommen mir den BUS mit dem Digitaloskar anzusehen.

    PS: meine SPI Routinen:
    Code:
    void SPI_INIT (void)
    {
        DDRB = DDRB | (1<<DDB5) | (1<<DDB7) | (1<<DDB4);
        SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR0) | (1<<CPHA);
    }
    
    void SPI_WORD (char data1, char data2)
    {
        PORTB = PORTB & 0b11101111;
        SPDR = data1;
        while(!(SPSR & (1<<SPIF)));
        SPDR = data2;
        while(!(SPSR & (1<<SPIF)));
        PORTB = PORTB | 0b00010000;
    }
    Viele Grüße
    -schumi-
    Geändert von -schumi- (09.03.2012 um 22:15 Uhr)

Ähnliche Themen

  1. PC4 des ATMEGA32 reagiert nicht...
    Von WarChild im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 2
    Letzter Beitrag: 02.11.2010, 19:35
  2. ATmega32 startet nicht
    Von Feratu im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 12.01.2010, 13:23
  3. Atmega32 reicht nicht mehr aus!?
    Von micro07 im Forum AVR Hardwarethemen
    Antworten: 9
    Letzter Beitrag: 05.04.2009, 20:10
  4. WinAvr findet Atmega32 nicht
    Von bugmenot im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 12.12.2008, 17:20
  5. ATMEGA32 läuft nicht mehr.
    Von Battatan im Forum AVR Hardwarethemen
    Antworten: 25
    Letzter Beitrag: 10.09.2007, 16:26

Berechtigungen

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

Labornetzteil AliExpress