atmega 32

hallo,,

voor een school project moet ik een robot bouwen.
op de robot ga ik een botssensor aansluiten.
daarvoor ben ik een programma aan het schrijven met c op avrstudio4. ik heb een kleine schakeling gemaakt op een breadboard om te testen. aan portb heb ik ledjes aangesloten, als ik op porta pin1 hoog maak moeten de ledden aan portb branden. ik sluit dus 5v aan porta pin1.
"""""""""''"""""""""""
DDRB = 0xff;
DDRA = 0x00;
while(1) {

if(PORTA == 0x01)

{
PORTB = 0xff;
_delay_loop_2(0xFFFF);
}
return 0;
}
""""""""""""""""""""""
als ik het op avrstd4 ga simuleren werkt het wel, op breadboard niet. kan ik gewoon 5v aansluiten op porta pin1?,,,hoe werkt de ingangen van atmega?

Mieter simulatoren toch eens het raam uit.

Je weet van PA1 dat die 1 is. Je test op PORTA.
Om te beginnen moet je op PINA testen (zelf even uitzoeken wat het verschil is, dat is veel leerzamer dan dat ik het je vertel). En verder weet je niets over de status van de rest van de pinnen. Zelf zou ik alleen op pin 1 testen, niet op de hele port.

Zorg dat je NOOIT, NOOIT, NOOIT wat met Versatel Tele2 te maken krijgt!

Op 26 oktober 2007 02:57:42 schreef new:
als ik het op avrstd4 ga simuleren werkt het wel, op breadboard niet. kan ik gewoon 5v aansluiten op porta pin1?,,,hoe werkt de ingangen van atmega?

Als je doet wat Marco zegt, zal het werken.

Tip van de dag: Je kan gewoon 5V aansluiten op de pinnen. Werkt prima. Maar als je een fout in de software maakt en je configureert die pin als output naar ground, dan heb je vuurwerk.
Daarom verkies ik altijd een weerstand in serie te plaatsen die de stroom in dat geval beperkt (470 Ohm bijv.)
(ps: heeft een heel klein beetje invloed op de timing)

Op 26 oktober 2007 05:36:53 schreef Marco69:
Mieter simulatoren toch eens het raam uit.

Woah!! De sim bespaart je heel wat nodeloze programmeer cycles! Je moet natuurlijk wel de AVR begrijpen om met de sim te kunnen werken. Wat de TS in de sim heeft lopen doen is het bit van het PORTA register zitten togglen en niet van PINA. Dus ja, dan 'werkt' het in de sim. Maar da's geen gebrek van de sim maar gebrek aan AVR kennis. Niet om de TS af te vallen; die is immers druk aan het leren.

De beste leerschool is natuurlijk het breadbordje, maar de sim kan hier zeker bij helpen. Waar het allemaal op neerkomt: Datasheet studie Probeer eerst eens te begrijpen hoe een AVR poort is opgebouwd. Dan wordt het foutzoeken ook veel makkelijker ;)

Het is nu wel gelukt:)). bedankt voor voor jullie reacties.