 |

|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2026 02 27, 11:22. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » programavimo niuansai
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
Puslapis 2 iš 2 Pereiti prie Atgal 1, 2 |
|
 |
programavimo niuansai |
Parašytas: 2013 04 13, 17:19 |
|
|
|
|
| Tu nebandei prieš pradėdamas internete panašių projektų paieškoti ir pasižiūrėti kaip juose daroma? Pradėsi laiką skaičiuoti sekundėmis, įvedamą žadintuvo laiką teks į sekundes persiversti, kas sekundę krūva aritmetinių operacijų kad gauti laiką valandomis, minutėmis ir sekundėmis atvaizdavimui lcd. Smegenimis reikia galvoti kaip viską organizuoti, kad mikrovaldiklis kuo mažiau darbo turėtų. Gūglink kokio avr butterfly išeities kodus ir pažiūrėk kaip tenai viskas padaryta. |
|
|
|
|
|
 |
programavimo niuansai |
Parašytas: 2013 04 13, 17:42 |
|
|
|
|
| Kodas: |
unsigned char val, min, sek;
void pertraukimas_kas_sekunde(){
sek++;
if(sek == 60){
sek = 0;
min++;
if(min == 60){
min = 0;
val++;
if(val == 24){
val = 0;
}
}
}
}
void main(){
while(1){
if(val == 10 && min == 30){
//ijungti led
}
if(val == 11 && min == 30){
//isjungti led
}
}
}
|
|
|
|
|
|
|
 |
programavimo niuansai |
Parašytas: 2013 04 13, 18:51 |
|
|
|
|
| Va butent apie toki sekundziu skaiciavima ir galvojau , aciu , bandysiu pobiski viska lipdyt i kruva. |
|
|
|
|
|
 |
 |
programavimo niuansai |
Parašytas: 2013 04 14, 00:10 |
|
|
|
|
| Elektronix rašo: |
| gal apsirobosiu paprastesniu varijnatu ir tada ta 16mhz kvarca det del greicio. Del laiko skaiciavimo manau patogiausia ,kad laika skaiciuotu 24val, tai butu 86400 sekundes, ir viska skaiciuot sekundem ,o poto laiko isvedima i ekrana galetu iskaiciuot is sekundziu. Bet kaip tai patogiai padaryt? Gal pertraukima kas 86400? |
laiko isvedimo i ekrana funkcija kuria pats naudojau ( skaicius 17 reiskia - LED ekrane)
| Kodas: |
void dtimes(){
char t;
t=time % 60;
disp[0]=t % 10;
disp[1]=t/10 % 10;
disp[2]=17;
t=time/60 % 60;
disp[3]=t % 10;
disp[4]=t/10 % 10;
disp[5]=17;
t=time/3600 % 24;
disp[6]=t % 10;
disp[7]=t/10 % 10;
t=time/3600/24 % 365;
disp[8]=t % 10;
disp[9]=t/10 % 10;
}
|
laiko nustatymo 4 mygtukais funkcija
| Kodas: |
char pos=0;
void settime(){
char k= keyscan();
if (k==2 && pos < 16) pos++;
if (k==3 && pos > 0) pos--;
if (pos==0 && k==0) { time++;}
if (pos==0 && k==1) { time--;}
if (pos==1 && k==0) { time+=60;}
if (pos==1 && k==1) { time-=60;}
if (pos==2 && k==0) { time+=60*24;}
if (pos==2 && k==1) { time-=60*24;}
dtime();
disp[9]=pos;
} |
kaip matai viskas labai paprasta |
|
Paskutinį kartą redagavo Digix, 2013 04 14, 00:19. Redaguota 2 kartus(ų) |
|
|
|
 |
 |
programavimo niuansai |
Parašytas: 2013 04 14, 00:15 |
|
|
|
|
| sopkis rašo: |
| Tu nebandei prieš pradėdamas internete panašių projektų paieškoti ir pasižiūrėti kaip juose daroma? Pradėsi laiką skaičiuoti sekundėmis, įvedamą žadintuvo laiką teks į sekundes persiversti, kas sekundę krūva aritmetinių operacijų kad gauti laiką valandomis, minutėmis ir sekundėmis atvaizdavimui lcd. Smegenimis reikia galvoti kaip viską organizuoti, kad mikrovaldiklis kuo mažiau darbo turėtų. Gūglink kokio avr butterfly išeities kodus ir pažiūrėk kaip tenai viskas padaryta. |
biski nesuprantu kodel taip sakai?
nes butent kai skaiciuoji sekundemis operaciju reikia daug maziau
jei tau reikes kas sekunde patikrinti kokius 30 zadintuvo laiku kai kievienas is ju sudaro po 3 kaiscius tai bus daugiau darbo nei patikrinti po 1 skaiciu
nors siap tai procesorius betkokiu atveju cia netures ka veikti. |
|
|
|
|
|
 |
 |
programavimo niuansai |
Parašytas: 2013 04 14, 14:11 |
|
|
|
|
| cia siektiek sunkiau man viska susigaudyt, ka atlieka % pvz siuo atveju disp[1]=t/10 % 10; ? Meniu valdyma galvojau daryt su switch, bet cia su if kompatiskai atrodo padaryta. |
|
|
|
|
|
 |
programavimo niuansai |
Parašytas: 2013 04 14, 14:41 |
|
|
|
|
| Elektronix rašo: |
| cia siektiek sunkiau man viska susigaudyt, ka atlieka % pvz siuo atveju disp[1]=t/10 % 10; ? Meniu valdyma galvojau daryt su switch, bet cia su if kompatiskai atrodo padaryta. |
Tas % yra dalyba, ir pateikia dalybos liekana sveika skaičių. Manau tau pirma reiktu pasiskaityti c kalbos sintakse, nes be jos žinojimo tu nieko nepadarysi čia, tik klaidžiosi ratais ir viskas.
O su kuo daryti meniu valdymą su switch ar if, nėra skirtumo. |
|
|
|
|
|
 |
 |
programavimo niuansai |
Parašytas: 2013 04 14, 14:57 |
|
|
|
|
| Elektronix rašo: |
| cia siektiek sunkiau man viska susigaudyt, ka atlieka % pvz siuo atveju disp[1]=t/10 % 10; ? Meniu valdyma galvojau daryt su switch, bet cia su if kompatiskai atrodo padaryta. |
cia tik parodzau pavyzdi kuri tau teks pakoreguoti gal pvz reikes padaryti kad redaguojama pozicija mirgciotu arba ten rodytu taska.
ir pas mane nerodo menesiu tik metu dienas tau ko gero menesio dienu nereikes uzteks savaites deinu. Su menesiais labai sunku nes ju dienu skaicius skirtingas
as labiau megstu if nes galima lengvai panaudoti copy-paste ir visos eilutes gaunasi vienodos todel lengviau suprasti programa. switch labisu tinka kai eilutes stipriai skiriasi
% kaip jau sake yra liekana po dalybos
tai labai naudinga funkcija konvertuojant i norima skaiciavimo sistema. |
|
|
|
|
|
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
 |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
 |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
 |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
 |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
 |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
 |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
 |
RDR2 Mods
Euro Truck Simulator 2 Mods,
WOT Mods,
Assetto Corsa Rally Mods |
|

|
 |