Fórum témák

» Több friss téma
Fórum » PIC programozása C nyelven, C-Compiler
Lapozás: OK   109 / 153
(#) potyo válasza killbill hozzászólására (») Jan 7, 2015 /
 
Mást én sem találtam biztos megoldást, minthogy odaírom, aztán hátha nem felejtem el. Mondjuk most is rájöttem egy tíz percen belül, hogy ez a gond. Egyébként 8 bites architektúra, XC8 fordító, akartam is írni az előző hozzászólásban, csak elfelejtettem.
(#) Wudoou hozzászólása Jan 8, 2015 /
 
Sziasztok!

Tiny bootloader szeretnék használni Hitech C18 alatt. Tudna valaki segíteni abban, hogy beégetem a bootloadert, szépen működik is, tudok vele programot tölteni, de a bootloaderrel feltöltött program nem indul el.
Mi lehet a gond?
Esetleg kell valamilyen módosítást csinálni a linkerrel?
Előre is köszönöm a segítséget.
(#) Wudoou válasza Wudoou hozzászólására (») Jan 10, 2015 /
 
Sziasztok. Közben megoldottam. Az volt a probléma, hogy picit belepiszkáltam a bootloaderbe, így megnőtt 100 word-rol 132-re a tartalma. Ezt módosítani kellett a PC oldalon is.
Üdv.
(#) benjami hozzászólása Jan 11, 2015 /
 
Sziasztok!
I/O láb definiálásnál lenne-e ötletetek arra, hogy egyszerűen meg lehessen adni a lábhozzárendeléseket? A #define LED1TRIS TRISBbits.TRISB0, #define LED1LAT LATBbits.LATB0 kombináció valahogy nem túl szimpatikus. Feltételes fordítással megoldható, de irreálisan hosszú lenne az összes kombináció végigzongorázása.
Az alábbi verzió fordításakor az előfordító kimenetét megnézve (*.pre) látszólag jónak tűnik, de valamiért mégsem tetszik a fordítónak (Error [169] LED1; strange character (40) after ##
).
  1. #define LED1 (B,0)
  2. #define LED2 (B,1)
  3.  
  4. #define TRIS(a,b) (((BYTE_T*)&TRIS ##a)->BIT ##b)
  5. #define LAT(a,b)  (((BYTE_T*)&LAT ##a)->BIT ##b)
  6. #define LED1TRIS TRIS ##LED1
  7. #define LED1LAT  LAT  ##LED1
  8. #define LED2TRIS TRIS ##LED2
  9. #define LED2LAT  LAT  ##LED2
  10.  
  11. typedef union
  12. {
  13.   unsigned char B;
  14.   struct {
  15.     unsigned BIT0 : 1;
  16.     unsigned BIT1 : 1;
  17.     unsigned BIT2 : 1;
  18.     unsigned BIT3 : 1;
  19.     unsigned BIT4 : 1;
  20.     unsigned BIT5 : 1;
  21.     unsigned BIT6 : 1;
  22.     unsigned BIT7 : 1;
  23.   };
  24. } BYTE_T;
  25.  
  26. void delay()
  27. {
  28.   int counter = 0;
  29.   for (counter = 0; counter<10000; counter++) { ; }
  30. }
  31.  
  32. void main(void)
  33. {
  34.   LED1TRIS = 0;
  35.   LED2TRIS = 0;
  36.   // (((BYTE_T*)&TRISB)->BIT0) = 0;
  37.   while (1)
  38.   {
  39.     LED1LAT = 0;
  40.     LED2LAT = 1;
  41.     delay();
  42.     LED1LAT = 1;
  43.     LED2LAT = 0;
  44.     delay();
  45.   }
  46. }
(#) csiberaptor hozzászólása Jan 14, 2015 /
 
Sziasztok!
A problémám a következő. Eddig mikroC-t használtam, de egy sd kártya kezeléssel
kinőttem a demo verziót, és 50ezer forintom sajnos pont nincs rá.

Már 3 órája próbálok életet lehelni az mplabba és a c18-ba, de buildnél
hibaüzenetek minden variációját láttam. Újraraktam párszor, próbálgattam konfigolni, de semmi eredmény.
Innen a fórumról is kipróbáltam pár tanácsot, gugliztam, youtube videót néztem, eredmény nélkül eddig.
Lehet csak én bénázok valamit, de egyelőre nagyon idegen még nekem ez a rendszer.
Valaki tudna mondani egy tuti működő párosítást, illetve valami leírást, hogy lehet beállítani úgy, hogy tudjanak együtt működni?
(#) usane válasza csiberaptor hozzászólására (») Jan 14, 2015 /
 
Elvileg működnie kellene minden gond nélkül. Mplabból a 8.9-est ajánlom max, a 8.92-essel vannak apró hibák.
Ha a mikroc-s dolgaidat húztad be, akkor biztos, hogy nem megy, a mikroc-nek sajátos függvényei vannak, és ami hasonlít a c18-hoz annak is lehet más szintaktikája. Valami hibalogot csatolhatnál, mert így csak tippelni tudunk.
(#) csiberaptor válasza usane hozzászólására (») Jan 14, 2015 /
 
Nem a mikroC-s kódokkal próbáltam. Utoljára ezt csináltam:
Olvastam, hogy a hosszú elérési utakat nem szereti az mplab, így a C:\pic mappába telepítettem a 8.91-et és a c18-at. Project wizarddal létrehoztam a peojektet, hozzáadtam az adott mikrovezérlő header-ét és library-át. Utána mplabban new file, létrehoztam a main.c-t, hozzáadtam a source-hoz.
Lehet hogy innentől kezdődik a probléma. #include<pic18f4520.h>, majd a config bitek, és a void main. Maga a program annyi, hogy tris-ek output, latc=0x01
Erre ez a hibaüzenet jött: "unable to locate 'pic18f4520.h' "
Valamiket még hozzá kellene adni a projekthez?
(#) potyo válasza csiberaptor hozzászólására (») Jan 14, 2015 /
 
Inkább csak nem így hívják a fájlt. Nézz bele a C18 mappájába, és keresd meg, mi a neve. Talán p18f4520.h. De nézz meg egy-két demó projektet, rémlik nekem olyan, hogy elég csak egy pic.h-t beincludolni, és akkor a projektben kiválasztott chip alapján megoldja a típusspecifikus fájl includolását.
(#) usane válasza csiberaptor hozzászólására (») Jan 14, 2015 /
 
Nos, nem tudom, nálam a Program Filesban sosem volt problémája. A c18 most pont nincs fenn, nemrég telepítettem ujra a gépet és azóta csak xc8-al dolgoztam. Még a BUILD OPTIONSban megpróbálhatod hozzáadni az include könyvtárat az include search path-hoz.
Idézet:
„hozzáadtam az adott mikrovezérlő header-ét és library-át”

Ezt minek? Azért van az include, hogy hozzáadja.

És potyónak igaza lehet, az XC8-ban PIC18f4520, de a c18ban lehet hogy csak p18f4520. Bár XC8 elfogadja mindkettőt, és igen, elég a pic.h az beincludolja a megfelelőt.
A hozzászólás módosítva: Jan 14, 2015
(#) Hp41C válasza usane hozzászólására (») Jan 14, 2015 /
 
A jó öreg C18 -nak ez a sor kell:
  1. #include <p18cxxx.h>

és a konrtoller típushoz való pedig a p18f4520.h.
A hozzászólás módosítva: Jan 14, 2015
(#) kissi hozzászólása Jan 25, 2015 /
 
Sziasztok!

Szükségem van 2 nagyméretű tömbre a RAM-ban, ami már nem fér el egy bankon belül... C18-ban ezt hogy tudom a fordítónak megadni ( hogy az egyiket egy másik bankba rakja ), mert írja, hogy nem fér el.
pl.
  1. unsigned char tomb1[150];
  2. unsigned char tomb2[150];


A fordító panasza a hasonló helyzetre:
Idézet:
„Error - section '.udata_Muterheles.o' can not fit the section. Section '.udata_Muterheles.o' length=0x0000010f


A linker-nek kellene ezt valahogy megmondanom, de nem tudom , hogy kell, nem értem ezt a linker fájl-t, kellene egy kis segítség, aki csinált már ilyesmit , a proci PIC18F26K22 !
(#) kissi válasza kissi hozzászólására (») Jan 26, 2015 /
 
Megoldódott !

Ilyesmi elven ( nem pont ez volt a program ) !
  1. #pragma udata GPR0
  2. unsigned char tomb1[150];
  3. #pragma udata GPR1
  4. unsigned char tomb2[150];


Azért szívesen elolvasnám, hogy honnan tudja a fordító, hogy mikor kell bankot váltani, mert láttam olyan megoldásokat a neten, hogy átírták az egyes sessionok határait !? Van erről egy "szájbarágós" leírás, mert ez valahogy nem akar összeállni a fejemben !

Előre is köszi a segítséget !
A hozzászólás módosítva: Jan 26, 2015
(#) Lamprologus hozzászólása Jan 31, 2015 /
 
ez után a köny után kutakodom:
Mikrovezérlős rendszerfejlesztés C/C++ nyelven I.
(#) icserny válasza Lamprologus hozzászólására (») Jan 31, 2015 /
 
Idézet:
„Mikrovezérlős rendszerfejlesztés C/C++ nyelven I.”
A szerző honlapja szerint:

Vásárlás
- Scribd
- Google Play
(#) Lamprologus válasza icserny hozzászólására (») Feb 2, 2015 /
 
A Scribd-en a licenc szerint a mű szabadon másolható, terjeszthető ...
Nem tudná valaki elterjeszteni felém?
(#) Hp41C válasza Lamprologus hozzászólására (») Feb 2, 2015 /
 
Idézet a Scribd -ről:
Idézet:
„You're reading a free preview. Buy this title to read the full version on any device.”
(#) Lamprologus válasza Hp41C hozzászólására (») Feb 2, 2015 /
 
OK! értem én hogy a Scribden fizetni kell hogy megnézzem a teljes anyagot ... ez az ő dolguk.
De a könyv licencében (könyv 6. oldal) meg az van írva hogy szabadon terjeszthető.
Ebből én arra következtek, hogy ha valakinek megvan, az már az továbbküldheti nekem.
(#) dinokal válasza Lamprologus hozzászólására (») Feb 2, 2015 /
 
Ez így van. Tényleg szabadon terjeszthető. Csak sajnos senkinek nincs meg .
(#) Szárnyas válasza Lamprologus hozzászólására (») Feb 2, 2015 / 1
 
Egy korábbi változata (v:2012-11-03) még szabadon letölthető volt, ha érdekel ez a változata, elküldhetem.
(#) Lamprologus válasza Szárnyas hozzászólására (») Feb 2, 2015 /
 
Köszönöm! Érdekel!
(#) kontár válasza Szárnyas hozzászólására (») Feb 2, 2015 /
 
Köszönöm! Érdekel! (engem is)
(#) Kovidivi válasza Szárnyas hozzászólására (») Feb 2, 2015 /
 
Szia! Én is szívesen elolvasnám. Köszönöm!
(#) Cs_Zoéi válasza Szárnyas hozzászólására (») Feb 2, 2015 /
 
Engem is érdekel, köszönöm előre is!
(#) Szárnyas válasza Lamprologus hozzászólására (») Feb 2, 2015 / 1
 
Innen le tudja tölteni, akit érdekel.
(#) Lamprologus válasza Szárnyas hozzászólására (») Feb 2, 2015 /
 
(#) dinokal válasza Szárnyas hozzászólására (») Feb 4, 2015 /
 
Köszönjük !!!!!
(#) Bell hozzászólása Feb 8, 2015 /
 
Sziasztok!
Adott egy struktúra:
  1. typedef union {
  2. struct {
  3.         unsigned char a:3;
  4.         unsigned char b:5;
  5.                 };
  6. } x_t;
  7. x_t var1;
  8. var1.a=1;
  9. var1.b=1;

Az a naív kérdésem, hogyan lehet var1 értékét unsigned char-ként használni?
(Valamiért nem sikerült minden sorba írni)
(#) Hp41C válasza Bell hozzászólására (») Feb 8, 2015 /
 
  1. typedef union {
  2. unsigned char val;
  3. struct {
  4.         unsigned char a:3;
  5.         unsigned char b:5;
  6.                 };
  7. } x_t;
  8. x_t var1;
  9. unsigned char u;
  10. var1.a=1;
  11. var1.b=1;
  12. u = var1.val;
(#) Bell válasza Hp41C hozzászólására (») Feb 8, 2015 /
 
Nagyon köszönöm! Végülis ott vétettem el, hogy nem adtam nevet a struktúrának.
(#) usane hozzászólása Ápr 1, 2015 /
 

Kezd elegem lenni az XC8-ból. Be van kapcsolva a PRO mód, és a Speed opció az optimizációban, és 2-3-4 BRA-kat belefordít, ahelyett hogy egy GOTO-t rakna.
Következő: »»   109 / 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