ATmega8 PB1 funktioniert nicht

OP #3461401
Hallo zusammen,

leider tut dieser sehr einfache Code:
1
#include <avr/io.h>
2

3
int main(void)
4
{
5
  TCCR1A = 0;
6
  TCCR1B = 0;
7
  DDRB = 255;
8
  PORTB = 255;
9
  
10
    while(1)
11
    {
12
        
13
    }
14
}

auf meinem ATmega8 nicht das was er soll. Es werden alle Pins des Ports 
B auf High gesetzt, mit Ausnahme von PB1. Ich hatte dieses Problem schon 
mal bei einem ATmega8, soweit ich mich erinnern kann hing das Problem 
mit dem Timer 1 zusammen, da PB1 gleichzeitig mit OC1A belegt ist. Ich 
meine damals EINMALIG irgendein Register zurückgesetzt zu haben, nachdem 
der Code einmal auf dem ATmega lief, war dieses zurücksetzen nicht mehr 
nötig (im Code ist zu sehen, dass ich die beiden Control Register von 
Timer 1 schon auf 0 gesetzt habe, leider ohne Erfolg). Da ich diesen 
ATmega aber gestern zerschossen habe und einen neuen genommen habe, geht 
es leider wieder nicht.

Jemand eine Idee?

Vielen Dank
ISP
Gast
Hi

>Ich hatte dieses Problem schon
>mal bei einem ATmega8, soweit ich mich erinnern kann hing das Problem
>mit dem Timer 1 zusammen, da PB1 gleichzeitig mit OC1A belegt ist.

Nach einem Reset ist der Timer deaktiviert. Also TCCR1A und TCCR1B *sind 
* auf Null. Daran kann es also nicht liegen.

MfG Spess
(Firma: guloshop.de)
Ich würde mir die eigens aus dem Mikrocontroller gelesene und 
disassemblierte .hex-Datei anzeigen lassen. Wenn die ok ist, dann ist 
wahrscheinlich der ATmega8 beschädigt. Oder du hast den Pin verwechselt, 
was ich jetzt mal nicht glaube.
Gast
IS P. schrieb:
> #include <avr/io.h>
>
> int main(void)
> {
>   TCCR1A = 0;
>   TCCR1B = 0;
>   DDRB = 255;
>   PORTB = 255;
>
>     while(1)
>     {
>
>     }
> }

Hab das mal auf einem ATmega32 getestet und was soll ich sagen, funzt so 
wie es soll. Sollte auch auf einem Atmega8 funktionieren leider hab ich 
gerade keinen.
Vllt solltest du mal die Fuses checken was da eingestellt ist.
Gast
Hi

>Auf der Steckplatine scheint die Reihe auf der PB1 steckt keine
>Verbindung mehr zu haben.

Deswegen sollte man in solche Fällen auch direkt am Pin messen.

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 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.