Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Valaki foglalkozott már a PIC32 Ethernet Starter Kit-tel, egészen konkrétan az Ethernet - TCPIP-BSD - HTTP Server Demo-val?
Tud valaki olyasmiről, hogy feltételes fordítási direktívával lekérdezhető, hogy mi van kiválasztva debuggernek az MPLAB-ban? A __DEBUG csak azt jelzi, hogy debug módban van a fordítás, viszont nekem olyan kellene, hogy ha MPSIM alatt nézem a programot, akkor ne várjon az LCD busy jelzésére, mert az ugye sosem fog jönni és csak végtelen ciklusban marad (jó, mondjuk lehet tenni lejáratot, de ha a kijelző is fontos része az áramkörnek, akkor felesleges), ha viszont pl. ICD2-vel debuggolok, akkor ott már figyelje az LCD busy jelzését.
A helyzet annyival bonyolultabb, hogy a szimulátort akkor is használhatod, ha nincs definiálva a __DEBUG szimbólum...
Olyan megoldással találkoztam eddig, hogy a programban vagy a projekt opcióknál definiáltak egy SIM szimbólumot, s a forráskódban #if defined(SIM) direktívák szabályozták, hogy mit csináljon a fordító.
Én is ezt a megoldást ismerem a problémára...
Steve
Stimulus-szal nem tudud megoldani az lcd busy flagjenek szimulalasat?
Nem akartam, így egyszerűbb lett volna...
PIC18F2523-nál a konfig beállításokat szeretném megadni, hogy külső 40MHz-es kvarccal menjen. De az MPLAB-ban a Help/Topics.../PIC18 config settings-nél nem egyértelmű nekem a dolog. OSC = XT-nek kellene lennie?
4 MHz felett HS beállítás kell !
Steve
Azért azt nézd meg az adatlapban, hogy meddig garantálják a külső kvarc meghajtását, mert nem biztos, hogy a 40MHz-et már szeretni fogja. Nekem 25MHz rémlik maximumként az általános (nem USB és nem Ethernet) tipusoknál. Inkább tegyél 10MHz-es kvarcot és kapcsold be a PLL-t.
És tényleg! Na akkor ez esetben (10MHz-es kvarc és PLL) mire állítsam? HSPLL? Mást ugye nem kell állítani?
Igen, HSPLL vagy valami ilyesmi, HS és PLL legyen benne. Mást nem kell állítani, de lehet, hogy le kell venned a tápot és ismét ráadni, hogy bekapcsoljon a PLL, miután a konfig bitekbe beírtad. Utána már többször nem kell táp fel-le, csak ne lepődj meg, ha égetés után továbbra is 10MHz-en fut.
Üdv. Elkezdtem pic-et programozni. Az időzítéssel lenne problémám. 16F628-at használok. Belső oszcillátor van bekapcsolva.
TIME MOVLW 250 MOVWF Loop1 Outer MOVLW 200 MOVWF Loop2 Inner NOP NOP DECFSZ Loop2,F GOTO Inner DECFSZ Loop1,F GOTO Outer RETURN Hogyan lehetne beállítani úgy hogy mondjuk millisec-ben lehessen megadni az értéket.
Szia!
Készíts egy rutint ami 1ms alatt fut le. A futási idő mérésére a MpLab szimulátorában levő stoppert javaslom. Ha a rutin már megvan, akkor mondjuk a W ben átadott számmal már ms-ben lehet állítani a várakozási időt.
A stopper elindításában és használatában tudnál segíteni?
Szia!
Állítsd be a szimulátort debuggerként - Debugger / Select Tool / MpSim. Jelenítsd meg a stopper ablakát: Debugger / Stopwatch. A felső sorban a teljes szimuláció idejét láthatod időben ill. ciklusban. A második sorban a legutóbbi törlés óta történt szimuláció idejét és ciklusszámát látod. A sor elején a Zero gombbal lehet a második sort nullázni. A valós adatokhoz a Debugger / Settings lapon be kell állítani az órajel frekvenciáját...
Nekem nincs ilyen menüm hogy Debugger. Csak Debug de ott meg nem találom meg amit írtál.
Melyik bolygóról töltötted le a MPLAB-ot? Verzió?
Szia!
Ha Win98 -nál frissebbet használsz töltsd le a Microchip honlapjáról az Mplab 8.53 verzióját - a hivatkozásokat abból másoltam át...
5.7-es verzió van meg. De letöltöm amit mondtál
Igen, az 5.7-es meglehetosen regi, talan bronz korbol szarmazik.
Szia!
Sokat használtam -- még Win 3.1 alatt is fut...
Hát nem nagyon akar menni ez a szimuláció. Akárhogy változtatom az értékeket mindig 2 ms-ra jön ki.
Break pontokat használsz? Két, az időzítő rutinok meghívásai között kéne mérni az időt...
Nem tudom mik azok a break pontok. Úgyhogy nem hiszem hogy azokat használom. Vagy lehet csak nem tudok róla.
Ha kiválasztottad a Debugger/Select tool/ menüből az MPLAB SIM módot, akkor utána ha kettőt kattintasz arra a sorra, ahol szeretnéd, hogy meg álljon a szimulált program futása, megjelenik a sor elején egy piros B betű. Ez a Break pont.
Ha két CALL wait1ms rutinhívás követi egymást, akkor az elsőnél mikor megáll a program lenullázod a StopWatch-t, majd tovább futtatod a programot. A következő Call nál(lehet ez egyébként bármilyen másik sor is, pl. NOP) megállva láthatod, hogy mennyi időbe tellet a wait1ms rutin lefutása...
Nekem ez nem nagyon megy. De szerintem én rontok el valamit. Mivel kell léptetni? F7-el?
|
Bejelentkezés
Hirdetés |