Forum: Mikrocontroller und Digitale Elektronik Atmega328P: PB6/PB7 als I/O nutzen


von regina (Gast)


Lesenswert?

Hallo liebes Forum!

Ich stehe mit einem Problem auf dem Schlauch und finde die Lösung nicht.
Ich muss bei einem Atmega 328p die Pins PB6 und PB7 als Output-Pins 
nutzen. Zur not hätte ich noch PD5 frei und könnte den als Output 
nutzen, aber einen von beiden brauche ich. Das sind ja auch externe 
Oszillator-Quellen, ich nutze den internen 8MHZ. Ich schmeiße bisher 
auch nicht den Timer2 an (obwohl ich es eigentlich später an PD3 
vorhatte, aber erstmal egal.)
Nun senden die einfach kein Signal. Internetsuche hat mich auch nicht 
schlauer gemacht, hier im Forum fand ich lediglich diesen Beitrag:
Beitrag "ATmega328 und verwendung von PB6 und PB7 statt Oszillator"
Da steht ja nun, wenn ich den internen Oszillator einstelle und den Pin 
nicht als Taktquelle für Timer2 nutze, sind die Pins automatisch 
I/O-Pins. Aber nicht so bei mir.
Ich nutze Atmel Studio 6.2, programmiere über ISP mit einem Diamex-AVR 
STK500.
Wahrscheinlich bin ich nur zu blöd um vernünftig zu suchen und generell 
noch blutige Anfängerin, würde mich über Hilfe aber sehr freuen. Ich 
verbleibe mit besten Grüßen und sag schonmal Danke für etwaige Hilfe!
Regina

von Karl M. (Gast)


Lesenswert?

Hallo Regina,

Tipp nimm dir bitte immer das aktuelle Datenblatt zu deinem AVR µC zur 
Hand.

Bitte poste deinen Schaltplan und dein Programm, wo Du mögliche Fehler 
vermutest.

Wenn ich jetzt schreiben würde, bei mir geht das problemlos, ist Dir 
nicht geholfen.

von regina (Gast)



Lesenswert?

Danke für die schnelle Antwort. Also hier Board, Schaltplan und 
Testcode. Es werden 8 HCSR-04 Module ausgelesen. Modul 1-6 klappen 
super, 7 und 8 hängen eben an PB6 und 7 als Trigger-Pins, da schmiert 
das Programm ab. Es liegt nicht an den Modulen und nicht an den Kabeln, 
klemm ich diese an andere Inputs, dann läuft alles. Auch die Interrupts 
an PCINT1 (Modul 1-5) und PCINT2 (6-8) laufen. Modul 7/8 hängen an 
PCINT2, Modul 6 jedoch auch und bei dem funktioniert mein Code. Aber 
bestimmt habe ich irgendeine Kleinigkeit übersehen. Ich hoffe, der Code 
ist einigermaßen gut dokumentiert, stehe für jegliche Rückfragen gerne 
zur Verfügung. Das auf Lochrasterplatine gelötete Board habe ich ca. 10 
Mal auf Fehler untersucht und immer noch keine gefunden... Danke 
nochmal...

von regina (Gast)


Lesenswert?

Problem gelöst, läuft jetzt alles, war doch nur eine Verwechslung in den 
#defines... peinlich peinlich... das sowas dann erst in der 11. 
Kontrolle auffällt...

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.