Fórum témák
» Több friss téma |
Sziasztok!
Rs232 kommunikációt kellene megoldanom de csak félig működik. RS-CHECK programmal működik. Raspbian röl ASCII kódot küldök rá akkor már nem működik. ASCII 48, 49 Köszi
Mi a terved a kommunikációval?
Ugyanis a venni kívánt byte-oknak annyinak kell lennie, mint amennyi valójában érkezik. ha elküldöd a "0" és "1" ASCII kódját akkor, lehetséges, hogy enter (13) is megy utána, vagy még soremelés is (10). Tehát, vagy 2 db, vagy 3 db, vagy 4 db byte fog érkezni a PIC-be. neked ennyi változót kell várnod. Tetszőleges hosszú táviratot, így elég nehézkes fogadni, főleg PC felől. Nem véletlenül vannak kötött protokollok az ipari kommunikációkban is...
Semmi különleges dolgot nem akarok vele csinálni.
Pc felül érkezte 1-re bekapcsol, 0-ra kikapcsol menyi az egész.
Sziasztok!
Én még a régi Parsicot használom (3.5.6.15),most előkerült egy kb 2éve rajzolt program amit módosítanom kellet.Megcsináltam a módosításokat és ujjra fordítottam (hiba nélkül lefordult) és nem működik,természetesen ellenőriztem mindent ami átszámozódhatott de mindent rendbe találtam.Arra gondolok ( lehet ,hogy hülyeség az egész ),hogy a módosítások miatt p.l. az LG17 -es kapu elé odakerül mondjuk az LG-147-es és ez a végrehajtás sorrendjében olyan távol van egymástól,hogy a program (eltéved).Ezt azért gondolom mert ha ujjra rajzolom az egészet akkor meg működik,csak hát minden módosítás után ujjra rajzolni az egészet kicsit macerás a dolog.Itt a fórumon visszaolvasva mindenki azt írja ,hogy a módosítások után lefordítva minden működik rendesen.Arra is gondoltam, hogy az én 3.5.6.15-öm nem jó ezért szeretnék megkérni valakit akinek van működő 3.6......-verziója ha lehetséges küldje el nekem,hogy azzal kipróbáljam ,hogy működnek e a csak módosított programok.A fáradozását előre is köszönöm annak aki elküldi.Üdv. Klaszlo
Köszönöm a fáradozásodat. Letöltöttem,(ez a verzió van meg nekem is )feltettem xp-s laptopra,az ábra ugyan az ,a módosított nem megy az átrajzolt megy.Lehet hogy ilyen a program,vagy ez a verzió? (Továbbra is várnék egy 3.6_ost hátha az másként viselkedik.)Nem tudom ,hogy akik többet használják a programot azok tapasztalták e ezt a jelenséget .A változtatás nagyságrendjét nem írtam le:oldalanként ki lett törölve 7db kapu 4 db 1 shot 1db rs és természetesen a hozzájuk tartozó " vezetékek", ment helyettük 3db kapu 1db adc 1db mx 1db bv és ezek" vezetékei".Ez azt jelenti ,hogy 153 kapuból változott 21, 67 OS -ből 12, 29 RS_ből 3 .Lehet ,hogy ez már sok változtatás? Felmerült bennem ,hogy megveszem a 4-es verziót,de visszatart a gondolat, hogy ha az is ilyen akkor lehet rajzolgatni minden változtatás után,bár nem tudom mi a tapasztalat a 4-esnél ilyen esetben? Üdv:klaszlo
Igen kicsomagolás után használható , elvileg nem kell telepíteni
Letöröltem az előzőt,letöltöttem a p-zippet ,kicsomagolás után setup 356.exe és feltelepíti a 3.5.6.15 öt ? nem tudom mit csinálok rosszul ? Mára ennyi megyek É-műszakba.Köszönöm a segítséget.
Azt én sem tudom mit rontottál el , a rendszergazdám (a fiam) a 3.6 os verziót linkelte
Majd ha hazajön az én rendszergazdám(ua mint nálad) majd megnézi.A másik linket megfúrta a gugli. Azért köszönöm a fáradozásodat.Üdv.klaszlo
Sziasztok. Csináltam egy parsic programot,ami jól is működik,de közben bővítettem egy kicsit és így már nincs elég memória a 16f628-ban és nem tudom rátenni. Szereztem egy 16f648-at, de a parsic 3.56 nem ismeri, csak a parsic 4. Az lenne a kérdésem, hogy hol tudnék spórolni a memória területnél, vag y van e valakinek parsic 4,aki át tudná nekem írni Asm-be,vagy hex-be.
Hello! Én pld. látok egy halom XOR kaput, aminek egyik bemenetén logikai magas szint van. Viszont így az nem több mint egy sima inverter. Vagy is a következő kapu bemenetét negáltra állítva ugyan az az a eredmény jön ki.
Egyébként én azzal sem értek egyet, hogy egy csomó ONE-SHOT van beépítve, aminek bemenete a GND-n van, így törli bekapcsoláskor a számlálókat. Mert ha megnézem a generált ASM programot, az inicializálásként a változók törlésével kezdődik. Márpedig egy számláló kimenete is egy változó, ami törölve épp olyan mint ha Reset-ből indulna. (Lehet hogy ez ellen lesznek ellenvélemények, de én így látom..)
Köszi. Igazad van az XOR-t ki is szedtem belőle mind,így nyertem elég sokat. Most 2053-nál járok és 2048-ig kellene levinni. Az ONE-SHOT-ból viszont csak egy van, ami le van húzva gnd-re. Valamivel tudom.még egy kicsit lejjebb vinni?
A hozzászólás módosítva: Márc 29, 2018
Indokolatlanul használsz 16 bites számlálókat és komparátorokat, miközben 2-ig vagy 20-ig számolsz csak. Ha ezt kiveszed, már is belefértél a PIC-be.
Van amit kétszer képezel ugyan azt a jelet. Pld. a "szélerősség mérő" felirat alatt a P1:AUTO MOD és P1:TOTAL RESET az LG35 kapuban, majd ugyan ez alatta az LG37 kapuval. Minek? A hozzászólás módosítva: Márc 29, 2018
Erről a 16 bites dologról kicsit mesélnél? Még nem nagyon tudom hogyan kell kezelni. Mostanában kezdtem el próbálkozni és valaki az egyik programnál azt javasolta állítsam át mindet 16 bites re. Van olyan számláló ami 700 ig számlál. Az ismételt jeleket pedig majd megnézem. Eddig is sokat segítettél ,ezt köszönöm .
Lehet a modulokat 8 és 16 bites módban működtetni. Azért javasolják a 16 bites módot, hogy ne legyen gond. Mert pld. egy 8 bites számláló kimenetét egy 16 bites komparátorral dolgozzuk fel, akkor annak hiányozni fog a számláló felső byte-ja.
De amúgy ez is megkerülhető, ha tudjuk a változó nevét. Pld. ZV1 számláló alsó byte-ja ZV1 néven van, (felső ami nincs ha 8 bites) ZV1_HI nevű. De ha ezt definiáljuk a DAT modullal, meg fogja találni. A lényeg, hogy nem szabad keverni a 8 és 16 bites modulokat. De ha nincs egymásra hivatkozás, nincs gond. Viszont nyilván 16 bites műveleteket végezni egy 8 bites procival, hosszabb asm file-t hoz létre. A hozzászólás módosítva: Márc 29, 2018
Egy programon belül lehet 8 és 16 bites számlálókat is használni, ha csak kebeset számol? Ezt úgy értem, hogy ha csak 20-ig számolok, akkor 8 bites, ha pedig 700-ig akkor 16bit-es?
A hozzászólás módosítva: Ápr 3, 2018
Beállítottam az összeset 8 bit-re, csak a két relé közti időt nem, ami 400-ig számol és a mágneskapcsoló, ami 700-ig számol., de ezzel hibával szembesültem. Erre írtad, hogy a dat fájllal ki lehet védeni? Azt hogyan kell?
Igen lehet használni, csak következesen. Ha az IF2 komparátor bemenetén 400 van (nem látom jól), akkor nyilván a ZV3 számlálónak is 16 bitesnek kell lenni. Ha az IF2 bemenetén 100 van, akkor az belefér a 8 bitbe, tehát az IF2 és a ZV3 is lehet 8 bites.
Jelenleg azért jön elő a hoba, mert a számláló 8 bitre van állítva, a komparátor pedig 16 bitre. Így a program "nem állítja elő" ( nem definiálja) a ZV3 számláló felső "ZV3_HI" byte-ját a memóriában. Így a 16 bites komparátornak ez a változó hiányozni fog. Meg lehet adni a felső byte-ot a DAT modullal, ha annak név megadásakor ZV3_HI nevet adsz. Így lefoglal a program egy ilyen nevű változót és az IF2 nem reklamálna, csak abban mindig nulla lenne. Tehát nem tudná elérni a 400-at a számláló, hiszen nyolc bit esetén az maximum 255. Remélem így érthető. A hozzászólás módosítva: Ápr 3, 2018
Közben, már megoldódott, csak nem írtam még le. Igen,a számláló 8 bit-en maradt.Átállítottam mind a kettőt 16bit-re és már nem is írta a hibát. Gondolom, ha hiba nélkül megcsinálja az Asm fájlt, akkor jó lesz, működni fog.
A hozzászólás módosítva: Ápr 3, 2018
Oké, de a "jó működés" nem kizárólag a UC program függvénye, hanem a feladathoz kitalált logikai megoldásé nagyrészt..
Működni eddig is jól működött, csak a kiegészítéssel nem próbáltam még, mert nem fért a pic-be, ahogy kibővítetem, már nagy lett. De holnap kipróbálom, mert már belefér bőven a 628-ba.
Sziasztok!
Segítséget kérnék Tőletek, egy Pic873A parsicos programmal kapcsolatban. A programot hiba jelzés nélkül lefordítja, be tudom írni a vezérlőbe mégsem működik. Az áramköri környezetet amibe került, már sikeresen használtam (ugyan 16F628A vezérlőnél belső oszcillátorral). Miden be és kimenet testen 1k-val, 4Mhz kvarc + 2X22pF. A 4X20 karakteres LCD az 1. és a 3. sorba négyzeteket ír ki, a többi üres. Olyan mintha a PIC el sem indulna. Felteszem a PARSIC programot és a NYÁK tervet, hátha tud valaki segíteni. A nyák alsó része BAKMAN hőfokkülönbség kapcsolója működik. A NYÁK-terv - felhasználói kérésre - törölve. A hozzászólás módosítva: Ápr 26, 2018
Moderátor által szerkesztve
Az MCLR lábat +5 V-ra kell húzni, nem GND-re. A felhúzás mindig jobban bírja a zavart, mint a GND-re lehúzás.
Ez gátolná a működést? A 16f628A zavar nélkül működött ilyen környezetben.
Nem zavarja, Reset állapotban tartja a kontrollert. Most nem tudom megnézni de ha jól emlékszem, a 16F628A esetén bemenetként is lehet használni az MCLR lábat. Ha minden igaz, 16F873A-nál a láb csak és kizárólag MCLR-ként üzemel.
Igen, jól emlékszel! Ismét köszönöm!
Csak egy apró megjegyzés mert most látom, hogy félreérthető a hozzászólásom.
Idézet: Ezt áltlánosságban a bemenetekre értettem, nem az MCLR-re. „A felhúzás mindig jobban bírja a zavart, mint a GND-re lehúzás.”
Bevallom, nem gondoltam erre (tudáshiány)... Eddig csak a 16f628-at használtam,
mert elég volt a ki/bemenet száma és az MCLR-t mindig bemenetként használtam. A program így már működik... |
Bejelentkezés
Hirdetés |