07-06-2023, 03:51
Witam.
Chcialbym nauczyc sie choc minimalnie cos zaprogramowac. Niestety mojs wiedza we wszystkich aspektach wynosi 0.0 .
Wpierw chcialbym znapisac prosty programik generatora , ktory generejuje 2 ramki na przemian (np. 1- 5ms, 2- 7ms, ), i tak ciagle na zmiane.
przy pomocy innego przzykladu splodzilem cos takiego :
unsigned long pmicross;
unsigned long interwal = 1000;
int stan =1;
int stad =3;
void setup() {
pinMode(13, OUTPUT);
pmicross = micros();
}
void loop() {
// odliczanie w mikrosekundach
unsigned long currentMillis = micros();
if (currentMillis - pmicross >= interwal) {
pmicross = micros();
if (stan == 1) {stan = 2; interwal = 1000000;} else if (stan == 2) {stan = 1;interwal = 100000;}
if (stad == 3) {stad = 4; interwal = 500000;} else if (stad == 4) {stad = 3;interwal = 50000;}
}
if (stan == 1) {digitalWrite(13, HIGH);} else if (stan == 2) {digitalWrite(13, LOW);}
if (stad == 3) {digitalWrite(13, HIGH);} else if (stad == 4) {digitalWrite(13, LOW);}
}
Programik sie kompiluje ale nie dziala jak trzeba (na zzmiane)
Prosze milych forumowiczow o poprawienie tego
Zycze milego dnia.
Pozdrawiam
Wojtek
Chcialbym nauczyc sie choc minimalnie cos zaprogramowac. Niestety mojs wiedza we wszystkich aspektach wynosi 0.0 .
Wpierw chcialbym znapisac prosty programik generatora , ktory generejuje 2 ramki na przemian (np. 1- 5ms, 2- 7ms, ), i tak ciagle na zmiane.
przy pomocy innego przzykladu splodzilem cos takiego :
unsigned long pmicross;
unsigned long interwal = 1000;
int stan =1;
int stad =3;
void setup() {
pinMode(13, OUTPUT);
pmicross = micros();
}
void loop() {
// odliczanie w mikrosekundach
unsigned long currentMillis = micros();
if (currentMillis - pmicross >= interwal) {
pmicross = micros();
if (stan == 1) {stan = 2; interwal = 1000000;} else if (stan == 2) {stan = 1;interwal = 100000;}
if (stad == 3) {stad = 4; interwal = 500000;} else if (stad == 4) {stad = 3;interwal = 50000;}
}
if (stan == 1) {digitalWrite(13, HIGH);} else if (stan == 2) {digitalWrite(13, LOW);}
if (stad == 3) {digitalWrite(13, HIGH);} else if (stad == 4) {digitalWrite(13, LOW);}
}
Programik sie kompiluje ale nie dziala jak trzeba (na zzmiane)
Prosze milych forumowiczow o poprawienie tego
Zycze milego dnia.
Pozdrawiam
Wojtek