-         

Ergebnis 1 bis 3 von 3

Thema: Atmega 32 als Inverter

  1. #1

    Atmega 32 als Inverter

    Anzeige

    Hallo,

    in meiner Schaltung muss ich ein Signal aus einem Mux (74 HC4067) Pin 1
    invertieren. Da ich in der Schaltung einen Atmega32 verwende wollte ich
    damit das Signal invertieren.
    PortD Pin 4 soll der Eingang und Pin 5 der Ausgang für das invertierte
    Signal sein.

    Im C-Programm sieht das verkürzt auf diese Routine wie folgt aus:

    void init(void);
    #define IMPP PORTD
    #define IMPPI PIND
    #define IMPD DDRD

    int main(void)
    {
    init();
    while(1){

    if (!(PIND & (1<<PIND4))) {
    IMPP |= (1<<5);
    }
    else{
    IMPP &= ~(1<<5);
    }
    }
    }

    void init()
    {
    DDRD = 0xff; // PORTD auf Ausgang setzen
    DDRD &= (1<<PD4); // Pin 4 auf Eingang (Info <<)

    PORTD=0x00;
    }

    Das Signal aus dem Mux bricht lt. Oszi fast ganz zusammen, sobald ich es
    am Atmega anschließe.
    Ist der Eingangswiderstand am Atmega so niedrig, dass das Signal getötet
    wird, oder habe ich einen grundsätzlichen (Denk-)Fehler im Programm?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    DDRD &=~ (1<<PD4); // Pin 4 auf Eingang (Info <<)
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #3
    War wohl ein Schreibfehler, danke.
    Werd's ausprobieren.

Berechtigungen

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