Forum: Mikrocontroller und Digitale Elektronik ATTiny261, XTAL Pins als IO benutzen


von BabaluX (Gast)


Lesenswert?

Hallo!

Ich benutze einen ATTiny261 und stehe vor dem Problem, dass mir die I/O 
Pins ausgegangen sind. Bin leider an diesen µC gebunden und das 
Platinendesign steht mehr oder weniger fest. Große Änderungen an der 
Hardware fallen somit leider flach. Ein möglicher Ausweg wäre also 
jener, die beiden XTAL Pins (PortB.4 und PortB.5) zu benutzen. Konkret 
wäre es wünschenswert diese beiden Pins als "normale" digitale Ausgänge 
zu benutzen.

Laut Datenblatt sollte das meiner Meinung nach auch funktionieren sofern 
der intene 8MHz Clock als Taktquelle verwendet wird, es also ausreichend 
ist den internen Clock als Taktquelle auszuwählen, oder liege ich hier 
falsch?
Leider funktioniert das nämlich nicht so richtig. Er verwendet zwar wie 
gewollt den internen Clock, allerdings lassen sich die beiden Pins 
dennoch nicht ansprechen. Hätte es mal testweise versucht indem ich die 
Pins einfach toggeln lasse. Beide Pins bleiben aber auf 0V, es toggelt 
nichts :)
1
void main( void ){
2
3
  DDRB  = 0xFF; // Set to output
4
  PORTB = 0x00;  // Init
5
6
  while(1)
7
  {
8
    PORTB4_bit = ~PORTB4_bit;
9
    PORTB5_bit = ~PORTB5_bit;
10
  }
11
}

Vergesse ich hier etwas, oder funktioniert das tatsächlich nicht so wie 
ich glaube?

Ich arbeite mit dem mikroElektronika 5a Development Board. Programmiert 
wird mit microC und AVRFlash.

Danke im Vorraus!

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Hallo!

Funktioniert denn das Toggeln per
    PORTB4_bit = ~PORTB4_bit;
mit einem anderen Pin? Ich kenn diesen Syntax nicht – aber das muss 
nicht viel heißen. :-)

von Spess53 (Gast)


Lesenswert?

Hi

>Vergesse ich hier etwas, oder funktioniert das tatsächlich nicht so wie
>ich glaube?

>Ich arbeite mit dem mikroElektronika 5a Development Board. Programmiert
>wird mit microC und AVRFlash.

Vielleicht liegt es an deinem Board. Wenn der ATTiny261 mit internem 
RC-Oszillator läuft sind die beiden Pins als IO verfügbar. Hast du 
direkt an den Controllerpins gemessen?

MfG Spess

von BabaluX (Gast)


Lesenswert?

Hey,

Neuer Tag neues Glück... habs heute nochmal genauso probiert wie oben 
beschrieben. Interessanterweise hats heute problemlos geklappt^^. Keine 
Ahnung was gestern los war, aber ich befürchte, dass ich das 
Toggletestprogramm zwar in den µC gespielt hab, aber dann doch den 
anderen, auf dem das eigentlich größere Projekt drauf war, durchgemessen 
hab. Ja es war schon eetwas später^^.

Hab heute nochmal gründlich im eigentlichen Projekt nachgeforscht und 
dort noch einen kleinen aber schwerwiegenden Fehler gefunden und es 
funktioniert nun alles zur Zufriedenheit.

Egal, lange Rede kurzer Sinn. Das Aktivieren des internen Oszillators 
schaltet die IO Funktion der beiden Pins frei, und mit einem 
fehlerfreien Programm kann man die dann auch nutzen :)

Manchmal scheiters einfach an purer Schlampigkeit :). Danke für eure 
Rückmeldungen!

lg
BabaluX

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.