Hjälp med felsökning
Postat: 5 mars 2012, 17:06:43
Jag håller på att ta fram kod till en atmega16 som ska ta sköta två ultraljudshögtalare för att kunna bedöma avstånd. Detta innebär bl a att generera en 8 perioder lång pwm på 40 kHz till sändaren. Problemet uppkommer när jag vill sätta pinnen där jag får min insignal från mottagaren till input. då finns det inte längre någon pwm signal på utpinnen.
Så vitt jag vet är det egentligen inte nödvändigt att deklarera den som input då alla pinnar per default är definierade som just input men det gör mig egentligen bara mer förvirrad eftersom raden då inte borde ändra något.
// pin config
DDRD |= (1<<PIND5); // Trigger on PD5
//DDRD &= (0<<PIND6); // Echo on PD6
//PORTA |= (1<<PIND6); // pullup on PD6
PORTD &= (0<<PIND5); // no trigger
Om koden körs i detta läge så får jag en pwm på utpinnen men tar jag bort kommenteringarna så försvinner den alltså.
Jag hoppas att det finns någon vänlig själ här som har tid att hjälpa mig med detta eftersom det har gäckat mig större delen av dagen. Koden är ca 100 rader allt som allt. Jag är ganska ny på det här med C-programmering och vet att det inte är världens snyggaste kod men jag hoppas att ni har överseende.
Så vitt jag vet är det egentligen inte nödvändigt att deklarera den som input då alla pinnar per default är definierade som just input men det gör mig egentligen bara mer förvirrad eftersom raden då inte borde ändra något.
// pin config
DDRD |= (1<<PIND5); // Trigger on PD5
//DDRD &= (0<<PIND6); // Echo on PD6
//PORTA |= (1<<PIND6); // pullup on PD6
PORTD &= (0<<PIND5); // no trigger
Om koden körs i detta läge så får jag en pwm på utpinnen men tar jag bort kommenteringarna så försvinner den alltså.
Jag hoppas att det finns någon vänlig själ här som har tid att hjälpa mig med detta eftersom det har gäckat mig större delen av dagen. Koden är ca 100 rader allt som allt. Jag är ganska ny på det här med C-programmering och vet att det inte är världens snyggaste kod men jag hoppas att ni har överseende.