A privát üzenet rendszerben karbantartásokat végzünk. Lassulások előfordulhatnak!
Fórum témák
» Több friss téma |
Dear friend, Thank you very much for your attention,
one more question please, can we make it with pic microcontroller. A hozzászólás módosítva: Szept 16, 2021
Nem lehet hogy a kijelző frissítés és a dcf olvasás "akad össze" ?
Sziasztok! Azt szeretném kérdezni, hogy 16f88-hoz való asm lefordítható, hogy 16f628-ban működjön?
Szia!
Attól függ, hogy a programod melyik regisztereket és perifériákat használja, minden esetben nem. A hozzászólás módosítva: Okt 8, 2021
Sajnos nem értek a programozáshoz. A megépítendő cuccon egy 2x16 soros LCD csücsül és egy bemenetén mér mV-ot.
Nem fog működni, mert a 628-ban nincs ADC modul, így nem tud "mérni".
Sziasztok!
Volna egy olyan kérdésem.Picnél assembly programozással, hogyan kell egy nyomógombos programot csinálni? Egyszer felkacsol egy ledet, következő nyomásra lekapcsolja. A tipusa mindegy. Van olyan oldal ahol egyszerű példa programok vannak?
Szia!
Amennyiben semmi más dolga nincs ezen kívűl a PIC-nek, és feltételezzük, hogy pergésmentes gombot használsz, akkor ez a leg primitívebb megoldás, ami szinte bármely PIC-en elfut. Persze inicializálni azért kell a PIC-et.
A hozzászólás módosítva: Nov 24, 2021
C -t szeretnék alaposabban megismerni, és a következő problémába futottam bele:
Adott egy függvény deklarációja:
A program a függvényt hívja: [code=c] FFTComplexIP (LOG2_N, &ADCoutput[0], (fractcomplex *) __builtin_psvoffset (&twiddleFactors[0]), (int)__builtin_psvpage(&twiddleFactors[0])); [code=c] Kérdés: A &ADCoutput[0] címszerinti átadással megy át, szerintem rendben is van. De a (fractcomplex *) típusmódosító mutatóvá alakít, pedig azon paraméterhelyen is címet várunk. Itt hogyan kell értelmezi mindezt? A psvoffset okozza valahogy mindezt? De hogyan?
A dsPIC-nek Harward architektúrája van. Az adat (RAM) és kód (FLASH) külön memória. Az adott példában az ADCoutput a RAM-ban van a twiddleFactors pedig lehet a RAM-ban és a FLASH-ben is.
A psv-s cast-os trükközés azért van, hogy a FLASH memória címet is át tudjad adni ugyanannak a függvénynek, ami valójában egy RAM pointer-r vár. Mivel a FLASH címtartománya nagyobb mit 16 bit, ezért a pontos címet page és offset formában adja át. A psvpage megadja, hogy melyik lapon kezdődik a twiddleFactors, az offset pedig a lapon belüli index. A cast (fractcomplex *) azért kell, mert a psvoffset nem címet ad vissza hanem egy offset-et, ami int típusú. A C megengedi az ilyen unsafe műveleteket, ezért nagy odafigyelést igényel. Belül a függvény figyeli az átadott page értékét, és ha az egy előre meghatározott érték (COEFFS_IN_DATA = 0xFF00) akkor a twidFactors pointert úgy értelmezi, hogy a RAM-ban van, egyébként meg a FLASH-ból olvassa, azaz belül is kell lenni egy cast-nak vissza int-re. Ez egy randa megoldás, de Harward-os mikrokontrollereken gyakran találkozni hasonlóval sajnos. Szebb lenne, ha lenne egy külön függvény ami a twidFactors-t RAM-ból veszi, és egy másik ami meg FLASH-ből. És a többit oldja meg a DSP lib belül, ahogy akarja.
Igen, valahogy magam is hasonlóan gondoltam, de egy ilyen korrekt kiegészítéssel már érteni is vélem! Köszönöm!
Van valakinek ötlete arra, hogy hogyan tudnám számítógéppel figyelni egy PIC és egy kijelző (Nextion) közötti UART kommunikációt, úgy hogy egyidőben lássam az adást és a vételt is?
Logikai analizátor nem a leg jobb, mert hosszú időn keresztül kéne nézni! A hozzászólás módosítva: Nov 26, 2021
Mégis mennyi az a hosszú idő és mekkora a sebesség?
A rögzített adattal mit kell utána csinálni?
Két USB-UART modul és valamilyen Terminal program a gépre. Ha a nyers adatok nem felelnek meg (nem írtál erről semmit), saját programot kell készíteni.
Egy olyan eszközzel, amin van 2 soros port. De akár egy olcsó Arduino-val is, az egyik a hardveres soros port, a másik pedig egy szoftveres. Az adatfolyamot meg egy SD kártyára ki tudod írni (ezt más eszközön is ki tudod olvasni) és aztán áttolod PC-re USB-n (de ha nem kell kivehető, akkor egy memória chip is elég lehet), vagy akár közben is, de az puffer függő, mert dupla mennyiségű adatot kell áttolnod.
Vannak tömörítős logikai analizátorok ill. protokol analizátorok, amit tudnak hosszabb kommunikációt is rögzíteni.
115200 baud ( de tudom változtatni, ha kell ... )
Akár több óra is lehet amíg rögzíteni kell ... de csak időnként jönnek/mennek adatok Sima szöveg, monitoron olvasni akarom. Ha minden igaz van 2db USB/TTL 232 átalakítóm, ha jól látom akkor a putty tud több példányban is futni ... Lehet ez lesz a megoldás, ha működik! Mindenkinek köszönöm!
Sziasztok!
Próbálkoznék bootloader-el, de valahogy nem is tudom hogy kezdek hozzá. Találtam egy mappát, amiben szerintem minden benne van, csak hát én nem értek hozzá. Tudna valaki segíteni hogy működőkepés legyen?
Tud valaki olyan terminál programot, ami időbélyeget is hozzáad a beérkező adatokhoz (mint pl az Arduino IDE) és látom az adatot HEXA-ban és ASCII-ban is.
Létezik-e a puTTY-nak magyarítása?
Bray Terminal. Settingsben a Time -ot be kell pipálni és megjelenik. Tud ASCII-t, hexát..https://sites.google.com/site/terminalbpp/Terminal20141030.zip
Valamikor 15 vagy több évvel ezelôtt írtam saját használatra egy ilyen programot, most feltúrtam neked, hátha hasznos. Direkt tud ilyen "oldalnézetet" két soros porthoz. Magam is csodálkozok hogy futásképes még, de mintha a soros portokat már nem detektálja jól (cserébe Com1-24-ig kiválasztható bármi).
Köszönöm, de PIC18F46K22-re nem találok bootloadert. Írtam már a szerzőnek, nem válaszol.
Az általad feltöltött forrást le lehet fordítani 18F64K22 -re. (Ld. devices.inc 375. sorától).
Látom hogy le lehet fordítani. De sebességet, belső kvarcot, TX2-RX2 nem kell beállítani?
A beállítások a bootconfig.inc állományban vannak.
Tudsz nekem segíteni ebben? Nem nagyon tudom mit kell beállítani.
Már az UART2 -re van beállítva. Csak az órajelet kell beállítani. Alaphelyzetben automatikusan beáll a használt UART sebességre.
|
Bejelentkezés
Hirdetés |