mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny44 PortA Problem


Autor: Lars R. (gravia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,
Wollte mit einem Attiny44 eine 7-Segment-Anzeige ansteuern.
Habe das ganze zuerst auf meiner Platine versucht doch da kam nur Müll 
auf der Anzeige raus(also keine vernüftigen zahlen).
Dann hab ich das ganze mal auf einem Breadboard aufgebaut und das 
Program so umgeschrieben das ich erstmal nur eine fixe Zahl angezeigt 
bekomme, aber auch da kam nicht das gewünschte Ergebnis bei rum , dann 
hab ich einfach mal den kompletten PortA auf 1 gesetzt und mit meinem 
Oszi die Ausgänge überprüft.

Da hatte sich dann folgends gezeigt :
PortA=Pin13->Pin6 am IC
Bei Pin 13,12,11,6 und 7 hab ich eine 1 bei Pin8,9,10 eine 0.

Beschrieben hab ich den mit der Arduino-IDE und einem Arduino Uno als 
ISP auf einem selbst erstellten Shield.

Wenn ich nur PortB auf 1 schreibe dann hab ich auch nur PortB auf 1 , 
also da funktioniert das alles wie gewollt.
#include<avr/io.h>
void setup(){
  DDRA = 00000000;
}
void loop(){
 PORTA = 11111111;
}

Muss ich da bei dem Baustein noch iwas beachten oder im Code noch etwas 
ändern ?
Bedanke mich schonmal für Antworten.
MfG Lars

: Bearbeitet durch User
Autor: Georg G. (df2au)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Lars R. schrieb:
> DDRA = 00000000;

Um einen Pin auf Ausgang zu setzen, schreibt man in das DDR Register 
eine... na, was sagt das Datenblatt da?

Kleine Hilfe: 0 ist der offene Mund, in den die gebratenen Tauben HINEIN 
fliegen.

Autor: Stefan E. (sternst)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Und abgesehen von der falschen Richtungseinstellung:

Lars R. schrieb:
> Bei Pin 13,12,11,6 und 7 hab ich eine 1 bei Pin8,9,10 eine 0.

Passt doch, denn genau so hast du es programmiert.
Es besteht ein gewisser Unterschied zwischen 11111111 und 0b11111111.

Autor: Lars R. (gravia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort.
Hab das im Programm mal geändert jedoch habe ich immer noch selbes 
Problem.

Mit digitalWrite bekomm ich die jedoch angesprochen , würde mir aber 
gerne etwas schreibarbeit ersparen mit dem direktem beschreiben des 
Registers.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lars R. schrieb:
> Hab das im Programm mal geändert jedoch habe ich immer noch selbes
> Problem.

dann zeige erst mal die aktuell Version.

Autor: Lars R. (gravia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok , ich bedanke mich bei euch sehr für die Hilfe.

Funktioniert ^^

Autor: Karl M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lars R. schrieb:
> ok , ich bedanke mich bei euch sehr für die Hilfe.
>
> Funktioniert ^^

Lars was bitte Funktioniert ?

Denke bitte auch daran, dass jemand anderes dieses Thread liest, und mit 
deiner Reaktion nicht versteht, was nun genau das Problem war.

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.