Przede wszystkim chciałem wszystkim powiedzieć serdeczne WITAM:P
Tak sie złożyło, że ostatnio zainteresowalem sie programowaniem mikrokontrolerów, troche poczytałem no i wziąłem sie za pisanie pierwszych programów... i tu mam problem z biblioteka delay.h (tak wiem - bylo walkowane nie raz- czytałem odpowiedzi na moje pytanie nie znalazłem)
Oto kod programu (bardzo ambitnego:D):
o co chodzi? otóż nie rozumiem w ogóle zachowania funkcji _delay_ms()...
obojetnie jaka wartosc ms /ilosc przebiegow petli for bym nie wpisal diody i tak migaja z taka sama czestotliwoscia....
a co najsmieszniejsze jak wrzucilem kod w VMLAB'a i tam jest ok:D
ma ktoś jakiś pomysł dlaczego tak sie dzieje??
a i jeszcze jedno pytanie niekumatego... dlaczego program z delay.h trzeba kompilować z optymalizacją??
Pozdrawiam:D
Tak sie złożyło, że ostatnio zainteresowalem sie programowaniem mikrokontrolerów, troche poczytałem no i wziąłem sie za pisanie pierwszych programów... i tu mam problem z biblioteka delay.h (tak wiem - bylo walkowane nie raz- czytałem odpowiedzi na moje pytanie nie znalazłem)
Oto kod programu (bardzo ambitnego:D):
#include <avr/io.h>
#define F_CPU 8000000
#include <util/delay.h>
#define SET(port,bit) (port |= _BV(bit))
#define RESET(port,bit) (port &=~_BV(bit))
#define SWITCH(port,bit) (port ^=_BV(bit))
void Inicjalizacja(void)
{
DDRB = 0xFF; // Ustawiamy port B jako wyjścia
PORTB = 0xFF; // Ustawiamy wyprowadzenia portu B w stan wysoki
}
int main(void)
{
Inicjalizacja();
unsigned int i=0;
while(1) // Rozpoczęcie pętli
{
PORTB = 0x00;
for(i=0;i<10000;i++) {
_delay_ms(30);
}
PORTB = 0xff;
for(i=0;i<10000;i++) {
_delay_ms(30);
}
} // Powrót do początku pętli
}o co chodzi? otóż nie rozumiem w ogóle zachowania funkcji _delay_ms()...
obojetnie jaka wartosc ms /ilosc przebiegow petli for bym nie wpisal diody i tak migaja z taka sama czestotliwoscia....
a co najsmieszniejsze jak wrzucilem kod w VMLAB'a i tam jest ok:D
ma ktoś jakiś pomysł dlaczego tak sie dzieje??
a i jeszcze jedno pytanie niekumatego... dlaczego program z delay.h trzeba kompilować z optymalizacją??
Pozdrawiam:D
