-         

Ergebnis 1 bis 7 von 7

Thema: Atmega 8 Port C macht mir Probleme

  1. #1
    Neuer Benutzer Avatar von Mumpi
    Registriert seit
    16.09.2013
    Ort
    Mexiko-Stadt, Mexico
    Beiträge
    3

    Atmega 8 Port C macht mir Probleme

    Anzeige

    Moin zusammen,
    ich habe heute einen Atmega 8 auf einem Evaluierungsboard (http://www.pollin.de/shop/dt/NTI5OTg...rtigmodul.html) in C programmiert.
    Im Grunde habe ich nur den Port C Pin 0 als Ausgang verschaltet. Dann habe ich versucht an diesem Port ein Rechtecksignal zu erzeugen. Mit dem Osziloskop konnte ich aber nur eine Spannung von ca. 2.5V messen. Kennt jemand diese Problematik? Kann das am ADC liegen? Hier nochmal ein teil vom Quellcode:

    void init(){
    DDRC = (1<<PC0);

    }


    int main(void)
    {
    while(1){
    PORTC = (1<<PC0);
    _delay_ms(500);
    PORTC = (0<<PC0);
    _delay_ms(500);
    }
    }

    Vielen Dank für eventuelle Tipps oder Lösungsansätze.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Wenn der Mega8 einen JTAG Anschluss hat, dann dürfte der wohl daran Schuld sein. Den kannst du in den Fuses deaktivieren.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Kandel
    Alter
    29
    Beiträge
    1.220
    Es wäre eine gute Idee, init() auch in main() aufzurufen ... Die Ausführung startet IMMER bei main(), wenn du andere Funktionen ausgeführt haben möchtest, musst du das selbst tun. Ausnahmen davon sind nur die Interruptroutinen, aber das hat hiermit nichts zu tun.

    Der Mega8 hat übrigens kein JTAG, dafür ist er zu klein. Die Nachfolger, Mega[4|8|16|32]8 verfügen aus dem Grund auch "nur" über debugWIRE.

    mfG,
    Markus

    Nachtrag: Benutze doch bitte in Zukunft die Code-Tags, das verbessert die Lesbarkeit. Mit dem PHP-Tag gibt es sogar etwas Syntax-Highlighting.
    Tiny ASURO Library: Thread und sf.net Seite

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Soweit ich mich erinnern kann, funktioniert das setzen einer 0 nicht. Machs doch einfach wie es in jedem Tut gemacht wird:

    Code:
    void Init() {
        // PC0 als Output
        DDRC = 0x01;
    }
    
    
    int main() {
        // Ports initialisieren
        Init();
        
        while(1) {
            // PC0 setzen
            PORTC |= (1<<PC0);
            _delay_ms(500);
            
            // PC0 löschen
            PORTC &= ~(1<<PC0);
            _delay_ms(500);
        }
    }

    Oder noch besser:
    Code:
    int main() {
    	// Ports initialisieren
    	Init();
    	
    	while(1) {
    		// PC0 togglen
    		PORTC ^= (1<<PC0);
    		_delay_ms(500);
    	}
    }
    mfg

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Zitat Zitat von shedepe Beitrag anzeigen
    Wenn der Mega8 einen JTAG Anschluss hat ...
    Hi, shepede, wohl noch nie das Datenblatt vom mega8 gelesen? Und wenn der mega8 JTAG hätte, wäre das kaum ein Problem - JTAG-Pins sind afaik nicht mit P0 verbunden. Also doppelt daneben?
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Ne nur das selbe Problem mit nem Mega32 gehabt.

  7. #7
    Neuer Benutzer Avatar von Mumpi
    Registriert seit
    16.09.2013
    Ort
    Mexiko-Stadt, Mexico
    Beiträge
    3
    Mein Gott, vielen Dank erstmal. Der Fehler lag definitiv zwischen den Kopfhörern. Natürlich sollte ich init() aufrufen wenn ich denn schon in eine eigene Routine schreibe. Manchmal sieht man den Wald vor lauter Bäumen nicht. Vielen Dank!

Ähnliche Themen

  1. Inputten am ATMega 128L macht Probleme
    Von Simon92 im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 31.01.2009, 16:29
  2. PORT macht nicht was er so!! pull up?
    Von andi.studi im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 20.10.2008, 21:27
  3. Atmega 16 macht problemme
    Von Woftschik im Forum AVR Hardwarethemen
    Antworten: 11
    Letzter Beitrag: 30.06.2008, 17:00
  4. LCD-Kontroll-ATmega8 macht mir Probleme
    Von Zarathustra im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 14.04.2007, 17:36
  5. [ERLEDIGT] C-Control DA Port bitte helft mir :-)
    Von im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 20.03.2004, 15:02

Berechtigungen

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