Fórum témák
» Több friss téma |
Kódrészlet a Pk2 Serial Analyzer forrásából:
Feltűnik valakinek valami???? A cbuf2_get() előbb gondosan felszabadítja a kiolvasandó buffer elemet, majd a függvény visszatérési értékeként átadja a hívónak. Csakhogy ez egy megszakítással működő rendszer! Ha felszabadítunk egy adatot, akkor a felszabaduló üres helyet egy másik folyamat (megszakítás) felhasználhatja, azaz a kiolvasandó érték a return utasítás előtt felülíródhat. Egy világhírű cég készülékében???? A hozzászólás módosítva: Máj 12, 2016
Az még elfogadható, hogy amennyiben nincs adat az utolsót adja vissza.
De ki kellene olvasni az adatot az adminisztráció előtt. Ld. 12. sor:
A hozzászólás módosítva: Máj 12, 2016
Szia!
Először is, jó lenne ha ékes magyarsággal tennéd fel a kérdést, mert baromira nem magyar amit írsz. Az általad említett PIC-nek 30 lábát lehet ADC-nek használni, de kivezérlés jelzőnek 2 is elég. Viszont nem annyira egyerű a dolog, mert hacsak nem végerősítő kimeneti pontjára teszed akkor kell egy erősítő fokozat elé mert a LINE jelszintje olyan alacsony, hogy az életbe nem fog normálisan működni.
Ha kivezérlés jelzőt akarsz csinálni és nem valami hű de agyonbuheráltat, akkor lehet egyszerűbb, ha az MSGQ7-est használod, mert ha PIC-en belül akarod sávokra szedni a hangot akkor ahhoz FFT kell ami nem annyira egyszerű, vagy még marad az, hogy műveleti erősítővel szét szeded a hangot több sávra (mondjuk 10-re) és 10 analóg lábat beállítasz vagy multiplexeled az analóg jeleket.
Ezek főleg akkor igazak ha többsávos kivezérlés jelzőt akarsz csinálni.
Sziasztok!
Kb végem van Eddig teljes megelégedéssel használtam az MPlab 8.92-t linux alól wine programmal. Most egy 64 bites linux került a gépre, és itt valamiért az mplab már nem működik. Örömmel láttam, hogy a Mikrochip Linux alá is portolt mblabot mplabx néven. Hiba nélkül fel is tettem, elindítottam, de ekkor ért a meglepetés. Ez a program köszönő viszonyba sincs a régiekkel, kb úgy nézek rá mint "majom a zongorára". A 8-as alá írt programjaim több száz hibát jeleznek fordításkor (asm progik). Próbáltam az importálás menüt, de változatlan az eredmény Kérlek benneteket aki már használja ezt a progit írjon már pár sort, hogy kellene megszelídíteni. Már attól boldog lennék a a régi asm kiterjesztésű programjaimat le tudnám fordítani. Már itt elakadok __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC & _LVP_OFF & _BODEN_ON & _MCLRE_OFF A hozzászólás módosítva: Máj 12, 2016
Köszönöm a segítségeteket,pont úgy működik,ahogy szerettem volna.Jó kis gyakorlás volt.Eléggé összetett,eltartott egy darabig,amíg megértettem hogy is kéne használni,de működik.
Most meg kihagyja az RB4-et,ha a Delay kisebb mint 2000.Egy led-mátrixot akarok vezérelni,az RB4,RA5,RA2,RA1,RA0 bitek felelnek az anódért,a PORTC meg a katódért.Erre van ötleted?
A window -> PIC Memory Views -> Configuration Bits és ott be tudod állítani az X kompatibilis formátumot. De itt egy egyszerű program amiből el tudsz indulni.
Ha j = 4 akkor a LATB nem kapcsol be?
A hozzászólás módosítva: Máj 12, 2016
Szia!
Köszi szépen! Meg fogom nézni, de remélem okafogyottá válik a dolog. Második kísérletre sikerült felvarázsolnom a 8.91-t Azért most már a jövőre való tekintettel is megnézem ezt az X-t ... Nem fordult le ez sem. Szerintem itt van a kutya elásva: build/default/production/main.o: \ D:/Gabor/MPLABXProjects/hobbie_Placi.X/main.asm \ Nyilván nálam nincs ilyen könyvtár és meghajtó A hozzászólás módosítva: Máj 12, 2016
De,apránként tökéletesen működik,mind j=0,j=1...j=4.Ha sokat várakoztatom a programot,akkor is látszik,csak akkor nem összefüggően látom a kijelzést a proteusban,de ha gyorsítok rajta,akkor meg eltűnik az RB4 vezérelte sor a kijelzésnél,mintha az be se kapcsolna.
Csak sikerült.
Ha a "söprűs kalapáccsal" indítottam lefordult
A proteus nem ad mindig vissza tökéletes képet nézd az mplabon belül szimulátorban és ha megnézed a watch-ban ott a j értékének megfelelően kell bekapcsoljanak a port bitek.
Odáig meg van az MPLAB-ban,hogy stimulus,meg meg is jelenik a szimulátor ablak,de a RUN-ra nem reagál semmit.
Szia!
Run módban nem látod a változást, csak a képernyő alsó részén jelzi, hogy fut. 2 lehetőséged van: 1 a kritikus pontokra beteszel egy break pointot, és ott akkor megáll, látod a regiszterek állapotát. 2 egy lépés szimulátor módban dolgozol, ott minden utasítás után megáll, és megmutatja a változásokat. A szubrutinokat tudod egy lépésként kezelni (pl időzítő hurkoknál nagyon hasznos funkció) A hozzászólás módosítva: Máj 12, 2016
Sikerült betenni pirossal egy breakpointot,de nem jön elő semmi,csak azt látom a stimulusban,hogy running target.
Meg kéne ismerkedmem ezzel a Proteussal.
Lehet nem jó helyen keresed a dolgot?
A stimulusra alapvetően nincs szükség. Amikor kijelölöd a debug módot debugger/select tool/mplab sim akkor a felső sorban megjelennek +ikonok Na ezekkel tudsz lépni futtatni egy lépésben futtatni szubrutinokat, illetve resetelni a programot Remélem jól gondolom hol tévedtél el A hozzászólás módosítva: Máj 12, 2016
Sőt van egy plugin az MPLAB-ban amivel a proteusban futó szimulációt tudja kezelni, magyarul szoftveres "valóság" amennyire a proteus lehetővé teszi a valóságot.
Itt is egy kép milyen szépen működik valahol hasznos lehet néha előfordult, hogy a szimulátor vitt rá a hiba megoldására.
Idézet: „Amikor kijelölöd a debug módot” Azt hogy kell? Nálam mplabx ide v3.26-van.
Jujjj... ne haragudj! Ahhoz én is láma vagyok épp ma kérdezgettem róla itt a listán.
Én az MPLab 8.92-t használom A hozzászólás módosítva: Máj 12, 2016
A Dashboard-on -> a Properties(villáskulcs) -> a ami beugrik ablak ott látni fogsz egy olyan nevet, hogy hardware tools és ott rámész a Simulator-ra.
Remek. Bár én MikroPascalozok de ha hex megetethető vele akkor mindenképp meg kell ismernem.
Eddig jó.Előjött az,hogy Stimulus,Variables,Output,Logic Analyzer,I/O Pins,Configuration Bits.
Hogy kell előhozni a változómat?Arra gondoltam,hogy a Variablesnél jobb klikkel New Watch,de ott nincs meg az adott táblázatban.
A lokális változók csak a lokális változót definiáló forrásban/függvényben érhető el én nem a Variables szoktam nézni az egy automatikus változó mutató én külön a Watch windows szoktam használni ott megadom, hogy melyik változót szeretném látni.
Window->Debugging->Watches-nél éred el.
Lehet, hogy rossz fórumon tettem fel a kérdést, de akkor legalább azt mondjátok meg, hol érdeklődjek. Azért kérdeztem itt, mert pices cucc volt.
|
Bejelentkezés
Hirdetés |