Elektronika.lt
 2025 m. rugsėjo 13 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 09 13, 08:34. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Paveiksliuko kodas + C kalba
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 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 22, 01:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
Kadaise kontroleriui ATmega32 buvau parašęs štai tokią programėlę:
http://www.circuit.lt/projektai/lcd/lcd_asm.txt (žiūrėti galą)
Čia paveiksliukas yra paverstas šešioliktainiu kodus ir patalpintas į mikrovaldiklio FLASH atmintį.

Klausimas: kaip tai daroma su C kalba? Gal galima būtų kokį pavyzduką?

Papildomas klausimas: kaip su C kalba nukopijuoti 8 bitų kintamojo bitą ir nusiųsti į portą? Tik su "if() else" ?
 Re: Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 22, 10:32 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
BLASTER rašo:
Klausimas: kaip tai daroma su C kalba? Gal galima būtų kokį pavyzduką?

Lygiai taip pat. Pasirašai programėlę, kuri failą paverčia į konstantų masyvą. Ir viskas. Gana dažnai tenka tai daryti. Turiu ir softą Perl kalba. Bet tik darbe. Bet pirmadienio nepaimčiau.

BLASTER rašo:
kaip su C kalba nukopijuoti 8 bitų kintamojo bitą ir nusiųsti į portą? Tik su "if() else" ?


Be išplėstinės C sintaksės tai neįmanoma.
Bet nebūtinai su if//else. Pvz., kintamojo B jauniausią bitą priskiriu kintamąjam A:
A = A & 0xFE | (B & 0x01);
 Re: Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 22, 11:41 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
vakaras rašo:
Lygiai taip pat. Pasirašai programėlę, kuri failą paverčia į konstantų masyvą. Ir viskas. Gana dažnai tenka tai daryti. Turiu ir softą Perl kalba. Bet tik darbe. Bet pirmadienio nepaimčiau.

Su programėle tai nėra problemų, ir pats turiu pasirašęs tokią. Mano atveju konvertuojami tik monochrominiai BMP failai, tai ta programėlė dar ir atrenka ir pateikia tik paties vaizdo informaciją.

Man įdomi pati C sintaksė..
Gal kas turi kokį programos gabaliuką, kur 'sukrautas' failo gabalas? Man tik įdomu kaip tai pažymima C kalboje ir kaip po to į tą vietą kreiptis Wink

vakaras rašo:
A = A & 0xFE | (B & 0x01);

O čia tai gudriai Idea
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 22, 11:59 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Savel
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Galiu tik pridurti, kad kai kurie grafikos redaktoriai turi funkciją kuri eksportuoja paveiksliuką kai C kalbos programos fragmentą.
 Re: Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 22, 13:21 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
BLASTER rašo:
Man įdomi pati C sintaksė..
Gal kas turi kokį programos gabaliuką, kur 'sukrautas' failo gabalas? Man tik įdomu kaip tai pažymima C kalboje ir kaip po to į tą vietą kreiptis Wink


Čia dar aišku priklauso nuo procesoriaus, reikia taip aprašyti, kad viskas būtų kaip konstantos ROM atmintyje, o ne RAM. Bet čia jau manau mokėsi. Štai kaip padaryta pas mane AVRams, IAR kompiliatoriui:
Kodas:

#pragma memory=__flash
char Masyvas[1024] = {0x11, 0x22, ... 0xAA};
#pragma memory=default


Ir kreipiesi kaip į paprastą masyvą..


Paskutinį kartą redagavo vakaras, 2006 04 22, 13:41. Redaguota 1 kartą
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 22, 13:23 Pranešti apie taisyklių pažeidimą Atsakyti su citata
jedas
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
Va kodo pavyzdys, charset'as storinamas flashe. Beveik grafika. Ne visiškai tavo situacija ale...
Šioje situacijoje kreipiesi per masyvo elementa. Const man rodos informuos kompileriui, kad palikti šitą rom'e.

