Elektronika.lt
 2025 m. gruodžio 18 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

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 12 18, 22:09. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Nedaugina iš kintamojo
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 22
Pereiti prie Atgal  1, 2
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 Nedaugina iš kintamojo
PranešimasParašytas: 2015 11 16, 23:04 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
R2D2 rašo:
kas su ta trijų raidžių kombinacija? Smile

ir kokiam kupranugariui tai reikalinga ciklo salygoje? sriftas[offset]+1
o ciklo kune jis reikalingas, bet jus ji kazkodel praleidote.
 Nedaugina iš kintamojo
PranešimasParašytas: 2015 11 16, 23:29 Pranešti apie taisyklių pažeidimą Atsakyti su citata
R2D2
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
AlgisL rašo:
ir kokiam kupranugariui tai reikalinga ciklo salygoje? sriftas[offset]+1
o ciklo kune jis reikalingas, bet jus ji kazkodel praleidote.


Kodas:
void GLCD_WriteChar(char charToWrite)
 {
 int i;
 int offset;
 charToWrite -= 32;
 offset = (int)(charToWrite) * 6;

 for(i = 1; i < sriftas[offset]+1; i++) //nustatomas simbolio plotis
   GLCD_WriteData(GLCD_ReadByteFromROMMemory((char *)((int)sriftas + (offset) + [b]i[/b])));
 }


o kas tas "i" tada čia?

jūs galite sėkmingai toliau autorių auklėti, kaip optimaliai kodą rašyti.
 Re: Nedaugina iš kintamojo
PranešimasParašytas: 2015 11 17, 07:10 Pranešti apie taisyklių pažeidimą Atsakyti su citata
hencia
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Saulius18 rašo:
gintaras_bar rašo:
Įtariu, jog nesupranti, kada naudoti signed, o kada unsigned tipo kintamuosius. Pvz. charToWrite pagal mane turėtų būti unsigned char tipo.

O kodėl sakai, kad tėtų būti unsigned char? Čia juk tik simbolis, kadangi man reikalingas intervalas yra nuo 32 iki 256.
signed char intervalas nuo -127 iki 127. Taigi, 256 nepatenka į šį intervalą. Beje, 256 nepatenka ir į unsigned char intervalą (0-255)
 Nedaugina iš kintamojo
PranešimasParašytas: 2015 11 17, 08:39 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
R2D2 rašo:
o kas tas "i" tada čia?
A, jo majo Wink for(i=1;..
Kodas veikiantis, bet nera optimalus.
Beje, autoriau, ar sriftas aprasytas taip?
const char sriftas[] PROGMEM = {
0x04, 0xFF, 0xFF, 0xFF, 0xFF,
};
tada dar optimaliau butu:
Kodas:

void GLCD_WriteChar(char charToWrite) {
  uint16_t wOffset = (uint16_t)sriftas + 6 * (uint16_t)(charToWrite - 32);
  uint8_t bCount = pgm_read_byte(offset);
  do { GLCD_WriteData(pgm_read_byte(++wOffset)); } while(--bCount);
}
 Re: Nedaugina iš kintamojo
PranešimasParašytas: 2015 11 17, 09:45 Pranešti apie taisyklių pažeidimą Atsakyti su citata
R2D2
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
hencia rašo:
signed char intervalas nuo -127 iki 127. Taigi, 256 nepatenka į šį intervalą. Beje, 256 nepatenka ir į unsigned char intervalą (0-255)


dar reikėtų pažiūrėti kompilerio nustatymus, nes labai dažnai būna nustatymas kad char yra unsigned (arba signed)

čia gcc variantas, kad pats kompileris pridėtų žodelį signed
Kodas:
-fsigned-char


o čia - unsigned
Kodas:
-funsigned-char
 Re: Nedaugina iš kintamojo
PranešimasParašytas: 2015 11 17, 11:25 Pranešti apie taisyklių pažeidimą Atsakyti su citata
gintaras_bar
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Saulius18 rašo:
O kodėl sakai, kad tėtų būti unsigned char? Čia juk tik simbolis, kadangi man reikalingas intervalas yra nuo 32 iki 256.

Esmę atsakė hencia
hencia rašo:
signed char intervalas nuo -127 iki 127. Taigi, 256 nepatenka į šį intervalą. Beje, 256 nepatenka ir į unsigned char intervalą (0-255)

Papildė R2D2
R2D2 rašo:
dar reikėtų pažiūrėti kompilerio nustatymus, nes labai dažnai būna nustatymas kad char yra unsigned (arba signed)
čia gcc variantas, kad pats kompileris pridėtų žodelį signed
Kodas:
-fsigned-char
o čia - unsigned
Kodas:
-funsigned-char

Tai pagal nutylėjimą deklaravimą char kompiliatorius priima kaip signed char. Norint, kad programa teisingai traktuotų kintamojo reikšmes >127, privalomai reikia deklaruoti unsigned char.

Dėl kintamojo "sriftas" viskas gerai, nepamačiau, kad naudoji jo adresą. Kai buvusi darbo diena baigiasi 5 val. ryto, jau per sunku būna dėmesį sukoncentruoti Smile
 Nedaugina iš kintamojo
PranešimasParašytas: 2015 11 17, 23:57 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Saulius18
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Dėkui visiems padėjot, AlgisL būtent, tai ir panaudojau, o kitų dėka sužinojau kame bėda, o bėda kintamojo tipas, ąčiū dar kartą Wink
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie Atgal  1, 2
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

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
Must have farming mods
Farming simulator modhub, Best farming simulator mods
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama