Fórum témák
» Több friss téma |
Fórum
Szia!
APIC12F1840-ben USART van ( pontosabban EUSART ), ami aszinkron soros port működést tesz lehetővé hardveresen! Hogy ezt milyen protokoll szerint használod: RS485, RS232, MODBUS, ... az tőled függ ! Idézet: „Kell valamit még fejleszteni ahhoz , hogy egy PLC vel , vagy HMI vel tudjon kommunikálni , mondjuk SLAVE ként?” Igen, ehhez kell a program, a PIC az csak a "vas" !szerk.: Egy hasonlat jutott eszembe: a USART az csak egy eszköz, mint pl. az ember esetében a nyelv. Annak érdekében kell, hogy két ember tudjon egymással kommunikálni, de ez önmagában kevés: ha az egyik pl. orvosi a másik pl. bányamérnöki szakszavakkal "dolgozik", akkor "elbeszélnek" egymás mellett ( ehhez kell a megfelelő szoftver, hogy "közös nyelven" beszéljenek!) ! A hozzászólás módosítva: Jún 7, 2017
Sziasztok
Régen jártam erre, ezért nézzétek el ha esetleg szó volt arról amit kérdezek . A 12F1840 et a 4.09 es verzióban nem látom . Szimpi lenne ez az ic , az RS 485 miatt .A későbbi verziókba beletették ? Erre nem láttam utalást sehol. Ide kapcsolódik a másik kérdés : hogyan lehet frissíteni , nekem az upgrade -re mindig a levelezőt akarja megnyitni . Emil-ben kell kérni ? Teljes verzióm van . És még egy : az UART ami benne van , tudom hogy MODBUS kompatibilis , de RTU is megy ? Kell valamit még fejleszteni ahhoz , hogy egy PLC vel , vagy HMI vel tudjon kommunikálni , mondjuk SLAVE ként? mezga
Pár euroért lehet kapni GPS modult, soros porton kiküldi az adatokat, csak ki kell válogatni a sok egyéb adat közül a sebességet. Ha már ott a PIC ... és ráadásul még pontos is!
Köszönöm az ötleteket. Még kisérletezek vele, de már sikerült elérni, hogy 800Hz helyett 1,5k-ig bírja. 4n25 helyett pedig rendeltem digitális optot.
Ki kell próbálni a valóságban, ha sok a 10x-s, meg kell próbálni 5x-s különbséggel. ezt már próbáltam, simán ment az LCD. Akár 1Mhz-t írva és 4MHz-t használva,...stb...
A hozzászólás módosítva: Máj 6, 2017
"10x gyorsabb lehet..." .. Viszont az időzítések mások lesznek és az LCD-vel gond lesz..
A gyári példában a Model3 és Model4 mintaprogram segítségedre lehet. Továbbá, ha 2 MHzt-t állítasz be Quartz frekinek, a valóságban meg 20MHz-t használsz (HS-t bekapcsolni a konfigban), akkor 10x "gyorsabb" lehet... A 4N25 sem bírja végtelebségig
A hozzászólás módosítva: Máj 6, 2017
A parsic 2ms-os korlátja miatt nem igazán tudsz 500Hz felett számoltatni vele. Sajnos frekvencia és fordulatszám mérőt nem ebben a programban kell írni.
Sziasztok!
Sebességmérőt szeretnék építeni 16f876-tal. 4n25 segítségével csatlakozok a jeladóhoz. Próbapanelon megépítve az alábbi programmal azt tapasztaltam, hogy egy ideig szépen számolja felfelé az impulzusokat a sebesség növelésével, aztán egy pont után folyamatosan csökken. Ezután függvénygenerátorral is próbáltam, kb 800Hz nél és 2kHz nél is van tető, amig emelkedik, utána csökken a kapcsolás által mért impulzusok száma. Próbáltam 4MHz-es és 20MHz-es kvarccal is megépíteni, kb ugyan az az eredmény. Szerintetek mi lehet a probléma Idézet: Szerinted miért az idézőjel ? „ami már "mindent tud" (Flowcode)””
Nem csúsztatok semmit, ott a hozzászólása, bárki elolvashatja, abból idéztem.
Vitázni tényeken nem fogok, ha problémád van bármely hozzászólásommal, akkor a fórum szabályzata szerint kérhetsz rá moderációt, a moderátor pedig majd teszi a dolgát. Ez a lehetőség kaqkk fórumtársnak is adott.
Aki nem akar "profi programozó" lenni és megelégszik a grafikus fejlesztők korlátaival annak nem kell sem a c sem az asm ezt mondtam a parsic korlátait kinőttem használom a flowcode-t majd ha azt is kinövöm akkor majd megkérdezlek melyik nyelvet tanuljam meg , jó lesz így ???
Kicsit relevánsabb, mint a te hozzászólásod, lévén ez a parsic topikja, és erre válasz:
Idézet: Nem dezinformálni kell és megmagyarázni, hogy miért nem kell érteni hozzá, hanem fejleszteni a tudást. Nem lehet mindent ráfogni a hobbira.. És akkor a "mindent tudó" flowcode-ról ne is beszéljünk. „Ezt nem értettem soha ha grafikus szerkesztő akkor minek az asm ,ha asm akkor minek a parsic ? Aki tud asm nyelven programozni az miért használ mellé parsicot ? Én egyszerűen félretettem és kerestem jobb grafikus fejlesztőt ami már "mindent tud" (Flowcode)”
Azért, hogy ne adjál olyan tanácsokat egy adott témában, amik félrevezethetik a tanuló felhasználót!
Elhiheted hogy belőlem (53évesen) már nem lesz programozómatematikus , miért is kellene tudnom hogyan működik a flex-a kalapács ? Nekem elég ha használni tudom (hobbiról beszélünk !)
A grafikus editor csak a munkát segíti. Teljesen mindegy, hogy parsic, flowcode, flprog, embrio (más nagyon nincs ebben a kategóriában, ami generál forrásfájlt is). A generált forrásfájl átnézésével derül ki minden részlet. Ezért nem értek egyet, amikor azt mondod, hogy minek programozni tudni, ha van visual editor és fordítva. Előbbinek is megvan a létjogosultsága, de csak programozói ismeretekkel lesz teljes értékű (a tudásunk legalábbis egészen biztosan, és csak azzal tudjuk felmérni az editor valós korlátait).
És mielőtt bármelyik mellett leteszi valaki a voksot, célszerű átgondolni, hogy ma már nem csak a uC-t, hanem a fordítót is célszerű kiválasztani az adott feladathoz (pl. flowcode hiába generál PIC-hez szép C kódot, ha a fordító alatta az ingyenes, tehát nem jár hozzá a kód optimalizálás, ergo méretben kb. +40%, sebességben meg ki tudja - de ez csak egyetlen példa). De ez az egész más topicba való, ez maradjon a Parsicnak. A korlátait pedig mindenki mérje fel maga (a saját korlátaival egyetemben).
Valahol itt a témában olvastam évekkel ezelőtt hogy minden időzitést nop-okkal old meg a program ,elnézést hogy nem néztem utána (egészen szombatig biztos voltam ebben)
Na keverd a timert a késleltetéssel! Timerből lehetőleg egy legyen, és azt célszerű tovább osztani, a késleltetést viszont interruptból kezeli szépen, nem állítja meg a programot. Más kérdés, hogy a késleltetés nem lesz soha über pontos, de nem is kell..
Csak annyi hogy minden időzítés lassítja (ha hosszabb meg is állítja arra az időre) a programot , ezért írtuk le nagyon sokszor hogy csak egy alap időzítő és minden időzítést abból kell származtatni számlálókkal .
A hozzászólás módosítva: Ápr 13, 2017
Az ASM az sajnos nem megy.
Viszont próbakép beiktattam egy késleltetést (csatolt kép) és így már nem látszanak a fölösleges szegmensek. Igaz a led az halványabb lett. Kezdetnek így is megteszi. Van ennem a megoldásnak valamilyen hátránya? Azonkívül, hogy a ledek egy picit halványabbak lettek?
Látod én ezt kerültem ki a Flowcode -al
Egyszerűbb dolgokra ideális és gyors megoldás a parsic de nagyon sok korlátja van azt el kell ismerni (és mint látjuk mindenki másképp próbálja kikerülni ezeket ...) A hozzászólás módosítva: Ápr 13, 2017
Amikor én annakidején elkezdtem használni, még nem ismertem más programnyelveket. Hamar előjöttek a parsic korlátai. Viszont gyorsan lehetett benne programot írni. Muszáj volt elkezdeni tanulni az asm-et, ha egy normális programot akartam írni. Ezért volt az, hogy kevertem a két nyelvet. Amire a parsic nem volt képes, azt asm-ben írtam meg neki.
Lehet de egy kezdő nem fog megtanulni asm-ül még a parsic mellett csak mert úgy jó . Ezt nem értettem soha ha grafikus szerkesztő akkor minek az asm ,ha asm akkor minek a parsic ? Aki tud asm nyelven programozni az miért használ mellé parsicot ? Én egyszerűen félretettem és kerestem jobb grafikus fejlesztőt ami már "mindent tud" (Flowcode)
6 éve volt ugyanez a téma.
![]() Bővebben: Link Használod még a parsicot? Én már rég nem. Áttértem AVR-re és C++-ra.
Igen, de az milyen megoldás már? Sok időt elvesztegetsz vele. Sokat van kikapcsolva a kijelző. Sokkal gyengébb lesz a fénye.
Nem egyszerűbb megírni ezt a pár soros programot asm-ben, majd includolni a parsicba. És ha kész a program, még a generált asm-ben áttenni ezt a meghívást megszakításba. Mert alapból nem oda teszi az include fájlokat. És akkor a kijelző váltás el van intézve 3 egymást követő program sorban.
De igen képes csak egy kis logika kell hozzá ! 4 digithez 8as multiplexer és csak minden második kimenetet használod fel a kijelző meghajtására ilyen egyszerű, és az a lényege hogy csak egy időzítő legyen benne az összes időt számlálókkal osztással kell kikombinálni .
A hozzászólás módosítva: Ápr 13, 2017
Ez korábban volt már itt téma.
Bővebben: Link A hétszegmenseg kijelzőkhöz kevés egymagában a parsic. A kijelző függvényt asm-ben kell megírni, és megszakítással hívogatni. Úgy lesz tökéletes. Egyébként úgy működik, a kijelző váltás, hogy: - kikapcsolom az előző kijelzőket. - kiírom az új adatot a szegmens lábakra. - bekapcsolom a következő kijelzőt. Mindezt a programban egymás után. Na most erre a parsic így nem képes. A másik dolog, hogy ezeket megszakítással kell csinálni, különben ha valamit dolgozik a PIC, lelassul a program, azt a kijelzők fényerején észre lehet majd venni. Villannak egyet.
A szegmens problémák azért vannak mert a két digit között nincs szünet , úgy kell megírni a programot hogy a közös kivezetéseken ne azonnal jelenjen meg a következő jel hanem egy szünet után .
|
Bejelentkezés
Hirdetés |


!
Egyszerűbb dolgokra ideális és gyors megoldás a parsic de nagyon sok korlátja van azt el kell ismerni (és mint látjuk mindenki másképp próbálja kikerülni ezeket ...) 