const unsigned char charset[][8] = {

{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
},
{ // !
0x04,
0x04,
0x04,
0x04,
0x00,
0x00,
0x04,
0x00
},
{ // "
0x0A,
0x0A,
0x0A,
0x00,
0x00,
0x00,
0x00,
0x00
},

_________________
-----
That's what she said.
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 22, 13:41 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
O, tai čia labai paprasta! Idea Ir kaip aš nedasigalvojau iki masyvų.. Laughing
Dėkui jum labai Smile
Jei spėsiu sutvarkyt visus universitetinius reikalus, jau rytoj link vakaro bandysiu rašyt programėlę (ARM'ui) Smile

Bandysiu pajunginėt TFEL 320x256 ekraną.. Tik tas padla dinaminis, bijau, kad gali nepakakt greičio, nes 320x256x60Hz = 5MHz (serial) ;\ Na bus matyt Smile
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 23, 02:59 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
OK, dabar dar klausimėlis.
Kodas:
for(pixel=0; pixel<320; pixel++)
{
   FIO0PIN = CLK ^ 0xFFFFFFFF;
   byte++;
   FIO0PIN = CLK;          
   byte++;
}

Vat padariau taip. Teoriškai čia tik turi generuoti clock signaliuką. Naudoju Fast GPIO portą ir vikas puikiai veikia.
Bėda: porte nebūna jokio clock, jei nutrinu 'byte++;'. Kodėl? Gal Fast portas dirba asinchroniškai? Tie byte++ čia vietoj asmo NOP.

pagudravau ir padariau taip:
Kodas:
for(pixel=0; pixel<640;)
{
   FIO0PIN = DAT ^ 0xFFFFFFFF;
   pixel++;
   FIO0PIN = DAT;          
   pixel++;
}

Dabar irgi veikia..

Dėl ko dedasi toks reiškinys? Wink

O, jau 03:00... lekiu miegot Smile Labanakt Wink
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 23, 11:09 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
BLASTER rašo:
Bėda: porte nebūna jokio clock, jei nutrinu 'byte++;'. Kodėl? Gal Fast portas dirba asinchroniškai?


Du variantai gali būti:
a) kompiliatorius suoptimizuoja kodąir pramėto nereikšmingus priskyrimus. Įsitikink, kad FIO0PIN aprašytas teisingai;
b) Pasiskaityk tą Fast GPIO aprašymą. Gal jam reikia kelių taktų kad jis suveiktų, o tu jį tiesiog išjungi jam nespėjus suveikti?...
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 23, 14:32 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
OK, su šituo maždaug aišku.

Dabar dar klausimėlis:
Kokį didžiausią IO dažnį tau pavyko išpešt?
Man su C pavyko max 9MHz (čia periodo dažnis), o šiaip reikšmes keisti sugeba 18MHz dažniu.

Pastebėjimas: kai prisijungiu skopą namie užtyla visos FM radijos Smile Matomai dažnis artimas 10.7MHz dažniui, kuris naudojamas imtuvuose.

Beje, čia toks dažnis jau kai kontroleris tūrbintas - 12MHz kvarcas ir PLL registre įrašyta reikžmė '7'.
datašytas rašo:
Example 1: an application not using the USB - configuring the PLL0
System design asks for FOSC= 10 MHz and requires CCLK = 60 MHz.
Based on these specifications, M = CCLK / Fosc = 60 MHz / 10 MHz = 6. Consequently, M - 1 = 5 will be written as PLLCFG[4:0].

Iš čia sprendžiu, kad įrašius skaičių '7', dažnis dauginamas 8 kartus (?!). Tokiu atveju gaunasi, kad su 12MHz kvarcu gaunu 96MHz Shocked
ARM'as biškį šyla.. Laughing (bet veikia)
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 23, 17:05 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
Sugalvojau.. Siųsiu duomenis per SPI - greitis gerokai didesnis ir dar vienu kartu galima išstumt 2 baitus.
Patinka man šitas ARM'as - SPI duomenų perdavimo greitis siekia 10MB/s Shocked
Tik kad skopas užčiuopia iki 1MB/s... Mr. Green
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 23, 17:13 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Prisiturbinsi tu ten... 60MHz juk leistina...
Su 2138 aš gal 2MHz padariau, nebepamenu dabar.
Jo, su SPI galima nemažą greitį išgauti. Tik vėliau radau pastebėjimą, kad SS koja turi būti pajungta į "1". Kitaip neveiks Master režime.
 Paveiksliuko kodas + C kalba
PranešimasParašytas: 2006 04 23, 20:47 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
Hm. Na man master režime veikia, ir dar gan gerai. Štai įrodymas:



Tik kažkur programoj bugas, kas antras kadras juodas, tai mirga.. Smile šiaip refresh rate = 96Hz, bet čia jau ARM'as prakaituoja kaip reikalas. Vėliau gal truputį susitaupys resursų kai per SPI paleisiu po 16 bitų ir dar sumažinsiu jo clock daliklį (dabar Cool.
Pradėti naują temą  Atsakyti į pranešimą
 
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
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
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
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama