 |

|
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 2025 09 01, 15:57. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Elektronika žaliems » padekit su kintamuju tipais
|
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 1 iš 2 Pereiti prie 1, 2 Toliau |
|
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 28, 23:24 |
|
|
|
Sveiki,
padekit issprest tokia problema: prisijungiau Atmega168 prie PC per rs232. Siunciu is mikrovaldiklio teksta - matau kompiuterio Hyper Terminal'e. Bandau is pc siust duomenis, konkreciai, skaicius i mikrovaldikli. Mikrovaldiklis turetu prideti prie mano skaiciaus 500 ir siusti atsakyma atgal i PC. Taciau PC ekrane matau neaisku atsakyma. Speju, jog kazkas negerai su kintamuju tipais.... gal padetumet susitvarkyt?
Programos kodas: |
|
Paskutinį kartą redagavo Tomas_J, 2010 01 28, 23:46. Redaguota 1 kartą |
|
|
|
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 28, 23:48 |
|
|
|
...
...
char k[5];
int m;
....
....
while (1)
{
putsf("\r");
putsf("////////// \r");
putsf("Iveskite skaiciu: \r");
delay_ms(500);
gets(k,3);
printf("Nuskaityta: %s ",k);
m = atoi(k);
m = m + 500;
putsf("\r");
printf("Ivestas skaicius + 500 = %d ",m);
putsf("\r");
putsf("\\\\\\\\\\\\\\\\\\\\");
putsf("\r");
};
 |
|
|
|
|
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 29, 00:00 |
|
|
|
Per UART gali perduoti max 8 bitus, tad daugiau nei 255 neperduosi. Turi skaidyti skaičius. |
|
|
|
|
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 29, 00:07 |
|
|
|
Dovydas rašo: |
Per UART gali perduoti max 8 bitus, tad daugiau nei 255 neperduosi. Turi skaidyti skaičius. |
nesamone, ivedinejama tekstiniame rezime o ne bitais
pirma programoje reikia isiakinti ar gerai priimamas tas skaicius tekstiniame formate
ka raso sita eilute
printf("Nuskaityta: %s ",k); |
|
|
|
|
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 29, 00:14 |
|
|
|
Na, su sveikaisiais skaiciais veikia:
//////////
Iveskite skaiciu:
Nuskaityta: 125
Ivestas skaicius + 500 = 625
\\\\\\\\\\
//////////
Iveskite skaiciu: |
|
|
|
|
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 29, 00:25 |
|
|
|
na, tai gal padesit padaryt, kad veiktu ir su realiais skaiciais, pvz 1,123 ar 12,546?  |
|
|
|
|
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 29, 00:51 |
|
|
|
visu pirma tavo kintamasis m yra int tipo tai kaip tu ten nesveika skaiciu ikisi?
va pirma pataisyk i float. o tada reikia kitokios funkcijos kuris teksta i foat pavercia. nezinau kokia ta funkcija ( ko gero atof() ) nes as dazniausia naudoju scanf ten galima iakart kelis kasicus ivesti vienoje eiuteje
p.s. beje "," nenaudojamas naudojamas '.' |
|
|
|
|
 |
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 29, 01:04 |
|
|
|
float y;
while (1)
{
putsf("\r");
putsf("////////// \r");
putsf("Iveskite skaiciu: \r");
delay_ms(500);
gets(k,5);
printf("Nuskaityta: %s ",k);
m = atoi(k);
m = m + 500;
putsf("\r");
printf("Ivestas skaicius + 500 = %d ",m);
putsf("\r");
//------------------------
// kad veiktu su realiais skaiciais
y = atof(k);
printf("Ivestas skaicius per kableli = %f ",y);
putsf("\r");
//------------------------
putsf("\\\\\\\\\\\\\\\\\\\\");
putsf("\r");
};
//////////
Iveskite skaiciu:
Nuskaityta: 25.23
Ivestas skaicius + 500 = 525
Ivestas skaicius per kableli =
\\\\\\\\\\
//////////
Iveskite skaiciu:
---------------------------
su realiais skaiciais neveikia. man net neisveda i ekrana, jei irasau taip:
float t;
...
...
t = 95.45;
printf("t= %f ",t);
gaunu:
//////////
Iveskite skaiciu:
Nuskaityta: 96.76
Ivestas skaicius + 500 = 596
Ivestas skaicius per kableli =
\\\\\\\\\\
t=
//////////
Iveskite skaiciu: |
|
|
|
|
 |
 |
padekit su kintamuju tipais |
Parašytas: 2010 01 29, 01:11 |
|
|
|
o kaip patikrinti?
gal cia ir beda...
as naudoju CodeVisionAVR Evaluation. Gal pacioj programoj beda
programos nustatymuose:
(s)printf Features:
int, width
(s)scanf Features
int, width |
|
|
|
|
|
 |
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 |
 |
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
 |
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 |
 |
Fun football drills
Football Training Equipment,
Defending drills football,
Kids football training kit |
|

|
 |