Forum: Mikrocontroller und Digitale Elektronik AT90PWM3b -DALI


von Thorsten S. (heidelbersch)


Lesenswert?

Hallo Zusammen,

hat von euch schon mal einer mit dem AT90PWM3b eine Dali Ansteuerung 
Programmiert? Wenn ja wäre super wenn ihr mir weiter helfen könntet, es 
tut sich nämlich gar nichts :-).

Ich habe den folgenden Code verwendet:

#include "io.h"
#include <avr/interrupt.h>
#include "signal.h"
#include <util/delay.h>

  void EUSART_Transmit_data( unsigned int data )
  {
  // Wartet, bis Transmit lehr ist
  while ( !( UCSRA & (1<<UDRE)))
  {
  };
  //Die datei wird in den Buffer geladen und dann gesendet
  EUDR = data>>8;
  UDR = data;
  }

int main (void)
{
  //UCSRA =
  ;
  UBRRL = 50;  //Setzt Baudrate des Transmitters auf 1200;
  UCSRC = 0b00001000; //Setzt die Stop-Bits auf 2;
  MUBRR = 833; //Setzt Baudrate des reveivers auf 1200 und Frequenz auf
1MHz
  EUCSRA = 0b10110111; //Hier wird die Anzahl der zu senden Bits
eingestellt (16)
  EUCSRB = 0b00011010;  //EUSART-Mode wird eingeschaltet
  UCSRB = 0b00011000;  //EUSART Transmitter wird eingeschaltet
  unsigned int data = 0b1010100101111001;
  //unsigned int data = 0b1001111010010101;

  EUSART_Transmit_data(data);



  while(1)
  {
  }
}

von Gerd E. (robberknight)


Lesenswert?

Bist Du Dir wirklich ganz sicher daß der UART von Deinem µC die Bits für 
DALI korrekt ausgibt? Hast Du Dir die Ausgabe mit dem Oszi angeschaut 
und mit den DALI-Specs verglichen?

Als ich damals DALI angesteuert habe, hab ich Bitbanging verwendet weil 
mein Atmega328 das nicht per UART konnte. Ich hab jetzt aber nicht mehr 
genau im Kopf wo das Problem war, aber vielleicht ist Dein AT90PWM3b ja 
in der Hinsicht besser.

von Thorsten S. (heidelbersch)


Lesenswert?

Ich habe mit dem Oszi geschaut, aber es kommt keine high(o. low) Flanke 
raus.
Der Code ist von einem AT90PWM2b sollte ja aber auf dem AT90PWM3b 
genauso funktionieren.

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.