mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik portB und portE an ATMEGA64


Autor: Ueli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich möchte diese beiden ports als Ausgänge für die Ansteuerung externer 
'Geräte' (Steuerung von Multiplexern) benutzen. Die Pins des ports B 
scheinen durch Zweitfunktionen (ISP) belegt zu sein. Kann ich diesen 
Port wirklich nicht benutzen? (Ich möchte den ATMEGA immer noch über 
AVR910/911 und ISP programmieren können.
Warum das Ansteuern von Port E nicht funktioniert ist mir ein Rätsel, da 
es laut Datenblatt ja keine blockierenden Zweitfkt gibt.
?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ISP-Anschlüsse liegen beim Mega64 nicht an PORTB (MISO, MOSI), 
sondern an PORTE (PDO, PDI)! Außerdem könnte es sein, dass die Mega103 
compatibility fuse noch gesetzt ist (Auslieferungszustand), die 
bestimmte Funktionen des Mega64 blockiert.

Autor: Ueli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit PDO/PDI hab ich bereits bemerkt. An PORTB liegen aber noch SS, 
SCK und MOSI,MISO. Jedenfalls kann ich im Moment weder B noch E als 
Output benutzen. Wollte testweise 0x02 an B einstellen, d.h. PB1=1 alle 
anderen =0. Tatsächlich aber ist PB0=1 und  PB3=1.
Ähnlich an PORTE: will im Programm 0x08 ausgeben, tatsächlich aber sind 
alle Pins auf Low.

Compatibility-fuse hab ich gelöscht.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SPI-Interface und UART abgeschaltet? Dass an Port E alle Pins Low 
bleiben, kann eigentlich nicht passieren, wenn die Portregister korrekt 
konfiguriert sind.

Autor: Ueli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der USART sollte standartmässig abgeschaltet sein. Wie meinst du 
SPI-Interface abschalten? SPIEN-Fusebit? Kann ich ihn dann noch über 
mein AVR910 Programmer am ISP programmieren?

Autor: Ueli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab grad eine interessante Entdeckung gemacht:
Es ist wohl ein anderer Fehler im Programm:

setze ich das gewünschte bei der Initialisierung (// Setzen bei INIT der 
PORTS), so funktioniert alles prächtig, will ich die Ports aber weiter 
'unten' im Programm setzen (//WOLLTE HIER SETZEN), so gehts nicht.
Ich bleib wohl irgendwo dazwischen stecken? Sehe den Fehler allerdings 
nicht.

  //DDRA=0xFF;  PORTA=0x00;
  DDRB=0xff;  PORTB=0x02;  // Setzen bei INIT der PORTS
  //PORTC
  //PORTD
  DDRE=0xff;  PORTE=0x08;       // Setzen bei INIT der PORTS
  DDRF=0xff; PORTF=0x00;
  //PORTG
  wdt_enable(WDTO_2S);
  //wdt_disable();


  // Timers
  timer.busy1=0;timer.busy3=0;
  // 16-bit Timer1&3 :: Weichen

  TCCR1A=0x00;
  TCCR1B=0x00;    //Timer gestoppt
  TIMSK=0x10;
  TCCR3A=0x00;
  TCCR3B=0x00;

  sei();

  wdt_reset();
  lcd_init(LCD_DISP_ON);
  lcd_data(LCD_FUNCTION_4BIT_2LINES);
  lcd_clrscr();
  lcd_home();
  lcd_puts("Willkommen");

  wdt_reset();

  //setSP(&sp[0],0);
  //switchSP();
  PORTE=0x08;                  //WOLLTE HIER SETZEN
  PORTB=0x02;                  //WOLLTE HIER SETZEN

Autor: Ueli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat sich erledigt, der einzige Fehler war, dass ich das Display an PORTF 
nicht verbunden hatte (weil ich es eigentlich nicht benötigte), die 
Displayansteuerungsfunktion blöderweise aber eine Antwort des Displays 
erwartet. :-)

Vielen Dank für deine Hilfe!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.