Fórum témák
» Több friss téma |
F:\X_microchip\XC8
Idézet: „A megadott nevet (F:\X_microchip\XC8) a rendszer nem ismeri fel belső vagy külső parancsként, futtatható programként vagy kötegfájlként.” F: ???? --- Én a jó, régen megszokott, bevált C: -re raktam... A hozzászólás módosítva: Nov 29, 2017
A Microchip gyakori hibája, hogy keveri az abszolút, és relatív elérési utak használatát. A keretrendszerben érdemes átnézni, hogy az alapértelmezettől eltérő elérési utat sikerült-e beállítania mindenhol.
Ha megoldható, érdemes ráhagyni, mit, hova telepítsen, úgy lesz a legnagyobb esélyed, hogy működjön ez a katyvasz. A hozzászólás módosítva: Nov 29, 2017
Kösszi nektek
F:\X_microchip\XC8 ilyen mappám nincs is telepítéskor előkészítettem e mappa nevet F:\X_microchip\XC8(v144) A regeditben nézzem át vagy valahol a MPLAB-IDE program katyvaszban ?
Tools/Options, Embedded/Build Tools fül, a Toolchain részen tudsz a keretrendszerhez fordítóprogramokat hozzáadni és eltávolítani.
Megvan a hiba. Azt hiszem a fejlécet rontottam el.
Az errata-ban javasolt #include <xc.inc> fejlécet használom. Ezzel helyére került a TBLRD engedélyezése, sőt most már a globális változókat is inicializálja. Mégegyszer nagyon köszönöm a segítséged!
Köszönöm az észrevételt, én is hiányoltam a forrásból a szükséges részeket.
Benjami fórumtárs észrevételei és javaslata alapján megoldódott a konstansok és a változók inicializálása is.
Ezzel az MPLABX-el és XC8-al a pic18f25k40 csak akkor működik jól, ha a ROM tartalma így kezdődik:
Azért majd kíváncsi leszek, hogyan fogja megcifrázni, ha a megszakítások is használatba kerülnek. Akkor ugye a 0x08 és 0x18 címekre azok kell hogy kerüljenek.
Más tészta: vajon rá lehet venni a linkert arra, hogy ne végétől kezdje el feltölteni a programmemóriát. hanem az elejétől? Idézet: „Tools/Options, Embedded/Build Tools fül” Ahol mondod Itt ez áll F:\X_microchip\XC8(v144) tehát jó regeditben sincs ilyen rosszul. egyébként el tudnék képzeli olyan microchip program fejlesztőt, aminél elindítám a PIC..chip fejlesztő programot és abban semmi mást nem tudnék csinálni csak arra az 1 chipre programot írni mindennemű felesleges dolgokat mellőzve. És ami arra a chipre szájra lenne szabva. Így általános fejlesztéskor az összes PIC re külön fejlesztő program exe készülne. Így ránézve a MPLAB ra eléggé az jön le, hogy sok időt kellene vele gyakorolni, illetve könnyen állíthatjuk be rosszul és elmegy a kedvünk tőle. Hozzátéve én pár programot írtam eddig saját technikával a gép nyelvéhez idomított programommal, ehhez képest így C ből macera.
De a Goto 0x904 helyett lehetne Goto 0xC is ha ott kezdődik a programunk ?
A fordító bin könyvtárát kell megadni, ahol az exe-k vannak. De a 'scan for build tools' gombra is elvileg meg kellene találnia.
A hozzászólás módosítva: Nov 29, 2017
Igen de eszerint jó és a fordítási fájlokat megcsinálta.
Nem értem miért írja Build nél, hogy nincs Xc8
A két slave TX-e így kinyírja egymást,a legrosszabb esetben is kell oda 1-1 ellenállás a TX-ekre,amin keresztül elviselik az ellentétes tápot.jobb lenne oda valami kis illesztő.
A hozzászólás módosítva: Nov 29, 2017
Nem kell semmit tenni, mert ha nem adok meg kezdőcímet semminek, akkor a megszakítás címeire simán befordítja, ami odavaló.
Ha mindkét megszakítás él, akkor csak egy GOTO kerül az adott címre a valódi megszakítási rutinra. A RETFIE után az első utasítás a belépési pont, ahová 0-ról ugrik. Az a BSF NVCON1,7-el kezdődik. A megszakítások után a ROM elejéről kezdve töltődik fel a program többi része, míg a nagyobb konstans tömbök a felső részre kerülnek. A példában csak azért szedtem külön a programot és az adatokat, hogy szemléletesebb legyen, ne kelljen keresgélni mi hol van. Úgy tudom, akár minden függvényt más-más címre lehetne rakni, de akkor figyelni kéne a megszakításokra, az átlapolódásokra és nem lehet ugyanazon a lapon program és adat. Fölösleges macera lenne, így inkább megbízom a fordító belső logikájában, amíg nincs vele gond.
Mivel nem nyitott kollektoros (draines) a TX kimenet, direkt nem köthető össze. Legegyszerűbben úgy oldható meg, ha a master RX-re kötsz egy felhúzó ellenállást a két slave TX kimeneteire pedig egy-egy soros diódát. Arról meg a szoftverben kell gondoskodni, hogy a két slave ne akarjon egyszerre beszélni, mert nagy lesz a hangzavar.
Ha nem adok meg címet, akkor logikusan minden a helyére kerül.
A megoldás attól függ, hogy milyen típusúak a slave egységek. Vannak olyan PIC típusok, amelyiken a Tx lábhoz tartozó TRIS bitet 0 -ra kell állítani és vannak olyanok, ahol a (M)SSI engedélyezése már kimenetté állítja a Tx lábat. Az előbbieknél megoldható, hogy mindig csak az engedélyezi a Tx táb meghajtását, amelyik adni akar. Az adatforgalmat a master vezérli, egy időben csak egy slave küldhet választ.
Az utóbbiaknál inkább diódákat javaslok és egy felhúzó ellenállást a master Rx lábához. Az ellenállásokkal egy feszültség osztó jönne létre, az aktuálisan adó slave és a többi soros ellenállásain keresztül, ami elrontja a szinteket. Ez a diódás módszer alkalmazható az első esetbe is. A hozzászólás módosítva: Nov 30, 2017
Köszönöm mindenkinek a hozzászólást, az adott típusban EUSART modul van (16F1579).
Azt írja hogy "SPEN: Serial Port Enable bit 1 = Serial port enabled (configures RX/DT and TX/CK pins as serial port pins) 0 = Serial port disabled (held in Reset)". Szóval ha kikapcsolom az SPEN-t akkor vétel sem lesz. A diódás megoldás tetszik, az pedig egyértelmű, hogy egyszerre csak egy szolga válaszol. A hozzászólás módosítva: Nov 30, 2017
MPLB X frissítése hogyan történik?
Le kell szedni mindent (IDE, XC fordítók) és újrarakni az egészet, vagy pedig simán rá lehet telepíteni az előző verzióra a letöltött MPLABX-v4.05-windows-installer.exe állományt?
Nemrég frissítettem, nem szedtem le semmit, nincs vele gond.
A korábbi fordítók megmaradtak, ott sorakoznak egymás alatt és választhatók. A hozzászólás módosítva: Dec 1, 2017
Telepítsd rá nyugodtan. Az XC8-cal viszont óvatosan frissítgess, ha használod a periferial library-t, mert úgy döntöttek kiveszik belőle és helyette ezt a pin configurator bigyót rakják be (ami persze régebbi pic-kel nem működik). Én a pic18f25j50-el jártam így. gondoltam frissítem az XC8-at, s a legújabb libet is rárakom, aztán KOPP... Vissza ahhoz a verzióhoz, ami még támogatja, s jééé, megy
![]()
Köszönöm a tanácsokat mindenkinek! Rátelepítettem az MPLABX v4.05-öt, de a régi verziót nem szedte le automatikusan, nekem kellett az MPLABX 4.01 uninstall-t kézzel indítani.
A felhasználói könyvtárban az AppData/local és AppData/roaming mappában is takarítani kellett utána. Takarítás előtt célszerű elindítani az újonnan telepített programot, hogy importálhassa a régi beállításait.
Sziasztok!
Egy kis segítséget szeretnék kérni. PIC18F14K22-es frekvenciáját szeretném feltornászni PLL-el. De úgy látszik, valamit elnézek, mert stabilan ottmarad 16MHz-en. Pedig 64MHz-t kellene tudnia.
PLLEN be van kapcsolva?
Csatold be a progit.
Szia!
Egy ilyen LED gyűrűt szeretnék működésre bírni.Ennek a proginak kellene működtetnie, de nem elég az órajel.
A hozzászólás módosítva: Dec 1, 2017
Próbáld ki BSF OSCCON,6-tal a MOVWF helyett.
Mintha arra emlekeznek, hogy valami furcsasag volt az osccon ket also bitnel,
nem 1x, hanem 00 kellene. Probald ki mindenesetre.
Primary osc. -ot állítsd be az internal helyett. Most nincs időm utánanézni, de volt egy hasonló problémám pár éve.
Köszönöm mindenkinek a segítő szándékot.
Valóban OSCCON két alsó bitjével volt probléma. 00-ra állítva mindjárt működött. A LED gyűrű is produkál működést, bár még nem pontosan azt, amit várok tőle, de ígéretes. Még egyszer köszönöm. |
Bejelentkezés
Hirdetés |