Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   54 / 1319
(#) Topi válasza Müszi hozzászólására (») Júl 16, 2007 /
 
Ha rendes nyákra furatszerelten építed meg, nem lesz gond. De egy levegőben lógó tranzisztor bázissal még rádiót is lehet fogni.
(#) Müszi válasza Topi hozzászólására (») Júl 16, 2007 /
 
Köszönöm, majd irok ha lesz eredmény
(#) Panhard hozzászólása Júl 17, 2007 /
 
Sziasztok!
Segítséget szeretnék kérni egy pic program megírásában. A feladat amit szeretnék megvalósítani vele a következő: Van egy infra fénysorompó. Az infra adót hajtom kb: 20kHz-es négyszögjellel, a vevőn kijön ez a jel és ezt vezetem rá a pic bemenetére. A pic feladata az lenne, ha ebből a négyszögjelből nem érkezik meg pár impulzus, (mert a fénysorompón nagyon gyorsan áthalad valami) akkor az egyik kimenetét bekapcsolja fél másodpercre. Erre kellene nekem egy kis program.
Segítségeteket előre is köszönöm
(#) potyo válasza Panhard hozzászólására (») Júl 17, 2007 /
 
Jó helyen jársz. Kezd a topik elejétől, megtalálsz minden infót hozzá!
(#) Müszi válasza Topi hozzászólására (») Júl 17, 2007 /
 
Megcsináltam, de nem megy!
Mostmeg error 000h-t ír ki, kitörölve a picet 0000-kat ír ki.
Megcsináltam a nyákot.
a tápfesz 3,9 és 4,2V között ugrál
(#) Topi válasza Müszi hozzászólására (») Júl 17, 2007 /
 
Akkor megint nem jó :no: Tápfeszültségnek, mint már itt kb 10 ezerszer elhangzott, 5V-nak kell lenni!
Megint nemjó a nyákod.
(#) Müszi válasza Topi hozzászólására (») Júl 17, 2007 /
 
DE jó!
Ha a txd és a föld közé rakom a műszert világít a piros LED és stabilan megvan az 5V!
De ha gépen van akkor így ingadozik
(#) cipej hozzászólása Júl 17, 2007 /
 
Sziasztok! Kertem arajanlatot egy nyak keszito cegtol a Potyo fele ICD2-hoz, de egyszerre csak 3 db-ot hajlandoak legyartani. 2770 Ft-db-os egysegaron, meretre vagva, furas nelkul. Elsore kicsit soknak tunik, de nem kell lakkozni meg megvilagitani meg maratni, szal keszen van. En hajlando is lennek beruhazni egyre, de azert harom nem kell. Erdekel vkit a masik ketto? Lui
(#) Prinner válasza watt hozzászólására (») Júl 17, 2007 /
 
Nem találod ki, hogy mi volt a hiba az égetővel!
Vettem 22pf-ot 0805-ös smd tokban, és (mint majdnem minden smd kerámia kondin) nem volt rajta felirat. A kondi viszont a műszer szerint 82nF volt . Az egész akkor esett le, amikor tárolószkóppal felvettem a data kimenő jelét .

Most kiszedtem a két kondit, és tökéletesen éget ezek nélkül is.
(#) watt válasza Prinner hozzászólására (») Júl 17, 2007 /
 

Bevallom ezt én sem találtam volna meg 10perc alatt!

(#) mokus válasza Panhard hozzászólására (») Júl 17, 2007 /
 
Miért kellene ehhez PIC?
Miért pont 20 kHz...
Szabványos infra vevőket lehet kapni 36-38-40 kHz-re is amik pont ezt tudják mint amit leírtál...
Valamelyik topikba tettem fel egy komplett kapcsrajzot adót és vevőt is. Keresd meg ezt már rád bízom.
(#) tibcsi hozzászólása Júl 17, 2007 /
 
Hello mindenkinek!

Korabban mar kertem segitseget, masok szamara igen egyszeru problemara (SPI). Akkor sajnos nem ertem ra tovabbiakban ezzel foglalkozni.
16F877-el akarok kommunikalni egy MCP41010-es digi potival. Szeretnem hasznalni a beepitett SPI lehetoseget (azaz nem progibol atkuldeni az adatot ).
Atneztem a doksi 9.1 fejezetet, de nem sikerult megtalalnem az elvi megoldast.
Egy kis pelda progi jol jonne, hogy is van a regiszterek bellitasai, es az adatok ekuldese.
CLK=RC3=18.PIN
SDO=RC5=24.PIN
CS= ??? hova kotom?

Netan korabban mar valahol reszletesen ki volt fejtve ez a tema, elnezestkerek. ( de en nem talaltam meg )
Nagyon koszonom!
Udv
(#) watt válasza tibcsi hozzászólására (») Júl 17, 2007 /
 
CS lehet bármelyik kiválasztott láb.
Meg kell tudni az MCP41010 adatlapjából, hogy milyen Clock módban működik, és azt beállítani az SSPSTAT regiszterben.
MASTER módot kell választani.
A BF bit mutatja, hogy ha beérkezett egy bájt a pufferbe.
Az SSPCON-ban be kell állítani a módot, ami illeszkedik az MCP41010-hez és be kell kapcsolni a modult az SSPEN bittel.

Meg kell nézni a doksi 69. oldalán az SPI rajzát a sokat segít megérteni működését. A dolog pofon egyszerű, gyakorlatilag szinkronizált léptető regiszterek vannak sorba kötve. Ami az egyiken kimegy a másikba bemegy és viszont.
A Küldéshez csak bele kell tenni egy bájtot a pufferbe, majd vizsgálni, hogy megérkezett e a másik eszköz által küldött bájt(BF bit). kb. ennyi. (Programot ne várj szerintem, inkább keress példákat a microchipnél.)
(#) potyo válasza tibcsi hozzászólására (») Júl 17, 2007 /
 
Idézet:
„CS= ??? hova kotom?”

Természetes egy lábra. Chip Select mit mond neked?
(#) Panhard válasza mokus hozzászólására (») Júl 17, 2007 /
 
Próbáltam TSOP17XX vevővel de nem működött, csak egyet villant. Megnéztem az adatlapját, minden fogadott adatcsomag közt kell lenni szünetnek. Nekem meg folyamatosan kell küldenem, ez benne a lényeg, és ha egy pillanatra is megszakad, akkor jelezzen. A 20kHz az nem számít lehet több, kevesebb.
(#) watt válasza Panhard hozzászólására (») Júl 18, 2007 /
 
Csinálsz egy "órakutyát" aminek a periódus ideje a 20KHz(vagy bármilyen általad választott optokapu vezérlő freki) periódus idejének felénél kicsit több, de kevesebb mint egy teljes periódusidő alatt jár le. Mikor beérkezik a 20KHz egyik fel, vagy lefutó éle(menet közben változtatni kell a bemenet élérzékenységét minden él után az ellenkezőjére), akkor ezt a számlálót törölni kell(pl. egy timer számlálója). Ha egy félperiódus kimarad, akkor a számláló nem lesz törölve, ami ezért megszakítást okoz(hat) ami indíthatja az impulzusodat. Természetesen az impulzusod újra indítható, vagy nem, attól függően mi kell neked, azaz hogyan írod meg hozzá a progit. Ennyi.
(#) Csaplar hozzászólása Júl 18, 2007 /
 
Sziasztok!

Korábban már felvetettem egy olyan problémát, hogy ha egy változó értékét megváltoztattam, akkor egyidőben megváltozott egy másik, teljesen független változóm értéke is.
Akkor ideiglenesen sikerült a problémát kiküszöbölnöm egy újabb értékadással.
Mégegyszer egy p18F4520-as prociról és MPLAB 7.51-ről van szó (C nyelven).

Ma csak egy aprócska új eljárással akartam kiegészíteni a progit, és megint teljesen összekavarodott, egy újabb fontos változó értéke változott meg, látszólag indokolatlanul.

Olyan, mintha már nem lenne elég memória és az újabb dolgok itt-ott átfednék egymás címét!

Néztem futás közben a Program memoryt, ott látszólag minden rendben van.

Mi lehet a baj? Tényleg kevés lehet a memória? Vagy máshol keressem a hibát?

Kérlek segítsetek!

Köszönettel:
Zoli
(#) Gatery válasza Csaplar hozzászólására (») Júl 18, 2007 /
 
Próbáld ki hogy az adott változót a rom-ban tárolod, igaz ilyenkor nem tudod változtatni, de ilyenkor a pic sem tudja változtatni....


pl: rom char a=10;

(#) potyo válasza Csaplar hozzászólására (») Júl 18, 2007 /
 
Ha esetleg mutatnál egy kódot, akkor lehet, hogy látnánk benne valami hibát. Mindenesetre próbáld a rosszul viselkedő változót volatile-ként deklarálni. Ekkor a fordító nem végez optimalizálást rajta.
(#) watt válasza Csaplar hozzászólására (») Júl 18, 2007 /
 
Nem lehet a memória, mert a fordító azt észre kell vegye, hogy elfogyott! Én még mindig arra gondolok, hogy egy olyan megszakítás is lefut, amit nem szeretnél, vagy a megszakításkor nem jól van elmentve egy változó, vagy megszakításban is használod azt a változót amit kint is.
(#) Csaplar válasza watt hozzászólására (») Júl 18, 2007 /
 
Hi!

Megvan!!!!
Közben egy másik helyről is kaptam tippet és bejött.
Az egyik műveletem "pontatlan" volt, így a char típusú változóm értékkészletén kívüli értéket kapott!

Így a nagyobb értékkészlet miatt átcsúszott egy kis szemét a másik változóm címéhez!

Ilyen hülyeséget!

Azért köszi mindenkinek!

Üdv.:
Zoli
(#) watt válasza Csaplar hozzászólására (») Júl 18, 2007 /
 
Ja hogy a típusos változók!
(#) potyo válasza Csaplar hozzászólására (») Júl 18, 2007 /
 
Mi volt ez a művelet, és milyen változókkal? Írd már be azt a kódrészletet.
(#) Panhard válasza watt hozzászólására (») Júl 18, 2007 /
 
Igen valami ilyesmi kellene, tudnál írni nekem egy ilyet? Neked gondolom nem nagy dolog megírni. Vagy esetleg valami példaprogramot? Még nem ismerem ennyire a PIC-et, csak meglévő progikat szoktam módosítgatni. Én valami olyanra gondoltam, hogy fut egy számláló, mondjuk minden ciklusban nől egyel, és van egy érték, amit ha elér, a kimenet bekapcsol. A bemenet felfutóéle pedig mindig nullázza, hogy ne tudja elérni az értéket. Valahogy úgy ahogy a WDT működik.
(#) mokus válasza Panhard hozzászólására (») Júl 18, 2007 /
 
Lézer fénysorompó topik #99902. hsz.
(bocs linkelni nemtudom, nemtudom hogy kell)
(#) Panhard válasza mokus hozzászólására (») Júl 18, 2007 /
 
Igen, ez jó, ezt megcsinálom, szerintem jó lesz, és olcsóbb mint a PIC. Köszi
(#) potyo válasza Panhard hozzászólására (») Júl 18, 2007 /
 
Nem azért vagyunk itt, hogy másoknak írjunk programokat. Ha kell, akkor állj neki, és írd meg magadnak. Ahogy nézem, a megoldás menetével tisztában vagy.
(#) watt válasza Panhard hozzászólására (») Júl 18, 2007 /
 
Tisztában vagy a programozók órabérével?
(#) dpeti válasza potyo hozzászólására (») Júl 18, 2007 /
 
szívemből szóltál...
(+azzal semmit sem lehet tanulni, ha más megcsinálja helyettünk)
(#) Panhard válasza watt hozzászólására (») Júl 18, 2007 /
 
Igen tisztában, én PLC-ket programozok. Ezt a fénysorompót pedig megcsinálom astabil multivibrátorral, mokus rajza alapján, remélem jó lesz. Köszönöm mindenkinek a segítséget.
Következő: »»   54 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem