Hallo,
ich steh gerade voll aufm Schlauch und find einfach den Fehler nicht....
Habe in einem Programm gemerkt dass die _delay_ms funktion garnichts tut
- also egal welchen Wert ich ihr Übergebe das Resultat ist so als währe
sie garnicht da.
Jetzt hab ich ein mini Testprogramm geschrieben welches die Led's an
Port C blinken lassen soll:
1 | #define F_CPU 16000000L
|
2 |
|
3 | #include <util/delay.h>
|
4 |
|
5 | #include <avr/io.h>
|
6 |
|
7 |
|
8 |
|
9 | int main(void){
|
10 |
|
11 | DDRA=0xFF;
|
12 | DDRB=0xFF;
|
13 | DDRC=0xFF;
|
14 | DDRD=0xFF;
|
15 |
|
16 |
|
17 | while(1)
|
18 | {
|
19 | PORTC=0x00;
|
20 | _delay_ms (1000);
|
21 | PORTC=0xFF;
|
22 | }
|
23 |
|
24 |
|
25 |
|
26 | }
|
Und es passiert einfach nix - also die Led's Leuchten dauerhaft
(zumindest für's Auge) also als ob die delay Funktion garnicht da
stände.
Ich benutze WINAVR und einen Atmega16, dieser ist auch in der Makefile
mit richtiger Frequenz definiert.
Danke für die Hilfe ;)