mikrocontroller.net

Forum: Compiler & IDEs ATmega32 und PORTC


Autor: Jürgen Sachs (jsachs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche verzweifelt den PORTC des atmega32 zu verwenden.
In der Zwischenzeit verwende ich folgendes Minimalprogramm zum Test:
#include <avr/io.h>

#define nop() __asm ("nop;")

void Delay(void)
{
  for (uint16_t cnt2 = 0 ; cnt2 < 0xFFFF ; cnt2++) nop();
}

int main(void)
{
  DDRC = 0xFF;
  while(1)
  {
    PORTC = 0xFF;
    Delay();
    PORTC = 0x00;
    Delay();
  };
}

Aber die Pins haben meist statische Pegel, egal was ich mache.
PC0 = T, PC1 = T, PC2 = 1, PC3 = 1 , PC4 = 0, PC5 = 0, PC6 = T, PC7 = T
"T" Bedeutet einen Takt, der meinem obigen Programm entsprechen dürfte.
Da ich sonst keine Register setze, sollten es doch normale Portpins 
sein, so verstehe ich zumindest das Datenblatt. Alle anderen Pins sind 
OK soweit.

Jemand ne schnelle Idee ?

Danke
Juergen

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck dir mal die alternative Portbelegung an...

Autor: Jürgen Sachs (jsachs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Argh,

wieso ist den by default das JTAG Aktiv ????
Hat sich erst mal erledigt.

Gruss
Juergen

Autor: Hans-jürgen Herbert (hjherbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist JTAG noch aktiviert, deswegen können die Bits nicht benutzt 
werden.

Also erst mit Ponyprog die Fuse "JTAGEN" abschalten.

Siehe auch 
http://www.mikrocontroller.net/articles/AVR_Checkl...

Danach hatte ich auch mal 5 Stunden gesucht :-((

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wieso ist den by default das JTAG Aktiv?

Weil es eine der möglichen Programmierschnittstellen ist.  Du kannst
mit JTAG programmieren, ohne einen ISP-Adapter zu besitzen.

Kannste entweder permanent per Fuse abstellen oder zur Laufzeit per
JTD.

Autor: Jürgen Sachs (jsachs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten

Das klinkt ja alle Logisch, nur steht nirgends das das per Default an 
ist.
Leider bin ich erst zu spät darauf gekommen einfach die Fuses auszulesen 
:-(

Gruss
Juergen

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Default-Einstellungen der Fuses stehen auch im Datenblatt.

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gibt's doch ein Buch von Michael Ende?

... ach ja, "Die unendliche Geschichte".

Sollte eigentlich "JTag und der PORTC" heißen, aber als Kontrast zu 
seinem Namen wählte er den endlosen Titel.

;-)  Werner

P.S.
Hat einer mitgezählt wer den Rekord hält?

  ATmega128 mit der M103 Fuse oder ATmega16/32 mit JTag Fuse?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werner B. wrote:

> Hat einer mitgezählt wer den Rekord hält?
>
>   ATmega128 mit der M103 Fuse oder ATmega16/32 mit JTag Fuse?

Ach was.  Das hier:

http://www.nongnu.org/avr-libc/user-manual/FAQ.htm...

hab' ich geschrieben, nachdem ich einen Abend lang auf einem
ATmega128 gesucht habe, warum mein Port F nicht richtig
funktioniert.  M103C war ja offensichtlich...

Autor: Jürgen Sachs (jsachs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, dann kann ich nur hoffen das bei meinem Display Problem (Siehe 
anderes Posting "LCD und mega32") Fuse XYZ oder Fuse 0815 noch zusetzen 
ist :-)
Da bin ich echt am Verzweifeln.

Alles in Allem sind das die Fehler die man Theoretisch nie vergisst ;-)

Gruss
Juergen

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann gibts ja auch noch die Leute, die völlig unverständlicher Weise 
annehmen, die SPI-Programmierung des ATMega128 ginge über die SPI-Pins.


Peter

Autor: Andreas Paulin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich hab mir an PICs ja auch schon die Zähne ausgebissen, weil 
irgendwelche Ports "analog by default" sind, und die Fuses meines ersten 
AVR AT90CAN128 haben mich auch ins Schleudern gebracht, aber.......

"M103C" ist der Hammer. Habs mir gerade mal angesehen gg

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter Dannegger

>Dann gibts ja auch noch die Leute, die völlig unverständlicher Weise
>annehmen, die SPI-Programmierung des ATMega128 ginge über die SPI-Pins.

Naja, die SPI Programmierung geht schon über die SPI-Pins. Meistens 
wollen die Leute aber ISP programmieren ;-)

MfG
Falk



Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und oft braucht man PSI Kräfte, um das rauszubekommen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk wrote:
> @Peter Dannegger
>
>>Dann gibts ja auch noch die Leute, die völlig unverständlicher Weise
>>annehmen, die SPI-Programmierung des ATMega128 ginge über die SPI-Pins.
>
> Naja, die SPI Programmierung geht schon über die SPI-Pins. Meistens
> wollen die Leute aber ISP programmieren ;-)

Im Datenblatt steht aber auch "SPI Serial Programming".

ISP heißt In-System-Programming und damit ist alles gemeint, was in der 
Schaltung geht, also z.B. SPI-, JTAG-, Debugwire-, 
Bootloader-Programming.


Peter

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter Dannegger

>Im Datenblatt steht aber auch "SPI Serial Programming".

>ISP heißt In-System-Programming und damit ist alles gemeint, was in der
>Schaltung geht, also z.B. SPI-, JTAG-, Debugwire-,
>Bootloader-Programming.

Na dann hat Atmel den Bock geschossen. Shit happens.

MFG
Falk

Autor: Clifford (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Atmel stiftet da sowieso ordentlich Verwirrung. Bei allen Controllern 
liegen die ISP Pins an der SPI Schnittstelle. Nur beim Mega128 (und dazu 
kompatiblen) liegt MOSI und MISO auf einem USART. Haben vielleicht 
gehofft das sich ein serielles Kabel durchsetzt das direkt über einen 
MAX232 programmieren kann? Ach ne, MAX232 reicht nicht. Man braucht 3 Rx 
Treiber (MOSI, SCK und RST).

Jedenfalls ging das nach hinten los

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.