Fórum témák

» Több friss téma
Fórum » PIC programozása C nyelven, C-Compiler
Lapozás: OK   7 / 153
(#) El_Pinyo válasza icserny hozzászólására (») Márc 13, 2009 /
 
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.
(#) vicsys válasza icserny hozzászólására (») Márc 13, 2009 /
 
Köszönöm szépen mindkettőtöknek! :worship: Mostmár csak a pass kellene a Szárnyas mester féle rarhoz...
(#) Szárnyas válasza vicsys hozzászólására (») Márc 13, 2009 /
 
Amit linkeltem az egyszerű pdf fájl, nincs rar-ba csomagolva, nem is kér pass-t.
(#) vicsys válasza vicsys hozzászólására (») Márc 13, 2009 /
 
Akkor valamit csúnyán benéztem. Köszi.
(#) icserny válasza vicsys hozzászólására (») Márc 13, 2009 /
 
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...
(#) Lala456 hozzászólása Márc 14, 2009 /
 
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???
(#) icserny válasza Lala456 hozzászólására (») Márc 14, 2009 /
 
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.
(#) Lala456 válasza icserny hozzászólására (») Márc 14, 2009 /
 
ezt a vackot keresi igen...igen c018.o hogyan kell beállítani????
(#) Lala456 válasza icserny hozzászólására (») Márc 14, 2009 /
 
OK megoldódott köszi a segítséget. Most már nyomatja a hexet
(#) gabport hozzászólása Márc 16, 2009 /
 
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.
(#) potyo válasza gabport hozzászólására (») Márc 16, 2009 /
 
Oszcillátorbeállítás rossz, reset láb nincs felhúzva, táp nincs rendesen szűrve így első körben.
(#) watt válasza gabport hozzászólására (») Márc 17, 2009 /
 
LED-et villogtattál már róla pl. 1Hz-el? Ha nem, akkor ezzel kezd!
(#) szigetivan hozzászólása Márc 19, 2009 /
 
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
(#) watt válasza szigetivan hozzászólására (») Márc 19, 2009 /
 
Nem írtad milyen C-nyelv, de első blikkre ezek változóknak foglalnak le területeket.
(#) pipi válasza szigetivan hozzászólására (») Márc 19, 2009 /
 
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ő
(#) icserny válasza szigetivan hozzászólására (») Márc 19, 2009 /
 
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
(#) szigetivan válasza icserny hozzászólására (») Márc 22, 2009 /
 
Sziasztok!

Köszi, mindenkinek a válaszokat!!!
Igen a CC5X fordítóhoz programból kérdeztem.
(#) icserny válasza szigetivan hozzászólására (») Márc 24, 2009 /
 
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ó)
(#) szigetivan válasza icserny hozzászólására (») Márc 24, 2009 /
 
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??
(#) icserny válasza szigetivan hozzászólására (») Márc 24, 2009 /
 
"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.
(#) yankoo hozzászólása Ápr 25, 2009 /
 
Ü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 szóval ha valaki venné a fáradtságot és irna egy programot amiből láthatom a miérteket és hogyanokat annak örülnék

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?
(#) icserny válasza yankoo hozzászólására (») Ápr 26, 2009 /
 
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 ) talán az itt taláható projekt. MikroC fordítóhoz készült.

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.
(#) yankoo válasza icserny hozzászólására (») Ápr 26, 2009 /
 
Nekem a legeslegjobb barátom a gugli hidd el kerestem probálkoztam is rengeteget. Ezért irtam ide mert nem jutottam megoldásra melyik nyelvben lehetne a legegyszerübben megirni a szoftveres pwm et? C?

Soha nem programoztam - talán nagyon régen egy kis pascal a suliban - azért kértem hogy irja meg ezt valaki, mert akkor láthatom a programot - akár c akár asm nyelven - és akkor onnan el tudok indulni.

Köszönöm azért a választ
(#) icserny válasza yankoo hozzászólására (») Ápr 26, 2009 /
 
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ó.

(#) Seclusion hozzászólása Máj 23, 2009 /
 
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á )
(#) icserny válasza Seclusion hozzászólására (») Máj 23, 2009 /
 
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 (az USBDeviceTasks(); hivogatása) a magas prioritású interrupt kiszolgáló rutinban van.

A választás az usb_config.h állományban van:
  1. //#define USB_POLLING
  2. #define USB_INTERRUPT



(#) potyo válasza Seclusion hozzászólására (») Máj 23, 2009 /
 
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...
(#) Seclusion válasza icserny hozzászólására (») Máj 23, 2009 /
 
Azonnal megpróbálom, addig is nagyon szépen köszönöm!!!
(#) Seclusion válasza potyo hozzászólására (») Máj 23, 2009 /
 
Á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 : - )
(#) Seclusion hozzászólása Máj 23, 2009 /
 
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
Következő: »»   7 / 153
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem