PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATTiny2313 Ausgang hat Takt



.:markus:.
17.08.2010, 20:10
Hallo,

ich bräuchte bitte wieder mal Unterstützung. Hab ein Problem mit dem Ausgang eines AVR's (ATTiny2313). Ich habe mein Problem auf folgende elektrische Situation eingeschränkt:

PortD.1 -----> 330Ohm Widerstand ----> LED (UV) ----> PortB.0

Schalte ich nun den PortD.1 auf High und PB0 auf Low BLINKT!!!!! die LED. Schätzungsweiße mit ~10-15Hz

Der Code:



#include <avr\io.h>
#include <avr\interrupt.h>

int main()
{
DDRB |= 0b00011111;
DDRB &= 0b00011111;
DDRD |= 0b01111011;
DDRD &= 0b11111011;

PORTB |=0b00011111;
PORTD = 0;

while(1)
{
PORTD |= 0b00000010;
PORTB &= 0b11111110;
}
return 0;
}


Meine bisherigen Versuche das Problem zu beseitigen (alle ohne Erfolg):

SW: - PORT Zuweisung außerhlab der Schleife.
- PIN Wert explizit 0 setzen

HW: - Verschaltung statt PB.0 direkt auf GND
- Verschaltung statt PD.1 direkt auf Vcc
- statt UV-Led -> Rote LED
- ISP abgesteckt


Die Versorgungsspannung ist konstant 5V. Die zusätzliche externe µC Beschaltung ist:

- 100nF zw. Vcc und Gnd
- Reset mit 22nF gegen Gnd und mit 4k7 gegen Vcc

Fuses:

-Int RC Osc. 8MHz
- Brown Out Detection 4.3V

Ich programmiere mit dem USB ISP Programmer und WinAVR.

Danke!!!! LG

Hubert.G
17.08.2010, 21:25
Ich nehme mal an das der Kontroller ein Reset macht.
Schalte mal testweise Brown Out Detection aus.
Deine Schreibweise ist äusserst unübersichtlich.

PORTB |=(1<<PB0) zum setzten
PORTB &=~(1<<PB0) zum löschen