Fórum témák
» Több friss téma |
Akkor szedd szét a vevőt, egy PIC-el negáld a kimeneti jelet, és minden stimmel, topic is, működés is!
Vagy egy inverterrel, minek ahhoz PIC? Jah, hogy topic képes kegyen a project. Értem...
A hozzászólás módosítva: Máj 5, 2020
Köszönöm a segítő szándékot, de nem lesz jó. Kipróbáltam, és úgy 3 méter körüli távot jelez, ami nekem sok. Előbb az elvet kellene kitalálnom, hogyan tudom az "asztali macskát" érzékelni, utána jöhet a megoldása PICkel.
Felteszem egy kezdő fórumba, ahova eredetileg is kellett volna. Köszi, és bocs megint.
Induktív úton ! Az asztal aljára körben csinálsz egy tekercset és RFID kulcstartót akasztasz a macsek nyakába (a tekercs lesz a leolvasó ....) Vagy ha szerencséd van a cicus "gyári" chipjét is fel tudod használni (az is ilyen elven működik)
A hozzászólás módosítva: Máj 7, 2020
Sziasztok!
Köszönöm a sok segítséget előre is! Most már kezd jól működni Proteusban is szerencsére. Viszont a megszakításkezelésben elrontottam valamit, amit nem teljesen értek. TMR2IE-vel csináltam a megszakítást, de ha elindítom, akkor a modellezés szerint a CPU felugrik maximális terhelésre és a KIMENET láb fel le ugrál. Próbáltam TMR2IF-re lecserélni TMR2IE-t, ahol rendben is működik, de nem szalad bele a megszakításba. Mi hiányzik, vagy mit rontok el? Már nézem egy ideje, de nem bírok rájönni. Példakódokat is néztem, de nem áll össze sajnos. Mostani forrásom a következő:
Köszönöm és üdv: spgabor
Összedobtam egy kis programot: Timer2 használata és gombkezelés!
Szia!
Nagyon köszönöm a példaprogramot. A Proteus fájlba valamiért a programom mindig belefagy, de átrajzoltam az enyémet és megcsináltam az alapján. A hibákat a kódomban javítottaam, így most működik hibátlanul. Köszönöm és üdv: spgabor
Sziasztok
Új MacBook Catalina 64 bites Mac OS MPLAB X IDE 5.35 azt állítja, ő kompatibilis a 64 bittel Patch csak 5.30-ig van rá Feltelepítem az 5.35-öt, de azt mondja, hogy bebeeee! 64 biten nem megy, csak az XC8 assembler De, ha megy akkor miért nem megy? Kétszer újratelepítve. Valahol azt olvasom, hogy csak 5.40-től megy 64 biten. De az még nincs. Én vagyok a béna? Előre is köszönet minden tippért, ami előre visz. A hozzászólás módosítva: Máj 11, 2020
WMware Fusion alá egy virtuális gépet valamilyen Windows-zal, amíg fel nem ébrednek az MPLAB fejlesztői.
Aha, akkor jól sejtettem.
Köszi a tippet, előtte megpróbálom downgrade 5.30 és patch. Ha nem jön be, marad a WMware. Köszi
Ez félig bejött, de most meg az a gondja, hogy "bad CPU type in exelutable".
Feladom, visszamegyek a Windows gépemre, amíg a Microchip behozza a legalább 3/4 éves lemaradását az APPLE mögött. A hozzászólás módosítva: Máj 11, 2020
Hali!
Az 5.30 nálam gond nélkül megy w8 x64-en
Igen, a Win8 tud 32 bites programokat futtatni, a Catalina sajnos már nem adja 64 bit alá. De most azt hiszem, az új intelt nem szereti. Legalábbis gondolom a "mpasmx: Bad CPU type in executable" üzenet ezt akarja sugallni.
Hali!
Ehhez csak annyit fűznék hozzá, állítólag 5.15-ös verziótól van nyűgje Windows alatt is. Nem megy a Debug, nem nyílik meg a Project Properties, stb. Nálam ez az 5.35-ös verzióval jött elő, ami már a Windows 64-bites "Program Files" mappájába települ. Én nem tudtam mit kezdeni vele. Valakinek Windows újra telepítés segített (ez nálam nem opció). A végére páran kaptak valami Patch-et a supportól, ami után jó lett. Addigra én visszaraktam a v5.00-t és az XC8 2.05-öt, ami gond nélkül megy. Szóval várni kell még egy két verzió frissítést.
Megjelent az 5.40 . Ez már fut Catalina 64 biten, csak hiányolja a compilert. Gondolom kifelejtették a csomagból. Ennyit a minőségbiztosításról.
Nem kifelejtették, hanem egyszerűen nem része az IDE-nek.
Az XC fordítókat innen lehet letölteni. Már ha azokat akarod használni...
Szia, köszi a segítséget.
Az IDE emlékeim szerint régen tartalmazott compilert,de lehet, hogy tévedek. Az XC C fordítót pedig letöltöttem, de nem igazán csinálja azt, amit megszoktam. Tegnap még az INC fileokban is hibára futott. Megpróbálom még egyszer. Ha létezik MPASM compiler külön, akkor valószínű az kell nekem. A hozzászólás módosítva: Máj 23, 2020
A régebbi fordítók (C18, C16, C32) az Archivumból tölthetők le.
Nos úgy tűnik, az mpasm-nek tényleg vége. Az XC8 assembler fordítója meg - ha igaz - nem kompatibilis az mpasm-re írt forrásokkal. Korábbi mplab x nem kompatibilis a 64 bites Catalinával. A 12f és 16f-re pedig én még mindig jobban szeretek ASM kódot írni, főleg, ha időkritikus, egyszerű feladatról van szó.
5.35-ben még volt MPASM, de az meg nem szerette az új Mac-et. A kör bezárult, nincs megoldás. A hozzászólás módosítva: Máj 24, 2020
Tovább megyek, az 5.35 WIN 10 alatt is problémázik, az 5.30 megy. Az 5.40 -et meg sem próbálom. Az XC-ASM -ről eddig csak lesújtó híreket olvastam fórumokon.
Szép új világ. Lassan nem lesz használható ASM fordító, ezek szerint?
Sziasztok!
A PIC16F887 adatlapján mit jelent pontosan a 8kx14 ? Nem vagyok benne biztos hogy jól értelmezem a tanulmányaimat, de azért leírom hogy gondolom. Ha jól tudom akkor a 8k az 8 kilószót jelent (8 * 1024 szó), vagyis egy gépi szó egy utasításnak felel meg a programban amit 8biten tárol( vagy 14?). A 14 az a programmemória adatszélessége (14bit)? Ha 8kx8 lenne akkor a memória mérete 8 * 1024 * 8bit (azaz 1 byte), akkor az 8kB? Ha 14 bit széles akkor 8kB * (14 / 8) 1.75 = 14kB? Lehet túl bonyolítom egy kicsit de ezt még nem értem teljesen. Ha valaki elmagyarázná hogy kell ezt pontosan értelmezni meg kiszámítani, akkor azt megköszönném. Előre is köszi.
Hello! Nem kell itt kiszámolni semmit, 8k a programtároló, de a RISC utasításkészlet tartalma miatt 14 bites. Itt a 4. oldalon megnézheted.
Megnéztem, köszönöm. Ha jól értem akkor a 8kx14 nem pontosan a memória méretét adja meg, hanem hogy 8 kilószó tárolható 14 biten? Vagyis minden egyes utasítást 14 biten tárol, még akkor isl ha pl. 4biten is elférne?
Egyszerűen engedd el ezt a bájt alapú memóriaszámítást ilyem mikrokontrollerek esetén. A memória szavas szervezésű - itt 14 bit. Lehet trükközni hogy pár karakterrel többet zsúfolj bele, de a megvalósított algoritmus valószínűleg több memóriát használ el, mint amennyit meg tudsz spórolni - tekintettel a szűkös memóriaméretre.
Az ókorban voltak olyan számítógépek (processzorok, amelyek hat bites bájtokkal értelmezték az elérhető memóriát, mint például a PDP8 (=TPA1001). Ezeknél az utasítások mindig szóhatáron kezdődtek. Az ALU (aritmetikai-logikai egység) viszont 8 biten dolgozott.
A Neumann-féle processzorokon (melyek a programot RAM-ból futtatják) másképpen kell értelmezni a dolgot, mint a ROM-ból futtató processzoroknál, ahol a program/adat memória szigorúan el van választva egymástól. A négy biten elférő utasítás kicsit félrevezető, mert ilyenkor a négy bites utasításkód bitjeihez hozzá kell számolni az operandus hosszát. Meg kell különböztetni az adatmemóriát, (ami szinte mindig nyolc bites bájtokra van felosztva) a programmemóriától, ahol szóhatáron kezdődik minden utasítás. A hozzászólás módosítva: Máj 31, 2020
Lehet, hogy a magas szintű programnyelvekben 6-bites "bájtokkal" is lehetett számolni, de fizikailag a PDP-8/TPA számítógépek 12 bites szószervezésűek voltak, ilyen egységekben lehetett a memóriához hozzáférni adatbeolvasásnál vagy írásnál is és az ALU is 12 bites adatokkal dolgozott, s 12 bites volt az akkumulátor regiszter, a "szorzó" regiszter és a programszámláló regiszter is.
A memória címzése három fokozatú volt: - Közvetlenül 2x128 szó volt elérhető: a "saját" lap, vagy a nulladik lap (7+2 bit címzés) - Indirekt címzéssel (egy 12 bites szó címként történő felhasználásával) 4096 szavas memória modul (field) volt címezhető - Field váltó utasításokkal (ami a perifériás utasításokhoz volt besorolva!) lehetett váltani, hogy melyik 4096 szavas modult címezzük. PDP-8 utasításkészlet TPA-1001
Egyébként az adott esetben a 8kx14 a tényleges memória méret. Egy szóban (14 bit) általában az MSB oldalon van a parancs és az LSB oldalon adat vagy paraméter van. A PIC16F628A leírásában - nálam - a 115. oldal alján látszik a legjobban a modell, (Figure 15-1). Ez alól pár operandus nélküli utasítás kivétel, ami a teljes 14-bitet egyértelműen foglalja pl NOP (00...00).
Köszi, értem.
gyoran. köszi neked is nézem az adatlapot. Tehát akkor a 8kx14 re nem lehet egyértelműen kimondani hogy a memória mérete 8kB? Csak akkor lenne így ha 8kx8 lenne?
Igen, jól látod. Ez egyébként a programmemória, tudományosan mondva ez nem Neumann architektura hanem - talán - Harward. Külön van választva az adat (8bit) és programm (itt: 14 bit ) memória.
|
Bejelentkezés
Hirdetés |