Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1015 / 1319
(#) Hp41C válasza Hp41C hozzászólására (») Aug 13, 2011 /
 
Esetleg a PGM láb lebeg...
(#) t_oszi hozzászólása Aug 13, 2011 /
 
Szevasztok!
Adott 2db 887-es. Az egyiknek csak a bemeneteit szeretném használni, a másiknak csak a kimeneteit, mint egy adatgyűjtő-megjelenítő. Fogalmam sincs, hogy programozzam le ezt a kapcsolatot.
Megköszönném, ha segítenétek!
(#) Poostmaster válasza vilmosd hozzászólására (») Aug 13, 2011 /
 
Minek a tápja?
A programozónak, vagy a próbapanelnak?
A programozót közvetlenül a panel tüskesorára dugom, nincs közben kábel. A programozó egy max 0,5 méteres USB kábellel csatlakozik a számítógépre.
(#) Poostmaster válasza Hp41C hozzászólására (») Aug 13, 2011 /
 
A 100n-s kondi rendben van, a többit nem egészen értem. Mint írtam, most tanulom. És eddig ment rendesen. A programozáshoz a PICkit 2 v2.61-es programot használom.
(#) Hp41C válasza Poostmaster hozzászólására (») Aug 13, 2011 /
 
Szia!

Milyen konfigurációs beállításokat használsz? Az RB7 és RB6 lábak irányát hogyan állítod be? Az RB3 milen szinten van a programozás alatt?
(#) kissi válasza t_oszi hozzászólására (») Aug 13, 2011 /
 
Akkor az egyik PIC lábait bemenetnek állítod, a másikét kimenetnek és csinálsz köztük valamilyen kommunikációt ( pl. soros kommunikáció RX/TX lábak segítségével vagy I2C ) !
Ha a haladó kérdések közé tetted fel, akkor ezt látnod kell ! !

Mi az igazi kérdésed ?

Steve
(#) t_oszi válasza kissi hozzászólására (») Aug 13, 2011 /
 
Elnézést kérek! Azért tettem fel a haladók közé, mert gondoltam, hogy itt gyakorlott picmániások vannak és tudnak segíteni.
Végül is ez a kérdésem. Egy nyúlfarknyi kis példát kérnék, mondjuk az egyiken bemenet az RB0 és ennek a logikai szintjét másolja a másik pic RB0-ja. Hogy rendelem ezeket egymáshoz, úgy, hogy ha sok bemenetet és kimenetet felhasználok, akkor biztos ennek a picnek erről a bemeneti lábáról annak a picnek arra a kimeneti lábáőra kerüljön a jel és véletlenül se valamelyik másikra. Tehát címzés és kommunikáció a kérdésem.
Előre is köszönöm a segítséget!
(#) kissi válasza t_oszi hozzászólására (») Aug 13, 2011 /
 
Milyen kommunikációt ismersz ?

Steve
(#) t_oszi válasza kissi hozzászólására (») Aug 13, 2011 /
 
Áttanulmányoztam mindet, legjobban az általad említettek tetszenek, de nem zárhatom ki az USART-ot sem. Egyediként programoztam már ezeket a típusokat meg a 877-et. Azzal semmi gond nem volt. De kommunikációval még nem próbálkoztam.
(#) kissi válasza t_oszi hozzászólására (») Aug 13, 2011 /
 
Akkor először próbáld ki a kommunikáció kezelését, ha ez megy, akkor a többi "gyerekjáték" lesz ! Kezdésnek nézz szét icserny kolléga honlapján : Bővebben: Link, igaz 18-asra készült, de az elvek, ismeretek jól hasznosíthatók, illetve a neten is nézelődhetsz ( a USART szerintem jónak tűnik, bár nem írtál specifikációkat: sebesség, adathossz, adatmennyiség, stb. ) !

Steve
(#) t_oszi válasza kissi hozzászólására (») Aug 13, 2011 /
 
Kösz a linket, élek a lehetőséggel. A sebesség elhanyagolható, lassú állapotváltozásokat kell lekövetni. Így az adathossz és -mennyiség sem számottevő egy időintervallumban. A hosszról jut eszembe, a fizikai távolság két pic között max. 10m.
(#) t_oszi válasza kissi hozzászólására (») Aug 13, 2011 /
 
Hú, ez tényleg nagyon jó anyag. Kösz, nincs több kérdésem ... egyelőre
(#) nagy_david1 hozzászólása Aug 13, 2011 /
 
Üdv!

Az lenne a kérdésem és problémám, hogy hogyan lehet megoldani azt, hogy két program egyszerre, egymástól függetlenül fusson? Ha minden igaz "multithread"-nek hívják ezt de sajnos nem sikerült a lényeget megfejtsem. Ez mennyire bonyolult? Pl két végtelen ciklus egyszerre de egymástól függetlenül történő futtatása. Esetleg valaki egy nagyon egyszerű példát tudna adni? Előre is köszönöm.
(#) nagy_david1 válasza nagy_david1 hozzászólására (») Aug 13, 2011 /
 
u.i: C-ben programozok és CCS fordítót használok.
(#) watt válasza nagy_david1 hozzászólására (») Aug 13, 2011 /
 
Egy mikrovezérlőben, vagy más egymagos processzorban két program soha nem fut egyszerre! Sőt egyszerre csak egy parancs hajtódik végre. Ha megosztod az időt két ciklus között, akkor úgy fog tűnni, hogy egyszerre történnek a dolgok. De ez itt a haladóknak topic, eleve a kérdésed abszolút kezdő és nem a PIC miértekbe vág! A témát a CCS topicban esetleg lehet fejtegetni...
(#) nagy_david1 válasza watt hozzászólására (») Aug 13, 2011 /
 
Köszi az infót és elnézést.
(#) Zsora válasza nagy_david1 hozzászólására (») Aug 13, 2011 /
 
Megoldható a dolog, hisz már az egymagos procik idejében is voltak multitasking oprendszerek. Természetesen - ahogy már watt is említette - ehhez időosztás szükséges. Tehát fut egy kiszolgáló alkalmazás (supervisor) ami felügyeli és elosztja az erőforrásokat a kiszolgált folyamatok (user) között. Persze az egyes részfolyamatok nem nyúlhatnak szabadon a hardwerhez, mert abból összeakadás lehet. Hogy ezt mennyire egyszerű vagy nehéz kivitelezni az az adott feladattól függ.
(#) Zsora válasza Zsora hozzászólására (») Aug 13, 2011 /
 
A gyakorlatban ez úgy néz ki, hogy a supervisor elindít egy időzítőt, majd átadja a vezérlést a soronkövetkező tasknak, méghozzá pont ott ahol korábban megszakította azt. Ezután ez a folyamat fut addig, amíg a számláló le nem jár és egy megszakítást nem generál. Ekkor a végrehajtás újra a supervisorhoz kerül, aki elvégzi a szüksége feladatokat, majd újra átadja egy időre a ténykedés lehetőségét a következő folyamatnak. Fontos hogy az usernek csak korlátozott lehetősége van, ellenben működésképtelenné válhat a rendszer.
(#) vilmosd válasza nagy_david1 hozzászólására (») Aug 13, 2011 /
 
Vegulis a CCS-nek resze a RTOS. Nezz szet a CCS peldatarban. Van meg mas is: OSA. Meg nem volt idom kiprobalni, de ebben elvileg lehet CCS, HT C , C18, MikroC.
(#) nagy_david1 válasza vilmosd hozzászólására (») Aug 13, 2011 /
 
Végül átmentem egy általatok ajánlott topikba. Köszönöm mindenkinek.
(#) watt válasza nagy_david1 hozzászólására (») Aug 14, 2011 /
 
Én is köszönöm!
(#) Poostmaster válasza Hp41C hozzászólására (») Aug 14, 2011 /
 
A konfig a következő:
LIST P=16F887 ;PROCESSZOR DEFINICIO
#INCLUDE ;A SZUKSEGES INCLUDE FAJL
ERRORLEVEL 0,-302 ; elnyomja a bank-váltás üzeneteit
__CONFIG _CONFIG1, (_LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _MCLRE_OFF & _WDT_OFF & _HS_OSC) ; 0x20D2 HEX formában
__CONFIG _CONFIG2, (_WRT_OFF)


A PORTB pedig semmilyen szerepet nem játszik a programban. Csak a C és D portok működnek.
(#) Hp41C válasza Poostmaster hozzászólására (») Aug 14, 2011 /
 
Szia!

Ugyan a MCLR le van tiltva, a HS oszcillátor nem indul külső jel vagy quartz / rezonátor nélkül. Áramkörben vagy adapteren programozod? Ezzel a konfigurációval áramkörön kívül (adapterrel) mennie kellene a programozásnak.
(#) n_yálastrubadúr hozzászólása Aug 15, 2011 /
 
Jó napot!
A következő projektemben egy diacon kesztül, amit egy pic pwm-je vezérel, egy triacot vezérelek. De a problémám az egyáltalán nem szép egyeletesen emelkedő fényerősség. Pedig egyesével töltögetem a CCPR1L regiszter. Az effektus inkább villódzás és zavar. Mit rontok el?
(#) Poostmaster válasza Hp41C hozzászólására (») Aug 15, 2011 /
 
Áramkörben programozom, és van külső quartzoszcillátor rajta.
(#) Poostmaster hozzászólása Aug 15, 2011 /
 
Véletlenül nem tudja valaki, hogy lehet-e, és hogyan ingyenes mintát rendelni a Microchiptől?
(#) icserny válasza Poostmaster hozzászólására (») Aug 15, 2011 /
 
Magyarországra évek óta nem lehet. Egyébként meg (az elfogadott országokban) a kiválasztott PIC honlapja aljára kell görgetni, a Prices & Amples részhez. Például: PIC18F4550
(#) szepesg válasza icserny hozzászólására (») Aug 15, 2011 /
 
  1. /* Hello
  2.  
  3. Oké, kösz. Működik.
  4. Tényleg a TCS-t kellett external-ra (1-re) rakni.
  5. Üdv,
  6.  
  7. szepesg
  8.  
  9. */
(#) szepesg válasza szepesg hozzászólására (») Aug 15, 2011 /
 
Hello!

Közben tovább gondoltam a dolgot.
Én nem csak a T1CON-nal babráltam, hanem az OSCCON-nal is.
És ott beállítottam, hogy a currens oszcillátor a secondary osc., és azt is, hogy a system clk = pb clk.
Szóval TCS=0-val is működnie kellett volna a rendszernek.
Vagy tévedek?
Köszönettel:

szepesg
(#) icserny válasza szepesg hozzászólására (») Aug 15, 2011 /
 
Szerintem tévedsz. Nézz utána az adatlapban (vagy a Family Reference Manualban), hogy melyik bit mit befolyásol!

A TCS bit azt befolyásolja, hogy Timer1 előosztója melyik jelforrásból kapja a jelet. Az általad említett többi beállítás ezt nem pótolja, hanem kiegészíti.
Következő: »»   1015 / 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