Az lenne a kérdésem, hogy tudna-e adni valaki leírást vagy linket PIC C programnyelven való programozásáról. Ehhez a programnyelvhez egyáltalán nem értek. De az assemblyhez igen.
Nem tudom, hogy mennyire könnyíti ez meg a dolgomat, de majd meglátjuk.
Hello, a microchip honlapján találsz hozzá. Keress rá a keresőjükben (C18). Ezzel (mplab c 18) a 18-as pic családot tudod C-ben programozni. Amibe jó az az, hogy tud kezelni 16bites regisztereket egybe. (int típus), meghát ugye ott vannak a ciklusok és a többi... Egyszóval egy magasabb szintű nyelv mint asm, jóval kényelmesebb tud lenni, és például ha TCP/IP-vel akarsz foglalkozni akkor jóval egyszerűbb ebben megírni. Szerintem a feladat komolyságától függ. De én most erre esküszök mert tényleg kibővíti a kezdők látását sokfelé... Ugyan akkor C-hez érteni kell, megtanulni magadtól lehet, hogy nem egyszerű... Amit hátrányként felrónék neki, hogy a megszakításokat elég "hibrid" módon kezeli, de kezeli és ez a lényeg. Ha kell a C18 privibe üzenj.
Hy! Szeretnék foglalkozni PIC-ekkel és nem tudom, hogy egy fullosan kezdőnek mivel kéne kezdeni.
Programozás területén kéne valami leírás, amiből tanulhatnék...
Kezdetnek elég lenne pár LED különböző villogásának állítása meg ilyesmi.
Elvileg van a 16-os családhoz is C fordító, de azt úgy tudom nem a microchip csinálja... (de mplab-ba beépül az is, talán Hi-tech). Gugli a jóbarátod ilyen téren, a kulcsszó PIC C-compiler
Ok de most én konkrétan valami leírást keresnék ahonnan programozni tudnék megtanulni c nyelven. Gugliztam már eben a témában de eddig semmi használhatót nem találtam.
Még soha nem programoztam PIC-et, de el fog jönni az idő, amikor szükségem lenne rá. Ahogy láttam, alacsonyszintű programozásuk van, az assamblyhez nem értek.
Létezik valamilyen magasabb szintű, emberbarátibb programnyelvű változat a C-n kívül? Pl. lehetne úgy programozni, mint egy basic programot?
ha valami akkor
ciklus
stb...
Pic - et lehet Basicben is programozni!! Egyszerűbb programokat lehet vele írni sőt.... még komolyabbakat is ! Ha kell jó basic valkinek akkor küldjön e-mailt v. írjon a privibe! vagy ide ! Van 16 - os és 18- as sorozatú PIC - hez is! Ami a 18 - as hoz van az tényleg profi!
Na! Ez engem érdekelne! A Basicet anno (boldogult C=64) koromban szerettem, és most rávettem magam, hogy PIC-ezni is elkezdek!
Szal hálás lennék, ha +osztanád velem is a Basic progizódat!
és még ki tudja milyen fordító. A bökkenő csak az, hogy nem feltételenül az összes PIC-et támogatják.
A Microchip saját C18-as fordítója azért jó, mert a PIC18-as család utasításkészlete és a fordító egymásnak lett kitalálva és optimalizálva. Igy ha valaki komolyan akar PIC-ezni, akkor célszerű ezt választania. A fordító - szemben a MPLAB-bal - nem ingyenes. A diák verzió azonban 60 napig működik, és hát utánna újból le lehet tölteni. A diákverzió némi optimalizálást leszámítva megegyezik a teljes verzióval.
A HI-TECH C-fordítójának is van minta verziója, az azonban csak néhány kiválogatott PIC-et képes kezelni. A teljes verzió persze mindent.
A Mikroelektronikanak van microPascal nevű Pascal fordítója, az teljesen korrekt.
A Basic-kel az a baj, hogy az alapfilozófiája szerint az interpreter és nem fordító. (Lásd C=64!) Ha valaki ilyent akar, az a Parallax bélyeg-számítógépeit tudom a figyelmébe ajánlani.
A magaszintű programnyelveknek van azonban egy hátulütője: a PIC programozásához magát a PIC-et, illetve annak hardverét is meg kell ismerni! A PIC nem egy mikroprocesszor, hanem egy mikrokontroller, ami azt jelenti, hogy egy kapcsolásba beágyazva kell üzemelnie. A PIC-ben a hardver és a szoftver meglehetősen kényes egyensúlyban van. A PIC lábacskái elvileg PORT-okba vannak szervezve, de hogy mi jön ki meg mi megy be azokon a lábakon, az nagyon sok mindenen múlik. Ha tehát valaki meg is akarja érteni, hogy mi is történik (ami azért nem árt), akkor ismernie kell a hardvert, s ahhoz azért a legjobb út az assembly. Assembly-ben pedig rengeteg mintapélda van, még talán magyar nyelven is.
Azonkívül a C nem olyan borzasztó nyelv, mint ahogy hírlik. És a C-re sokkal több mintaprogram van, mint bármi másra.
A 8királynő felkészítő példát azt asssembly-ben meg C-ben ismertetem, úgyhogy aki akar, meg tud C-ül tanulni.
Hi
microPascalnal maradva van microBasic is és szerintem az ugyan olyan jó de a legjobb A Pic Basic Pro!! De szerintem ezt mindenkinek magának kell eldönteni, hogy mit használ, de basic - ben is jó programokat lehet írni!!( szerintem! de ez csak az én meglátásom ) Én elég sok fordítót kiprobáltam,, és abban egyetértek hogy a C18 a legjobbak között van, a HI-TECH -es nekem annyira nem tetszett, de én a Pic Basic Compilert is a legjobbak közé sorolnám!!
Köszi a hozzászólásokat, nagyon hasznosak voltak, és ahogy észrevettem nem csak nekem.
Engem valami konkrét leírás érdekelne pic c nyelven való programozásáról. Tehát nem a compiler ismertetése, hanem a programnyelv használata. A legjobb, ha az alapoktól kezdve minden benne lenne. Példaprogramok, magyarázat, stb. Tehát mint egy könyvben. Változók deklarálása, ciklusok, elágazások, meg minden ami ide tartozik.
Ha valaki könyvcimet tud az is jó lenne.
Én a MikroBasic-re szavazok ha Basic-ről van szó. Már csak azért is mert ritka jó Examples könyvtárral rendelkezik, azonkívül a helpjében kapcsolások is találhatók az egyes funkciókhoz. A bonyolult perifériák kezelése is néhány sorral elintézhető. Ez eléggé lerövidítiegy prototipus összehozását.
Egy olyan problémába ütköztem a napokban, amit szomorúan vettem észre, hogy csak c-ben lehet megírni. ill biztos lehet assemblyben is, de ehhez az assembly tudásom kevéske...
Szóval ráfeküdtem a keresőre és találtam egy nagyon jó C fordítót:
SourceBoost.com-on van fennt. Maga a C fordító ingyenes (2bankot lehet lapozni max). + műxik együtt az MPLAB-ba integrálva ICD2-vel, szóval úgy néz ki hogy jó.
Csakhát az a fránya regisztráció... Ha valaki "tud valamit" a regisztrációval kapcsolatban, akkor szóljon. Remélem érthető voltam mit keresek...
Mert szerintem nagyon király... Sőt még képes lennék 4E forintot kifizetni licencre.. csak licence nélkül nem próbálható ki a debugnál sok plugin (lcd kijelző, analóg ki/bemenet, logic analyser, meg sokminden)
Eddig ilyen apró rutin próbákra az Oshonsoft cuccát használtam, csak hát abból hiányzik az, hogy forrást debugolsz miközben látod az outputot.
szóval Ha valaki ismer hasonló c fordítót akkor azt megköszönném, ha nem tartaná magában ;)
Egy LCD kijelzőn kell megjelenítani egy többszintes menuredszert. Azonbelül a cuccnak kell tudni kezelni CF kártyát, infrán kiadni adatot - kommunikálni soros adat formájában egy másik pic-el. USB-t vezérelni...
Szóval ebből akármilyen hülyén hangzik, a menurendszer megvalósítás és az USB fogott ki rajtam. Az USB C nyelven kb 10 sor. (+már megírt unit) assemblyben meg csak 49K az asm file.
szvsz én jobban szeretem az assembly-t. Sőt továbbra is assemblyben fogok pic-et programozni, de ezt most C-ben akarom megírni. Úgylátszik ez abban egyszerűbb...
Sziasztok látom itt nagy beszélgetés folyik a programnyelvekről, pic programozásról stb. és vannak itt kezdő programozó kollégák is, ha vkinek kellenek egyetemi C v. assembly, jegyzetek az szóljon, me van egy rakással ilyen cuccom!
Valóban, ez a feladat magas szintű nyelven megvalósíthatóbb, mint assemblyben. De azért azt sem kell elvetni. Igazából az assembly nem nehéz, kevés dolgot kell tudni hozzá (utasításkészlet, címzési módok, regiszterek, memóriakiosztás - bár ez utóbbi ismeretére nemcsak assemblynél van szükség) és ezt a kevés dolgot kell mindenféle, a célnak megfelelő kombinációban összeállítani.
Az első pic amellyel foglakoztam egy 16f819 volt. Ennek az utasításmemóriájába 2k utasítást lehetett beletenni, így egy magasabb szintű nyelvben megírt kód aligha fért volna bele.
A C fordítós problémára sajna nemtok orvosságot.
Már jópár pic programot írtam assemblyben, így nem mondanám magamat kezdőnek... Én jobban szeretem az assemblyt de most erre C-t fogok használni.
Egyébként ez a sourceboost nem pakolja tele szemétel. Fordításnál csinál egy assembly-t és azt utánna hex-be, a sima asm fordítóval. Az assembly kód nincs tele hülyeségekkel. Elég tömören "fogalmaz" .
A világért se kötekednék, de miért nem használod a microchip valamelyik C fordítóját? Vagy azokkal valamit nem lehet amit ezzel a sourceboost-al igen?
Ha meg szabad kérdezni mit alkotsz ami ennyire komplex és CF,USB,LCD meg minden egyben?
Lehet hogy már párszor feldobtam de MikroBasic-et nézted? Van benne usb, mindenféle memóriakártya meg LCD könyvtár is. Ha nem kell feltétlen a C.
Én nem szeretem a Basic nyelvet. Tudok benne programozni, de nem szeretem.
Egyébként ez a SourceBoost nevű progi is CCS fordító... Nem tudom az embedded c fordító milyen az mplabban, de ebben van lcd kijelző szimulálás, voltmérő, analóg bemenet szimulálás, matrix billentyűzet, meg még 1000 féle dolog.
Egy 18F1320 ra lenne a program ést azt írja ki fordításkor h túl kevés paraméterrel hívom a függvényt. Egy csomószor átnéztem már a C18 referencia doksiban.
Sziasztok!
Nem rég keztem el PIC-elni, megismerkedtem az assembly-vel.
A "Processzorvezérelt zöldség tároló" cikk olvasása közben találtam egy ilyen mondatot:
Idézet: „ A PIC-be égetendő programot CCS-ben írtam, C nyelven. Meg lehetne írni Assembly-ben is, de nekem most egyszerűbb és gyorsabb volt C-ben.”
Egyszerűbb és gyorsabb, ezért úgy döntöttem kipróbálom.
Nyitottam volna egy ilyen témát, de nem nyitottam, mert rátaláltam erre.
Egy kis olvasás után letöltöttem a SourceBoost IDE programot. Ezzel próbáltam írni egy egyszerű LED-villogtatót. Bár a környezet nagyon szimpatikus, sajnos nem sikerült.
Ha valaki tudna segíteni, segítsen!
Előre is köszönöm!