atmega8 isp portB3 als Ausgang

OP #791719
Hallo zusammen

Ich benötige zusätzlich zu den PortsC und D noch 4 Kanäle von PortB. 
Wenn ich PB3 als Ausgang setze, bekomme ich Probleme mit der 
ISP-Programmierung. Gibt es hier einen Trick das Problem zu lösen, auf 
möglichst einfache Weise.

Der Controller muss nicht in der fertigen Schaltung programmiert werden.

Für eine Antwort wäre ich sehr dankbar.

Viele Grüße
Christoph
Christoph Schulz wrote:
> Hallo zusammen
>
> Ich benötige zusätzlich zu den PortsC und D noch 4 Kanäle von PortB.
> Wenn ich PB3 als Ausgang setze, bekomme ich Probleme mit der
> ISP-Programmierung. Gibt es hier einen Trick das Problem zu lösen, auf
> möglichst einfache Weise.
>
> Der Controller muss nicht in der fertigen Schaltung programmiert werden.
>

Na ja. Wenn er in der fertigen Schaltung sowieso nicht
programmiert wird, wo ist dann das Problem?
PB3 ist ein I/O Pin wie jeder andere auch.

Mega8 in der Programmierschaltung programmieren.
Aus dem Programmer rausnehmen. In die fertige Schaltung
einsetzen. Programm beobachten.
Christoph Schulz wrote:
> Sobald ich das Programm rüberlade, bricht mittendrin die Übertragung ab,
> weil der Port auf Ausgang geht.

Der kann nicht auf Ausgang gehen!
Solange du brennst, ist der Reset Pin auf Low, heist:
Der Prozessor läuft gar nicht! Lediglich ein kleiner µC
Kern schaufelt Daten ins Flash.

Erst wenn der Brenner mit der Übertragung fertig ist,
gibt er die Reset Leitung wieder frei und dein Programm
erhält die Chance loszulaufen und den Port zu konfigurieren.


> auch wenn dieser noch unbeschaltet ist.

Dann hat dein Brenner irgend ein Problem.
(Firma: Keine)
Hallo!
Auch mir ist unklar, wie ich mit den  Ports PB3 und PB4 umgehen muss.
Ich möchte die Programmierung via ISP bei meinem Prototypen natürlich 
"in circuit" erhalten. Außerdem sollen eben diese Ports einen CMOS-MUX 
ansteuern, also als Ausgang wirken. Da die Eingänge des MUX sehr 
hochohmig sind, glaube ich nicht das ich dem Progger schade....
Doch wie sieht das mit den Multiplexern aus?? Die würden ja dann wie 
verrückt herumschalten??
Sollte ich während der Programmierung den MUX von den Ports PB3 und PB3 
trennen (z.B. Jumper), oder ist das egal?

Wie setze ich das in der Initialisierung um? Definiere ich einfach die 
Ports als Ausgang, oder muss ich noch etwas berücksichtigen?

Vielen Dank für Ratschläge!

Gruss,
S.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.