Aktywne Wpisy

mirko_anonim +8
✨️ Jak poradzić sobie z humorem w związku? Ⓘ
Mam dość nietypowy problem w #zwiazki.
Jestesmy malzenstwem po 30stce. Jest lepiej niz gorzej, wiadomo wzloty i upadki. Ale tydzien temu poklocilam sie naprawde mocno z mezem. Wylaly sie wiadra pomyj trzaskania drzwiami. Szczegoly nie sa zbyt wazne ale po klotni maz podszedl i powiedzial " ja chciec sie pogodzic". Dla mnie to byl troche oczyszczajacy atmosfere zart, a potem juz wieczorem
Mam dość nietypowy problem w #zwiazki.
Jestesmy malzenstwem po 30stce. Jest lepiej niz gorzej, wiadomo wzloty i upadki. Ale tydzien temu poklocilam sie naprawde mocno z mezem. Wylaly sie wiadra pomyj trzaskania drzwiami. Szczegoly nie sa zbyt wazne ale po klotni maz podszedl i powiedzial " ja chciec sie pogodzic". Dla mnie to byl troche oczyszczajacy atmosfere zart, a potem juz wieczorem

littlebuzz +481
źródło: obraz_2025-09-29_082609105
Pobierz




Program kompiluje się, odpala, natomiast dioda świeci tak jak chce, a nie tak, jak powinna.
Ktoś ma jakiś pomysł? Ew. mogę wrzucić rozrysowane grafy stanów, normalny i dla mikro.
#arduino
//KL - klwaisz; LD - dioda - tim - timer
//st1,2,3 start timera 1,2,3s,
//tabPS - pole skoku, tabPW - pole warunku,
//tabPA - pole adresu
char KL=7, LD=8, tim, pc, xw, st1, st2, st3;
char tabPS[]={0, 12, 8, 2, 0, 9, 8, 8, 0, 0, 8, 8};
char tabPW[]={2, 1, 3, 1, 3, 1, 4, 5, 6, 0, 2, 0};
char tabPA[]={0, 0, 10, 0, 4, 0, 1, 6, 8, 0, 1, 0};
void setup()
{
pinMode(KL, INPUT);
pinMode(LD, OUTPUT);
}
void loop()
{
//digitalWrite(LD)=(tabPS[pc]&8)?HIGH:LOW;
if(tabPS[pc]&8)digitalWrite(LD, HIGH);
else digitalWrite(LD, LOW);
st3=(tabPS[pc]&4)?1:0;
st1=(tabPS[pc]&2)?1:0;
st2=(tabPS[pc]&1)?1:0;
switch(tabPW[pc])
{
case 0: xw=0; break;
case 1: xw=1; break;
case 2: xw=digitalRead(KL); break;
case 3: xw=!tim; break;
case 4: xw=!(!tim&&!digitalRead(KL)); break;
case 5: xw=!tim&&digitalRead(KL); break;
case 6: xw=!digitalRead(KL); break;
}
if(xw)++pc;
else pc=tab_PA[pc];
if(st3) tim=3000;
else if(st2) tim=2000;
else if(st1) tim=1000;
if(tim) --tim;
delay(1); // delay in between reads for stability
}
int KL=7, KL1, LD=8, tim, stan=1;
void setup()
{
pinMode(KL, INPUT);
Z metodyki "automatykowej" jestem zielony jak szczypiorek na wiosnę dlatego mam pytanie, w każdym stanie, na początku ustawiasz wyjście (digitalWrite(...)) nawet jeżeli wiesz, że stan się nie zmienił, np. "case 1" musi się wykonać 3000 razy i za każdym razem ustawiasz "LOW". Z tego co wiem to
Ustawianie wyjść w przejściu stanów czy na początku stanów nie będzie problemem. Pierwszy case nie wykona się 3000 razy, tyle razy wykona się Case 2 - zauważ, że 3000 inicjujemy właśnie w przejściu z 1 do 2.
Tak zostałem nauczony, tak też zawsze robiłem na czystych AVRach. Nie wiem ile szybciej działałby program, nigdy
ok, racja to się tyczy następnych