Fórum témák
» Több friss téma |
Sziasztok !
Ha már linkelgetünk, akkor én is mutatok egy oldalt, hátha van aki nem ismeri, velem még nem fordult elő, hogy ne találtam volna meg angol nyelvű szakirodalmat,amit kerestem. Bővebben: Link Üdv.
Köszönöm szépen mindkettőtöknek! :worship: Mostmár csak a pass kellene a Szárnyas mester féle rarhoz...
![]()
Amit linkeltem az egyszerű pdf fájl, nincs rar-ba csomagolva, nem is kér pass-t.
FreeBookSpot-nál például figyelmesen el kell olvasni a letöltési útmutatót, meg úgy általában mindent, amit a képernyődre kiírnak...
![]()
Segítséget kérnénk C18 használok a example ledes progit lefordítja c ben csak a hex filét nem tom hova rakja, vagy egyátalán csinál-e? Hogyan kell Hexet csinálni fordítás után, vagy mi lehet a gond???
![]()
A C fordító csak object állományt készít, amiből az MPLINK program csinál hex-et - hacsak valami galiba meg nem akadályozza ebben...
El kellene olvasni, hogy mit ír ki az MPLINK! Ha pl. nincsenek jól beállítva a hozzáférési útvonalak, akkor nem fogja megtalálni a c018.o állományt, vagy a pic18fxxxx.lkr állományt.
ezt a vackot keresi igen...igen c018.o hogyan kell beállítani????
![]()
OK
![]() ![]()
Sziasztok. Remélem nem egyedi problémával fordulok hozzátok. 16f628a picre írtam egy programot MicroC fejlesztőben. Le is fordul, a hex fájlt kipróbáltam Proteusban és tökéletesen működött. De mikor beírtam a picbe, az nem csinált semmit. Mi lehet a probléma?
Válaszokat előre is köszönöm.
Oszcillátorbeállítás rossz, reset láb nincs felhúzva, táp nincs rendesen szűrve így első körben.
LED-et villogtattál már róla pl. 1Hz-el? Ha nem, akkor ezzel kezd!
Sziasztok!
Van nekem egy programom, ami C-ben van írva és azt szeretném átírni asm-re, és egy valamit nem értek a kódból. Ha valaki el tudná nekem mondani,h. mit is jelent ez a pár sor, azt nagyon megköszönném ![]() #pragma bit CS @ PORTC.2 #pragma rambank 0 char sector1[64]; int currentrambank; int counter; #pragma rambank 1 char sector2[64]; #pragma rambank 2 char sector3[64]; #pragma rambank 3 char sector4[64]; #pragma origin 4
Nem írtad milyen C-nyelv, de első blikkre ezek változóknak foglalnak le területeket.
nem tudom ez melyik C, de nagyjából magukért beszélnek:
#pragma bit CS @ PORTC.2 //CS néven hivatkozhatsz a portc 2. bitjére #pragma rambank 0 // a következő sorokban lévő változók a ram bank 0-ba kerülnek #pragma origin 4 // ezt nem tudom, nézd meg az adott C leírásában. általában a telepítési könyvtárban megtalálható, vagy a C fordító weboldaláról letölthető
Lehet, hogy CC5X fordítóhoz írt programról van szó?
Idézet: „#pragma origin 4” Ez az interrupt rutin címe. Assemblyben: ORG 0x4
Sziasztok!
Köszi, mindenkinek a válaszokat!!! ![]() Igen a CC5X fordítóhoz programból kérdeztem.
Idézet: „Igen a CC5X fordítóhoz programból kérdeztem.” Akkor a CC5X User Manual 4.1 fejezetében minden kérdésedre választ találsz! (a preprocesszor direktívákat részletesen ismerteti, hogy mi mire való)
Köszi!
Megtaláltam a válaszaimat és már tudom mire valók ezek a parancsok.. Ezeket a parancsokat asm-be is lehet/kell definiálni?Ott hogy foglalunk RAM-ba le részeket?? ![]()
"Ezeket a parancsokat asm-be is lehet/kell definiálni?"
Hogy neked kell-e azt nem tudom eldönteni az eddig kapott információk alapján. De lehetni lehet, az biztos. "Ott hogy foglalunk RAM-ba le részeket??" Az assembler leírásán kívül a Linker kézikönyvét is át kell tanulmányozni. A varázsszó: linker script. Itt elolvashatod Trudnai fórumtársunk cikkét, de biztosan találsz hozzá leírást, útbaigazítást máshol is.
Üdv mindenkinek!
Kérésem a következő lenne: adott egy PIC 16f627 1 RGB led egy programot szeretnék hozzá, ami a 3 szint keveri PWM el. Nem programoztam soha ![]() ![]() ![]() Adott 3 port amire a 3 led láb jön R G B ezen a 3 lábon állitja az ic a feszültséget 0....5V ig egy bizonyos idő alatt. rosszul gondolom? Idézet: „ha valaki venné a fáradtságot és irna egy programot amiből láthatom a miérteket és hogyanokat annak örülnék” "Keressetek és találni fogtok!" Ha beírod a keresőbe, hogy RGB led PIC PWM, akkor Gugli barátod kiköp egy hosszú listát. Ami a kívánalmaidnak leginkább megfelel (tekintetbe véve azt is, hogy ez egy C nyelvű PIC programozással foglalkozó topik ![]() Az alapvető gond az, hogy a hardveres PWM csak egy kitöltési tényezőt tud kezelni, ezért az RGB LED vezérlése szoftveres PWM megoldást követel. A megoldás elve az, hogy szabályos időközönként megszakításokat generálunk egy órával. 1. Megszakításkor mindhárom LED lábat bekapcsoljuk. 2. Innen kezdve a kívánt kitöltési tényezőkkel összehasonlítgatjuk az óra pillanatnyi állásával. Amelyiket már meghaladtuk, azt a LED lábat lekapcsoljuk. 3. Ha már minden lábat lekapcsoltunk, akkor a következő interruptig van ideje a mikrovezérlőnek mást is csinálni (pl. vezérlő gombokra figyelni). Assember szintű programozással hatékonyabb lehetne a program - ha ez érdekes.
Nekem a legeslegjobb barátom a gugli
![]() ![]() Soha nem programoztam - talán nagyon régen egy kis pascal a suliban - ![]() Köszönöm azért a választ ![]()
Pont azért írtam meg a keresőszavakat, hogy eredményesebben tudj keresni a témában. Nem néztem végig a találati listát, úgyhogy érdemes tovább böngészni!
Az előzőleg ajánlott linkről letölthető a C forráskód (egy E-mai címet meg kell adni (javaslom a www.mailinator.com egyszer használatos postafiókjait). Érdemes tanulmányozni. Szerintem amíg csak szoftveres PWM-ről van szó, szinte mindegy, hogy milyen nyelvet használsz. A Microchip honlapján is érdemesszétnézni,mert a címe alapján az AN1074 alkalmazási mintapélda (Software PWM Generation for LED Dimming and RGB Color Applications) is a témába vágó.
Sziasztok!
Itt is felteszem a kérdésem. Van egy progim, ami használja a megszakításokat. Idáig minden rendben is van, ezek működnek ADDIG, amíg ki nem adom az első usb_init() utasítást. Amint akarom használni az USB-t, kikapcsolja a PICC a megszakításokat... (az usb_init_cs nem jó, mert azt meghívja az usb_init()) A PIC HID eszköz lenne, de CDCként használva is automatikusan kapcsolja ki az összes megszakítást... Mitévő legyek, hogy működjön minden megszakításom és persze tudjam használni az USB-t is? (sajna szükség van a megszakításokra, hacsak nem ASMben írom a kódot, de akkor egyhamar nem készülök el, mert nem értek eléggé hozzá ![]()
Töltsd le a legújabb USB demót, abban az interruptos kezelés az alapértelmezett a HID és a CDC firmware-ben is. Az USB tamagochi
![]() A választás az usb_config.h állományban van:
Ajánlottuk a másik témában a gyári USB mintaprogramokat, azok között van megszakításos kezelésű USB példaprogram is, mind HID, mind CDC. USB-t igen kevesen használnak PICC-vel, szinte mindenki C18-al fejleszt rá.
Idézet: „sajna szükség van a megszakításokra, hacsak nem ASMben írom a kódot” A kettő között nincs összefüggés...
Azonnal megpróbálom, addig is nagyon szépen köszönöm!!!
![]()
Át is néztem a a mintaprogramokat (legalábbis amit anno kaptam tanáromtól) azok is mind hasonló problémát mutattak... Az összefüggés annyi, hogyha ASMbe csinálom, akkor nem kell megszakítás, mert pontosan tudom mennyi utasítást kell végrehajtani, hogy helyettesítsem a timert... Na jó ez egy elég buta megoldás mégegyszer végiggondolva : - )
Na nézzük. Letöltöttem az általam elérhető legfissebb verziót a PICC-ből (bővebben: CCS Compiler ~ PCWHD)
Ez a 4.088. A példaprogramokat lefordítva MOST IS kikapcsolja a megszakításokat... usb_config.h file nincs, egyik USB fileban sem találtam az USB_POLLING stringet. Lehet félreértettetek a PICC megnevezés miatt, ezesetben elnézéseteket kérem ![]() |
Bejelentkezés
Hirdetés |