-         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: I/O Ports M32 ständig an ?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.01.2012
    Beiträge
    20

    I/O Ports M32 ständig an ?

    Anzeige

    Hallo an alle,

    zurzeit betreibe ich LED`s an den I/O Ports PC5 und PC7. Mir sind folgende Fragen aufgetreten:

    1: Wenn ich den Roboter anschalte, liegen bereits 5 Volt am Ausgang dieser Ports an.
    2: Lege ich dann die BAsis meines Transistors für die Treiberschaltung der LED an fängt die LED an zu leuchten, aber schwach zu leuchten, die Spannung am Ausgang des Ports bricht auf 2.6 VOlt zusammen.
    3: Starte ich mein einfaches Programm LEuchten die LEDs normal hell und alles Funtioniert normal

    Wieso sind die LEDs an wenn ich den Roboter anschalte ? ICh finde so richtig keine Lösung.

    hier noch mein Programm zum testen:


    Code:
    //includes
    #include "RP6ControlLib.h" 		// The RP6 Control Library. 
    								// Always needs to be included
    #include "RP6I2CmasterTWI.h"	// I2C Master Library
    //defines
    
    // Main funcktion
    int main(void)
    {
    	initRP6Control();
    	DDRC |= IO_PC7; // PC7 Ausgang
    	DDRC |= IO_PC5; // PC5 Ausgang
    
    	// Low
    	writeString_P("So mal ein microfon test\n");
    	
    	startStopwatch1();
    	
    	sound(180,80,25);
    	sound(220,80,0);
    	
    	// Simple "Alarm" Sound using setBeeperFrequency function:
    	while(true)
    	{	
    		if(getStopwatch1() > 4000)
    		{
    			PORTC |= IO_PC7; // High
    			PORTC |= IO_PC5; // High
    			
    			sound(180,80,25);
    			sound(220,80,0);
    		}
    		if(getStopwatch1() >8000)
    			{	PORTC &= ~IO_PC7; // Low
    				PORTC &= ~IO_PC5; // Low
    				setStopwatch1(0);
    			}
    	}
    }
    Danke und viele Grüße,

    Christian

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Hi,

    ist das JTAG Interface bei deinem Chip per Fusebits ausgeschaltet?
    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
    Neuer Benutzer Öfters hier
    Registriert seit
    10.01.2012
    Beiträge
    20
    Wow,

    wie bitte ? Ich verstehe gerade Bahnhof... Was ist das ?

    OK habge gerade mal gegoogelt : http://www.mikrocontroller.net/articles/JTAG aber schlau werde ich daraus nicht, zumal wenn man in der tabelle Schaut über die Portbelegung nichtmal alle I/O Pins über dieses JTAG zu verfügen scheinen...

    ISt das denn normal das beim einschalten des Roboters alle I/O Pins auf High stehen ?

    Gruß Christian

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    nicht normal. Standardmäßig sind alle Ports nach dem Einschalten auf Input, also hochohmig. Lies dir das mit dem JTAG durch, den kannst du mit den Fuses abdrehen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Das JTAG-Interface ist eine Programmier und Debugschnittstelle. Die Mega-Controller werden standartmässig mit aktiviertem JTAG ausgeliefert. Damit PortC richtig genutzt werden kann, muss man das JTAG-Enable Bit in den Fusebits des Controllers löschen. Dadurch deaktivierst du das Interface und du kannst den PortC richtig nutzen.
    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

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    10.01.2012
    Beiträge
    20
    Wunderbar,

    danke für die schnellen Erläuterungen, ich lese mich gerade in das Thema ein, war ja gut das ich mich mit dem Thema mal an euch wende, kam mir komisch vor mit dem Verhalten der I/O Ports. Wenn ich das nicht hinkriege mit dem JTAG-Enable Bit löschen melde ich mich nochmal.

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    33
    Beiträge
    1.516
    > Wieso sind die LEDs an wenn ich den Roboter anschalte ?


    Ganz einfach:
    Der Bootloader schaltet diese Pins auf EINGANG mit PULLUP.
    Das wird gemacht um zu verhindern das irgendwelche angeschlossene Hardware die Pins zu stark belastet (weil z.B. Ausgang gegen Ausgang treibt).
    Der Bootloader weiss ja nicht was angeschlossen sein wird.
    Die Pullups sind aktiviert weil die Ports auf ein definiertes Potential gelegt werden müssen wenn nichts angeschlossen ist. Sonst fangen die sich ggf. Störungen ein und das Eingangsflipflop schaltet ständig schnell hin und her, was einiges an Energie benötigen kann.
    Das ist also völlig normal so.

    Und nein das hat rein gar nichts mit dem JTAG Interface zu tun, das sollte deaktiviert sein.
    Daran kannst Du auch ohne ISP Programmiergerät nix ändern.


    MfG,
    SlyD

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    10.01.2012
    Beiträge
    20
    Super,

    also muss ich mir deswegen keine Sorgen machen vowegen Spannungsabfall usw. ich dachte ich belaste die Outports in diesem ZUstand des uP etwas zu sehr oder so...
    ICh finde es aber trotzdem Komisch, wenn ich in der Libary die I/O Ports als Ausgang definiere sowie auf LOW dann machen sie das zwar, aber erst wenn ich das Programm starte, vorher wenn ich nur anschalte sind sie auf 5V.

    Nicht gerade sehr stromsparend...

    Gruß Christian

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    33
    Beiträge
    1.516
    > ICh finde es aber trotzdem Komisch, wenn ich in der Libary die I/O Ports als Ausgang definiere sowie auf LOW

    Dein Programm läuft zunächst gar nicht. Das wird erst gestartet wenn der Bootloader den Sprung dahin ausführt

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    10.01.2012
    Beiträge
    20
    Hallo,

    danke SlyD für den Link. Ich habe das ganze nun in sowiet verstanden:
    1: Für die INitialisierung des JTAG Interfaces oder dessen Umänderung kann ich nur über entsprechende Hardware (ISP als Schnittstelle) überhaupt einfluss nehmen. also NICHT mit dem USB interface
    2: Die I/O PORT's sind wenn man Spannung anlegt an uP grundsätzlich erstmal an
    3: Drücke ich den Start Taster wird das Programm in den Bootloader geladen, wo u.a. die Ports ihre anfangszustände nach der INitialisierung annehmen. in meinem Fall Ausgang auf low( habe ich Umgeändert in der Libary für die Portinitialisierung

    Kann man das Thema so auffassen ?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. RN Control piept ständig - defekt ?
    Von j_chris im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 4
    Letzter Beitrag: 01.02.2009, 20:01
  2. Bleigel Batterien ständig kaputt
    Von Powell im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 14.05.2008, 13:11
  3. Muss ständig Gateway_2.bas nachladen.
    Von topgunfb im Forum Robby CCRP5
    Antworten: 2
    Letzter Beitrag: 29.04.2008, 20:17
  4. Ständig Interrupt Probleme
    Von Spongebob85 im Forum C - Programmierung (GCC u.a.)
    Antworten: 21
    Letzter Beitrag: 28.10.2007, 22:05
  5. ATMega32 Portc.2 und 3 ständig auf High
    Von strunz im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 11.05.2007, 13:29

Berechtigungen

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