Hi,
mit dem Poti und dem Ausgang auf Low das klappt. Aber eines verstehe ich überhaupt nicht: ich verwende zur Erzeugung eines Signals folgenden Code:
Code:
#include <stdlib.h>
#include <avr/io.h>
#include <util/delay.h>
#include <math.h>
void _delay_s(uint8_t sek){
for (int i=0; i!=sek; i++){
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
}
}
/*SND_A_PORT &= ~(1<<SND_A_PIN); //EN auf Low
SND_A_DDR |= (1<<SND_A_DD); //Ausgang*/
int main(void)
{
DDRB |= (1<<DDB0); //PB0 als Ausgang
PORTB &= ~(1<<PB0); //PB0 auf Low
_delay_s(5);
for(;;){
PORTB ^= (1 << PB0); //Toggle
_delay_ms(2);
}
}
Der Ton klingt nicht sauber.
Wenn ich aber DDRB |= (1<<DDB0); auskommentiere, dann klingt der Ton wunderbar. Unlogisch?
Lesezeichen