Gast
#75720
Hallo,
warum liefert das folgende Programm Vcc/2 am Ausgang, obwohl das
Tastverhältnis Vcc/3 liefern sollte?
#include <avr/io.h>
void delay_us (unsigned short us);
void delay_us(unsigned short us) {
while ( us ) us--;
}
int main (void) {
unsigned char t_ein = 100; //liefert 2,6V am Ausgang
unsigned char t_aus = 50;
unsigned char x = 0;
outp (0xFF, DDRB);
for (;;) {
while (x<t_ein) {
outp(0x00, PORTB);
delay_us (100);
x++;
}
x = 0;
while (x<t_aus) {
outp(0xFF, PORTB);
delay_us (100);
x++;
}
}
}