Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1274 / 1318
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Igaz, ezt megtehetném! Csak ezt utólag módosítottam, és nem akartam a több fájlos forráskódban lecserélni a neveket másra, mert csak megcseréltem a pwm1-et a 0-val...
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Meddig tart kicserélni, pár gombnyomás minden fájlban? Jobb a békesség, ha 5 év múlva előveszed, nem tudod miért nem úgy működik ahogy írva van
Cseréld ki PWMX-re, és akkor elég a main.h-ban definiálni a PWMX-et, és béke van.
A hozzászólás módosítva: Dec 20, 2017
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Ok, igazad van..., végülis gyorsabban kijavítottam a warningokat, semmint megtaláljam a megoldást a kiiktatásukra
(#) pajti2 hozzászólása Dec 20, 2017 /
 
Lehet itt kicsit off lesz. Pic32 régi mla-k tcpip stack-je érdekelne (encX24, spi, csak udp csomagok, ha bármit számít). Multicast ip-re kellene udp csomagokat küldeni, és fogadni is kellene a multicast címekre szóló packeteket, de az alapértelmezett config-ban csak unicast ip beállítási lehetőség van, és a help doksiban sem találtam felvilágosítást. Küzdött már meg olyan problémával itt valaki?
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Nem ment így sem
Pedig látszólag jó kódot fordított a fordító, de valójában mégsem működött!
A megoldás az lett, hogy az attribútumoknál psv-t kellett megadni, prog helyett.
Érdekes, hogy az utóbbival a program memóriában megegyező címmel generált forráskód volt az ami nem működött, míg a psv-vel a cím első 4 bitje olyan területre mutat, ami már nincs is fizikailag! Ennek ellenére ez működik jól. Feltehetően valami laphatár dolog van a háttérben....
(#) sdrlab hozzászólása Dec 20, 2017 /
 
Van egy összetett struktúrám. Szeretném inicializáláskor fel is tölteni kezdőértékekkel. Ez ugye sima ügy, {} közé írva az értékeket, szépen fel is töltődik.
Igen ám, de ha bonyolult a struktúra, amikor kézzel tölteném fel, már gondot okoz, hogy melyik tag, melyik után következik, ha valahol eltévesztem - és ezt igen könnyű jelen esetben -, akkor attól kezdve a többi is hibás lesz.
Van arra valami bevett szokás, vagy mód, hogy ezt hogy célszerű kezelni ?
(#) sdrlab válasza pajti2 hozzászólására (») Dec 20, 2017 /
 
A harmony-t nem nézted ? Vagy az nem jó neked ? Elvileg kifejezetten a 32 bites pic-ek támogatására készült...
(#) pajti2 válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Az arra jó, hogy legyen mivel szenvedni. Én használni akarok majd valamit
(#) sdrlab válasza pajti2 hozzászólására (») Dec 20, 2017 /
 
Az mla-t se tudod most használni! Akkor meg nem mindegy, hogy honnan szeded ki a használható függvényeket ?! Nem kötelező minden sallangját használni, szerintem így nézve a dolgot az mla sem jobb egy fikarcnyival sem!
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Minden tag után kommentben beírod micsoda
ill. az értékadáshoz bekopizod a komplett struktúra deklarációt, soronként kommentbe teszed, beírod elé az értéket...
Én jobbat nem tudok
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Most pontosan ezt teszem..., de a hajam már kezd égnek állni

Én ezt szeretném:
  1. struct point {
  2.    int    x;
  3.    int    y;
  4. };
  5.  
  6.  
  7. For non contiguous or out of order members list, designated initializer style[4] may be used
  8.  
  9. /* Define a variable p of type point, and set members using designated  initializers*/
  10. point p = { .y = 2, .x = 1 };


Beírásnál, mintha támogatná is...de eddig nem sikerült lefordítani így...
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Ha ez a kezdő értékadás lenne, szerintem nem így "szokták".
Bővebben: Link
a keresőjébe meg írd be: struct , vannak minták...
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
De, ezt így szokták...már ha a fordító támogatja?! Elvileg úgy tudom, hogy az xc fordítók GCC alapúak, ott pedig ez támogatott, sőt, van másik hasonló is, pk "tagnév:érték" forma. De ez a nyomi fordító egyiket sem akarja megenni....
(#) rolandgw válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Ansi C99-től támogatott, de ezt írják mindenhol, ahol ez a példa előkerül.
A hozzászólás módosítva: Dec 20, 2017
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Megnézted a mintát?
a kapcsos zárojelek között, csak az értékeknek kell sorrendhelyesen szerepelni,
nem értékadásnak.
Szerintem...
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Hát de pont ez a bajom, hogy a sorrendtől szeretnék megszabadulni!!!
A nevesített formák pont ezt adják, a szabadságot, hogy tetszőleges sorrendben, akár kihagyva tagokat add meg, amit akarsz!
(#) sdrlab válasza rolandgw hozzászólására (») Dec 20, 2017 /
 
Az ok...de hát már az sem mai csirke, egy viszonylag új fordítónak, mint amilyen az xc sorozat, már illene tudnia azt is...
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Ha a dokuban nincs leírva, akkor nyilván nem tudja...
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
rolandgw említésére ránéztem, ez van a linkelt dokuban:
All the MPLAB XC compilers conform to the ANSI X3.159-1989 Standard for programming
languages (with the exception of the MPLAB XC8 compiler’s inability to allow
recursion, as mentioned in the footnote). This is commonly called the C89 Standard.
Some features from the later standard, C99, are also supported.
(#) Tasznka válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Bár nem szoktam struktot használni,de ez nem lenne jó?
  1. struct point p={ .y = 2, .x = 1 };
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Én pedig fogtam és egy kis próba struktúrát hoztam létre, teszt céljából, mely GOND nélkül lefordult!!!

  1. typedef struct V{
  2.         u8 a;
  3.         u16 b;
  4. }V;
  5.  
  6.  V hh={.b=1, .a=2};
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
És ez miben más mint a fenti nem leforduló?
Mi volt a hibaüzenet?
A hozzászólás módosítva: Dec 20, 2017
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Nem tudom még..., talán abban, hogy ez egy végtelenül egyszerű struktúra, míg amit próbálok alkalmazni, az ennél lényegesen bonyolultabb szerkezetű ?! Most nézem, mi lehet a különbség és ok...
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
A deklaráció végén a V ?
Vagy a point foglalt név?
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Ezt nem értem....
(#) Tasznka válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
Ez nálam működik:
  1. struct point {
  2.    int    x;
  3.    int    y;
  4. };
  5.  
  6. struct point p={ .y = 2, .x = 1 };
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
}V;
az elsőnél nincs:
};
(#) sdrlab válasza pipi hozzászólására (») Dec 20, 2017 /
 
Az csak a typedef utasítás miatt kell oda! Ha nem deklarálsz új típust, lehagyhatod a végéről...
Nincs köze a dologhoz...
(#) sdrlab válasza Tasznka hozzászólására (») Dec 20, 2017 /
 
Persze hogy működik! Ugyanezt írtam feljebb is, csak új típuson keresztül(ami most lényegtelen)
(#) pipi válasza sdrlab hozzászólására (») Dec 20, 2017 /
 
De van...
az elsőnél a 10. sorból hiányzik a struct
ezt helyettesíti a második példádban a struct végén a V megadása, és az értékmegadás elején a V tipus megadása
Következő: »»   1274 / 1318
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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