Fórum témák
» Több friss téma |
Sziasztok!
Lenne egy nagy problémám :S Szerdán kéne bemutatnom egy CAN buszos, LCDs eszközt, ami eddig tökéletesen működött is. Kb 1 hónapig állt a polcon, majd elővettem, és nem működött. Most lépésről lépésre futtattam a programot, és olyan hibákat csinált, amiket nem értek! pl:
Ha ezt lefuttatom, lépésről lépésre, akkor az i változó végig 6-ot ad ki... (még akkor is ha a for ciklus elé i=4; -et beteszek. De ha átírom a változó nevét K-ra akkor működik. Ha használom az LCD_PUTC-függvényt akkor a fv után az i értéke 27 lesz. Ugyan ezt a fv-t használom még kb 5 helyen a programban, ahol tökéletesen lefut. Átírtam az összes i változót K-ra akkor pedig az LCDben eltűntek a saját karaktereim És mind emellett a CAN kommunikáció egyáltalán nem működik semmilyen esetben sem. Az egészben az a fura, hogy maga a készülék 1 hónapja tökéletesen működött pontosan ugyan ezzel a programmal! Az ég világon nem csináltam semmit vele, csak újrafordítottam, és újra felprogramoztam. (még a biztonsági mentésből is) Még másik gépre is újratelepítettem, a CCSt, és az MPLABot, de pontosan ugyan azt csinálja. Kettő darab PICel próbáltam ki, mind a kettőnél ugyan az a helyzet. Egyedül az égetőből van egy darabom, de az úgy néz ki, hogy jól működik. Ha valaki tapasztalt már ilyet, vagy hasonlót akkor légyszi segítsetek megoldani! Köszi előre is!
CCS+MPLAB kombót nem használtam, de AVR Studio + GCC-nél elég érdekes dolgokat tudnak produkálni a különböző optimalizációs szintek, főleg ha nem szerencsésen vannak deklarálva a változók. Ciklust ugyan még nem sikerült optimalizációval kigyomlálnom, de sima elágazást igen...
Amúgy lehet jobban jársz a PIC mértek, hogyanok... témával, hátha azt sűrűbben látogatják natív PIC-esek
Szia!
Hasonló változós problémám nekem is volt, igaz C30 és assembly vegyítése után... A probléma okára nem jöttem rá, de megoldódott azzal, hogy minden egyes változót függvényeken kívül deklaráltam. A hiba jelensége nálam: Az egyes változók teljesen random kaptak értéket, amikor a függvényen belül lettek létrehozva... Ráadásul az sem tetszett a fordítónak, ha a függvény a paraméterként megkapott értékeket akartam függvényen belül használni, csakis úgy, ha függvényen kívül voltak létrehozva az egyes változók... CCS-ben még nem programoztam túl sok bonyolult dolgot, de eddig minden működött, amit abban írtam. Viszont amire rájöttem a fordítóval kapcsolatban, hogy elég sokszor hülyeséget csinál... Ha assembly-hez konyítasz valamennyire, akkor javaslom, hogy a fordítóból nyerd ki valahogy az assembly kódot, abból talán okosabb leszel (legalább el tudod dönteni, hogy a változók hogyan is helyezkednek el a memóriában, mikor mi kap értéket, igaz ez egy bonyolultabb program esetén elég durva...)
Köszi az infókat!
AZ optimalizációt levettem legkisebbre, de úgy is azt csinálja. A változók többségét globálisan deklaráltam. Mikor lépésről lépésre futtattam olyat is észrevettem, h a fent említett programnál az IF elágazásba akkor is belefut, ha fok=20; meg akkor is amikor fok=255; ami igen érdekes! ASMhez csak kicsit értek, de sajnos arra már tuti nincs időm PICkit Fw-jét is újratettem, legfrissebb Mplabot leszedtem, már nincs ötletem Azért még próbálkozok
1.: Volt egy MPLAB verzió, amivel nem sikerült szimulálnom.
2.: A 8.41-es veszekszik a PICKIT3-mal. 3.: Próbáld meg esetleg másik fordítóval, vagy legalább másik verzióval! 4.: A teljes project újrafordítás is csodákat művelhet.
Üdv!
Próbáld meg a ccs saját fordítójával.
Ehh, hülye vagyok...
Elrontottam az IF ágban a relációjeleket :S De ez még nem magyarázza, h miért nem megy az i változóval, és az LCD fv miért változtatja meg az i értékét :S próbáltam a ccs saját fordítójával, és a pickit2 eredeti programozófelületével, de ugyan az 8.43-as Mplabom van, az egész projektet újrafordítottam, de semmi most van folyamatban egy másik C fordító beszerzése.
Előkerestem a ccs fordítómat, ha felteszed a cuccot megpróbálom lefordítani.
Szia!
Így látatlanban nehéz segíteni, viszont ha publikus a kód, akkor szívesen beleolvasok, hátha észreveszek benne valami elírást... Az nem lehet, hogy egy másik függvény is meghívódik, miközben végehajtódik a ciklus (olyan függvényre gondolok, ami használja azt a változót...) üdv: GLaszlo
Sziasztok !
CCS+MPLAB -ot használok már egy ideje, de most hogy Windows 7-et raktam a gépemre egyszerűen nem tudom összehozni a progikat úgy hogy a szimulátor is fusson.A hex-et létrehozza akkor is küld hibaüzit, de ami fontosabb hogy nem indul el a szimulátor! Nálam Mplab 8.80 vagy 8.83 , CCS 4.124 -es verziószámú. Tudna valaki segíteni, vagy egy Win 7-en működő Mplab CCS-C párosítás verziószámát megadni? Előre is köszönöm a fáradozásotokat !
Tip: "alt + PRTSCR" csak az aktiv ablakot viszi printscreen-re
Köszönöm , csatolom újra .
Sziasztok,
Mplab 8.80 hoz szeretnek CCS forditot hozzaadni, de nem nincs benne a listaba. Mit csinaljak?
Le kell tolteni es telepiteni a MPLAB Plugint.
Sziasztok !
Valaki tudna segíteni egy Windows 7-en működő Mplab + CCS-C fordító verziószámával vagy valami telepítési trükkel, ha van ? Nálam még mindíg az a helyzet ami öt üzenettel ezelőtt ! Fontos lenne, előre is köszönöm !
Hello!
Nekem már 3 hónapja megy az MPLAB és a CCS 64 bites windows 7 alatt, minden hiba nélkül, 2 fajta MPLAB-ot is kipróbáltam és eddig nem ütköztem akadályba. Az MPLAB verziószáma 8.85 és a CCS-é pedig 4.133d. Nem kellett semmivel sem trükköznöm, egyszerűen csak beszedtem a programokat (először MPLAB majd CCS és ezek után az MPLABŽIDE Plug-in-t)
Sziasztok.
MPLAB X-hez keresek CCS forditót ,ugy tudom hogy 4.134-től már tudnak együtt müködni,esetleg tudja valaki honnan lehet 'beszerezni'. Köszike
A MPLAB X alatt is megy szerintem, de a CCS oldalarol le kell tolteni a MPLAB plugin-t es telepiteni. A CCS C utolso verzioja a 4.134.
A Plugin is fel van telepítve és a 4.134 van fent a gépen csak MPLAB X -en folyamatosan leáll.MPLAB ban tökéletesen müködik ugyan ez a ver. Át szeretnék térni az MPLAB X re de sajna nem megy .Ugyan az a proji ami MPLAB on megy az MPLABX en nem.... egyenlőre tanácstalan vagyok.
(remélem nem gond hogy ide firkálok MPLAB X gondjaimmal ,vagy indítsak uj topikot? A hozzászólás módosítva: Nov 4, 2012
Szoval jobban jarsz (ha nincs kulonos okod atterni) ha megmaradsz a sima MPLAB mellett. Persze linux, MacOSX alatt csak az megy. Meg varni kell egy par verziovaltast, hogy kiforrjon a MPLABX. Valamelyik PIC-es topikban HP41C kollega boven ecsetelte az uj IDE hianyossagait.
|
Bejelentkezés
Hirdetés |