Megválaszolatlan hozzászólások | Aktív témák Pontos idő: pén. nov. 08, 2024 16:54



Hozzászólás a témához  [ 6770 hozzászólás ]  Oldal Előző  1 ... 43, 44, 45, 46, 47, 48, 49 ... 136  Következő
PIC kérdések 
Szerző Üzenet
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
tubybb írta:
Ez azonban nagyon gáz, mert akkor minden picem programját úgy kell kezdenem, hogy minden gen. purpose regisztert nulláznom kell. Drága bájtokat vesztek.
Nem kell mindet, csak amit muszáj. Nem olyan sok bájt az, csak néhány CLRF xxx. Vagy ha több regiszter van, akkor egy kis ciklus, és indirekt címzéssel törölni.


pén. feb. 09, 2007 23:35
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
MEGVAN!!!!
Az volt a gond, hogy az általam definiált regisztereket (general purpose reg.) a reset nem nulláza le!
Emiatt nem a megfelelő műveletet, hanem olyant végzett el ami kinullázta a munkregiszteremet. Onnan kezdve pedig hiába, hisz ha nullákkal dolgozunk akkor nullákat kapunk.

Ez azonban nagyon gáz, mert akkor minden picem programját úgy kell kezdenem, hogy minden gen. purpose regisztert nulláznom kell. Drága bájtokat vesztek.


pén. feb. 09, 2007 23:29
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Akkor rajta, hidd el megéri, még ha lesznek számodra érdektelen dolgok is! :wink:


pén. feb. 09, 2007 18:18
Profil Privát üzenet küldése Honlap
platina tag

Csatlakozott: csüt. feb. 08, 2007 11:58
Hozzászólások: 605
Tartózkodási hely: csajárda ricse-köcsöge
Hozzászólás 
valóban még csak beleolvastam...
még nem olvastam végig


pén. feb. 09, 2007 13:52
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
prometheusz
Már ne haragudj meg a kérdésért, de tényleg elolvastad ezt a topicot? Én magam többször leírtam kezdőknek mit javaslok, és többször belementünk igen kezdő kérdésekbe is, és ezért furcsálom a feltett kérdéseidet! :roll:


pén. feb. 09, 2007 13:40
Profil Privát üzenet küldése Honlap
platina tag

Csatlakozott: csüt. feb. 08, 2007 11:58
Hozzászólások: 605
Tartózkodási hely: csajárda ricse-köcsöge
Hozzászólás 
Köszönöm a választ.
Sajnos angolul nem tudok, gondolom a chipcad linkjein is sok angol leirás lenne...
Most tanuljak meg? De lusta vagyok...
Amit irtál át fogom nézzni.
Ha valaki tud még magyar leirásokat mikrokontrollerekről megköszönném.
Rég foglalkoztam áramkörökkel, most ujra belekezdtem, vettem is kezdésnek egy ISD1620
-ast a ChipCadtól, de minden kérdésemre az a válaszuk hogy alkalmazzak mikrokontrollert.
Én meg legszivesebben visszakérdeznék, hogy milyen rollert?
Itt meg mindenféle égetést meg hasonlokat olvasok s probalom összerakni hogy egyáltalán mi az.
Jol tudom h egy lebutitott mikroprocesszorrol van szó?
És a Basic Bélyeg ako rmost mikroprocesszor vagy mikrokontroller?
Ugyhogy jöhetnek a magyar nyelvu leirások linkjei az alapoktól...:)))


pén. feb. 09, 2007 13:07
Profil Privát üzenet küldése
platina tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 754
Hozzászólás 
Klavi
Jó mélyre nyúltál a fórumon, igaz már néhány éve írkálok ide.
Néhány hónapja kitaláltam, hogy pörögni akarok, mint a ringlispiel, tehát az nem frankó, hogy néha elvagyok hónapokig egy bonyolultabb projectel, ezért egyre jobban "forszírozom" a C nyelv használatát és az összetett egy időben több feladat végrehajtását igénylő feladatoknál az OS használatot.
C -t már rég tanultam suliban, tehát az alapok megvoltak már évekkel korábban is, de valahogy PIC -et mindig asmben kódoltam. De most már bevetettem élesben is és hát lényegesen pörgösebben lehet C-ben kódolni. Sajnos az OS -t még nem használtam, mindig van fontosabb dolog, így csúszik a dolog, de mindenképp elő kellesz venni. Mondjuk az alapok itt is megvannak, mert Delphiben szoktam szálakat programozni igen gyakran, szóval az elvek megvannak, csak kéne egy szabad hét...


pén. feb. 09, 2007 10:02
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
mióta a multkor mondtad azóta az LVP mindig offon van.
Poweron timerrel próbáltam ígyis, úgyis. de mindig ugynaz volt a helyzet.

Milyen kódra gondoltál? Programkódra? Elküldöm emilben.


csüt. feb. 08, 2007 23:55
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szomb. máj. 27, 2006 21:39
Hozzászólások: 36
Hozzászólás 
NickE írta:
vki használt már oprendszert PICen?

A NickE által korábban felvetett témához szeretnék hozzászólni, bár én nem PIC-ben utazok.
Mivel a uCOS-t már kipróbáltam (egy hobbiprojektben), ill. egy céges projektnél kezdek belebonyolódni a "hagyományos" programszervezésbe, erősen gondolkodok OS-re váltani.
Eddig munkáim során kialakítottam egy "szegény ember op.rendszere" nevű módszert, ahol szintén taszkokban gondolkodok. A probléma ezzel mindössze az, hogy a taszkoknak kell az állapotukat megjegyezni és átengedni a futást a többinek.
Bizonyos feladatoknál ez egyszerűbb, míg másoknál bonyolultabb megvalósítani.

Pl.
1. A soros port kezelése elég egyszerű: megszakítás vezérelt, amely pufferbe dolgozik. A főciklusban mindig megnézzük van-e bejött adat. Ha van feldolgozzuk, ha nincs, mehetünk tovább.
2. Időzített alapú feladatok, pl. LED villogtatás. A kezelő taszkot adott időnként, mondjuk 10ms-ként futtatjuk le (amit a timer indít), és a beállított be/kikapcsolási idő szerint villog. Ehhez kell még néhány üzemmódbeállító függvény, és csak ki kell adni a parancsot, hogy 100ms ideig be-, 900ms ideig legyen kikapcsolva, és ettől kezdve a LED kezelő taszk feladata a villogtatás.
Hasonlóan lehet az egyszerű zümmeres dallamlejátszást megcsinálni, ott egy adattömböt (hangmagasság-időtartam) adunk át a taszknak lejátszásra, és amíg le nem jár a dallam, vagy új parancsot nem kap, játssza a dallamot.
stb.

A jelenlegi futó projekt egy adatgyűjtő készülék, amely folyamatosan lekérdezi az RS-485 buszra kötött slave egységeket (akár 200-at is), a kapott adatokat egy SD kártyára menti, amelyből a második soros portra kötött GPRS modemen keresztül internetről lekérdezhetővé kell tenni az adatokat. A probléma a modem használatakor kezdődött, ahol jónéhány modemparancsot kell kiadni, amelyekre a válaszidő a pár msec-től kezdve akár 10-20 sec-ig terjed. A hibaválaszokat szintén tudni kell kezelni, és a korrekt működéshez elég részletesen ki kell fejteni minden ágat. Állapotdiagrammal ez még le is írható (jó nagy ábra lesz...), de ennek implementálása OS nélkül nagyon nehéz, mert állandóan meg kell szakítani a működést és valahogyan megjegyezni, hogy hol tartunk. (Hiszen a kontrollernek sok más feladata is van). OS alatt ez egyszerű szekvenciális programot jelent, ha a modem válaszolt, akkor egszerűen jön a következő utasítás, stb.
A másik problémás eset pedig a memóriakártya, amelyben tudni kell keresni, és több hónapi begyűjtött adatmennyiség esetén több másodperc ideig is eltart a keresés (ez gyakorlati tapasztalat). Ezidő alatt a kontroller a többi feladatával mi lesz? (Persze megszakítás alapú feladatok ezalatt még működnek, de nem lehet sokmindent a megszakításokra rápakolni...)
OS alatt: a szabadidőben megy a keresés a flashben, a szükséges pillanatokban pedig az egyéb bejött eseményeket feldolgozzuk, aztán folytatódhat tovább a flash-művelet.

Mint ahogy kezdtem, a uC-OS-t már kipróbáltam Atmel ATmega128 kontrolleren (128k flash, 4k RAM, 16MIPS). Elsőnek nem használtam külső RAM-ot és éppen hogy elég volt a RAM igény. Az alkalmazás egy MIDI vezérlő berendezés volt, amely egy elektromos orgonabillentyűzetet és egy hangmodult kötött össze. A program 7 taszkot tartalmazott:
- főtaszk (statisztika kiírás VT102 terminálra)
- MIDI input 1. (sorosport) kezelő, feldolgozó
- MIDI input 2.
- 6x4 billentyűmátrix kezelő
- user i/o interfész (menükezelés: nyomógomb-LCD, sorosporti VT102 debugterminál a PC-hez)
- OS statisztika (rendszer)taszk
- idle (üresjárati) (rendszer)taszk
Mivel minden taszk saját stack-et igényel és az OS is lefoglal magának kb. 2kB ramot, nagyon gyorsan elfogyott a 4kB belső RAM. Ha spóroltam a stack mérettel, előfordult hogy virtuóz muzsikálás esetén túlcsordult a stack és szétfagyott a rendszer. Miután felpakoltam 64k külső ramot, bőven lehetett méretezni a puffereket és stack területeket...
A VT-102 debugterminál-ról tudok mutatni egy képet, az alsó sorban a stack-használatot lehet látni bájtban.
VT102 kép link itt

Összességében meg vagyok elégedve a uC-OS-sel, a baj mindössze az, hogy csak belső RAM használatával nem túl sok taszkot lehet létrehozni, a másik pedig, hogy nem ingyenes. Ezért gondolkodok a FreeRTOS használatán, ez ugyanis nagyon kicsi erőforrásigényű és teljesen ingyenes. Ezzel már a 4kB belső ramból kényelmesen lehet megoldani a feladatokat. Vagy szükség esetén át lehet váltani a lábkompatibilis ATmega1281 kontrollerre (8KB belső RAM), ami már megjelent a piacon.

Kissé hosszúra sikeredtem, remélem tudtam támpontot adni...
Klavi


csüt. feb. 08, 2007 23:41
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
Kód :?: LVP :?: Ha a watchdogot bekapcsolod, akkor annak a számlálóját törölni kell rendszeresen, mert ha nem törlöd, és túlcsordul, akkor indul újra a pic :!: Power On Timer-t próbáltad bekapcsolni :?:


csüt. feb. 08, 2007 23:10
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
Megin van gondom.
Már működik rendesen a PIC-em. Úgy használom, hogy induláskor beállítja a amiket be kell hogy állítson, és üres utasításokat hajt végre, és akkor változtatja a 3 kiválasztott kimenetet, ha az RB0-lábra megszakítás érkezik.
Olyankor biteket léptet. Aztán kiküldi az A kimenetre. Aztán ha elintézte a dolgát, akkor visszatér az üres utasítások végrehajtására.

A problémám az, hogy bekapcsoláskor kialszik az indikátor ledem, és semmi sem történik. (pedig villognbia kellene) Egymás után többször be-ki kapcsolom, aztán egyszercsak elindul. Akkor szokott leginkább, amikor a levétel pillanatában egyből vissza is kapcsolom.

Ha a watchdogot bekapcsolom, akkor ilyen határozatlan állapotban újraindíja, és jó is, de aztán ez a restart időközönként ismétlődik. Próbáltam, a MCLR-t használni ehhez az észheztérítéshez, de nem mindig akarja a frankót.

Az előző picem (16F872) nem volt ennyire érzékeny. Egyszerűen nem értem. Tekercseket vezérelek, komplementer tranzisztorpáron keresztül, az a fura hogy csak induláskor jön rá a hoppáré (tehát ha már elindult akkor már minden ok), és amikor csak ledek vannak rajta, akkor is így viselkedik.
Raktam be pedig puffer és hidegítőkondit. Mi a csudáért csinálja mégis ezt?


csüt. feb. 08, 2007 23:00
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Ha olvastad a topicot, akkor többször találkozhattál az arany kezdő szabályjal, mely szerint a legjobb könyv az adatlap, főleg ha jól tudsz angolul(nem úgy mint én, még is eltalálok az adatlapban). Nézz át a http://www.hobbielektronika.hu -ra ott találhatsz némi PIC-es cikkeket. Egyébként www.microchip.com - on minden infó megtalálható, természetesen nem magyarul.


csüt. feb. 08, 2007 20:44
Profil Privát üzenet küldése Honlap
platina tag

Csatlakozott: csüt. feb. 08, 2007 11:58
Hozzászólások: 605
Tartózkodási hely: csajárda ricse-köcsöge
Hozzászólás 
Sziasztok, olvasgattam ezt az évek óta élő forumot. Nagyon jók vagytok...:)
Én csak most kezdtem felfigyelni a PIC-ekre, eddig igyekeztemmeguszni nélkülük.
Tudtok adni net cimeket ahol ezekről információt kaphatok az alapoktol kezdve?
Első körben ISD17xx sorozatot kivánok valamelyikkel vezérelni...
Köszi


csüt. feb. 08, 2007 12:07
Profil Privát üzenet küldése
arany tag

Csatlakozott: kedd nov. 30, 2004 20:13
Hozzászólások: 269
Hozzászólás 
Köszi Potyo a gyors választ! :)


csüt. feb. 08, 2007 11:45
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
AZoli írta:
Bocs hogy közbevágok, MPLab tud olyat hogy megszámolja pl. két breakboint között hogy mennyi órajelciklus telt el?
Igen. A legegyszerűbb, hogy amikor ki van választva az MPLAB SIM Debuggerként, akkor ott van egy Stopwatch nevű dolog. Ha azt is akarod tudni, hogy ez időben mennyi, akkor állítsd be a debugger-->Settings-nél az oszcillátor frekvenciáját.


csüt. feb. 08, 2007 10:56
Profil Privát üzenet küldése Honlap
arany tag

Csatlakozott: kedd nov. 30, 2004 20:13
Hozzászólások: 269
Hozzászólás 
Sziasztok!

Bocs hogy közbevágok, MPLab tud olyat hogy megszámolja pl. két breakboint között hogy mennyi órajelciklus telt el?


csüt. feb. 08, 2007 10:53
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Mit jelent az hogy csak a test felé folyhat az áram?

Gondolom ha az előbbi diódás megoldást alkalmazva az RA4-re egyet viszek ki akkor a led nem fog világítani.

Igen, és ha megfordítod a LED-et, és a testre teszed a katódját, és a RA4-re az anódját, akkor soha nem fog világítani, és ez jelenti azt, hogy csak a test felé folyhat az áram az RA4 lábán keresztül, mivel ott van egy N-es FET, felül meg nincs. De most már tényleg nézd meg az adatlapot, mert le van rajzolva!!!!!


csüt. feb. 08, 2007 10:25
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
Potyo, kiegészítettem a korábbi hozzászólásomat, sasold meg!

Mit jelent az hogy csak a test felé folyhat az áram?

Gondolom ha az előbbi diódás megoldást alkalmazva az RA4-re egyet viszek ki akkor a led nem fog világítani.

Az a kérdésem, hogy ez az open kollektoros (vagy drain-es) kimenet mennyiben tér el a többi (mondjuk RB) lábaktól?
Talán hogy ott fordítva is folyhat az áram?


csüt. feb. 08, 2007 10:11
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
hogy lehet RA4-et kimenetté varázsolni?

A dolognak két összetevője van.

1. OPC Az RA4 opencollektoros kimenetű, azaz csak a test felé folyhat az áram. Ha a LED anódját pozitívra teszed 470ohmon keresztül és a katódját az RA4-re, akkor a LED világítani fog, ha az RA4-re 0-t viszel ki.

2. Az RA port analog bemenetű port is. Ha nem konfigolod be, hogy ne az legyen, akkor reset után reset állapotba kerül, ami az analog és a digitális felhasználás közötti semmis állapot. (adatlap 10-1 figure a 62. oldalon).
Nézd meg a CMCON regiszter bitjei mire valók!

szerk: potyo-nak igaza van, OPD a FET-ek miatt! :)


csüt. feb. 08, 2007 9:54
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
tubybb írta:
Az rendben van hogy RA4 nem működik, de a többi RA (0-3) miért nem villog és miért csak világít?
Komparátort letiltottad :?:

Idézet:
hogy lehet RA4-et kimenetté varázsolni?
Ugyanúgy, mint a többit, csak az RA4 láb Open Drain-es.


csüt. feb. 08, 2007 9:51
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
Az rendben van hogy RA4 nem működik, de a többi RA (0-3) miért nem villog és miért csak világít?

Watt, hogy lehet RA4-et kimenetté varázsolni?

szerk:Látom az adatlapon mindent információt megtalálok. Csak olyan hosszú volt, nem akartam végigolvasni. Így céltudatosan jobb olvasni.

Potyo! Azért válsztottam az OR műveletet a óra-regiszerhez, mert a rutinjaimat szeretném univerzálissá tenni, hiszen ha átviszem egy másik progiba, akkor ne kelljen átírkálni a biteket. Hisz ha az adott helyen már a regi tartalmazott egy értéket, akkor ne írja felül azt.


A hozzászólást 1 alkalommal szerkesztették, utoljára tubybb csüt. feb. 08, 2007 9:54-kor.



csüt. feb. 08, 2007 9:40
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Annyit segítek, hogy OPC és komparátor! :)


szer. feb. 07, 2007 19:46
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
Kód:
movlw   b'01100101'
IORWF   T1CON,1      ;TMR elindítása
Ezt így nem jó csinálni, mert a maradék bitek resetkor ugyan elvileg nullába állnak, de nem jó bízni bennük. Jobb lenne így:
Kód:
MOVLW   b'01100101'
MOVWF   T1CON



Kód:
movf   TMR1H,0
A vessző után a nulla helyett W-t írj, sokkal olvashatóbb a kód

Kód:
movlw   b'00011111'    ; az első 3 bit nulla, mert azokat nem használhatom
Nem muszáj az első három bitet nullára tenni, mert azok lábak nem digitális kimenetként működnek, így az nem jelent semmit, hogy mit írunk rájuk

Kód:
XORwf   PORTA,w        ; xor-ral váltogatom a nullákat és egyeseket
movwf   PORTA
Ez viszont felesleges így, mert XORWF PORTA, F rögtön kiírja a portra az eredményt.

Kód:
xorwf   PORTB,w
movwf   PORTB   ; B port dettó
Szintén

Kód:
movlw   0
andwf   TMR1H,1    ;felső bájt törlése
Itt viszont a CLRF utasítást kellene használni.

Azt, hogy miért nem működik a led az RA4 lábon, megtalálod az adatlapban az I/O PORTS részben.


szer. feb. 07, 2007 18:40
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
Írtam rá egy másik progit. Egy egyszerű villogtatás az összes lábat egyszerre.
Na most az a bajom ezzel a 16F627-tel, hogy az A jelzésű lábak _(0-tól 4-ig) nem akarnak villogni. (ezekre nincs semmi extra funkció bízva, úgyértem a OSC1-2 a A6-7-en a MCLR pedig az A5-ön van)

RA0-tól RA3-ig a led egyfolytában világít, RA4 nem megy. Pedig programban ugyanazt kapja mint a B-sor. Az érdekes módon rendesen megy.

Kipróbáltam egy másik piccel is az dettó ezt csinálta.
Mi van ezzel?

Tessék potyó!

#include P16F627.INC
aa equ 0x20

org 0
clrf INTCON

begin
bsf STATUS,RP0
movlw b'11100000'
andwf TRISA,1
clrf TRISB
bcf STATUS,RP0
movlw b'11111111'
movwf PORTA
movwf PORTB
movlw b'01100101'
IORWF T1CON,1 ;TMR elindítása

jee
movf TMR1H,0
movwf aa
btfsc aa,7 ;TMR felső bájtjának legnagyobb bitje ha egy akkor call rutin
call rutin
nop
nop
goto jee

rutin
movlw b'00011111' ; az első 3 bit nulla, mert azokat nem használhatom
XORwf PORTA,w ; xor-ral váltogatom a nullákat és egyeseket
movwf PORTA
movlw b'11111111'
xorwf PORTB,w
movwf PORTB ; B port dettó
movlw 0
andwf TMR1H,1 ;felső bájt törlése
return

end


szer. feb. 07, 2007 18:17
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
tubybb írta:
t az aa-cimkét esetében 16-os számrendszerbeli számnak értelmezte, és....
Neméppen. Az "A" regisztert a 20h címre tette az MPLAB, és a W tartalmát az A regiszter címével (20h-val) XORoltad, és annak az eredménye lett a b'00111111'.


szer. feb. 07, 2007 18:13
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
Jujjj!
Tényleg!

Nem mindegy hogy XORLW vagy XORWF
Itt az aa-cimkét esetében 16-os számrendszerbeli számnak értelmezte, és....


szer. feb. 07, 2007 17:53
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
tubybb írta:
Hülye ez az MPLAB.

Hát már ne is haragudjanak, de:

W=b'00011111' és egy tetszőleges regiszter: A=b'00011111'

akkor hogy a ménydörgős mégykűbe lehet a
XORLW A
utasítás után a W-ben
b'00111111' ??????

Mi a rák van itt?
7.2-est használok mert ez fekszik nekem a legjobban.
De miért csinálja ezt???
Mi a gond vele :?: Jó az eredmény.


szer. feb. 07, 2007 17:50
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
Hülye ez az MPLAB.

Hát már ne is haragudjanak, de:

W=b'00011111' és egy tetszőleges regiszter: A=b'00011111'

akkor hogy a ménydörgős mégykűbe lehet a
XORLW A
utasítás után a W-ben
b'00111111' ??????

Mi a rák van itt?
7.2-est használok mert ez fekszik nekem a legjobban.
De miért csinálja ezt???


szer. feb. 07, 2007 17:44
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
Még az is lehet, hogy engedélyezve van az alacsony feszültségű programozás. A PGM lábat húzd le a GND-re egy néhány kilós ellenállásal.


szer. feb. 07, 2007 13:27
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
De ha az égetéskor azt választottam hogy 'HS' akkor nem I/O ként konfiguráltam, ugye?

Igen, HS (FOSC2:FOSC0 : 010) esetén az OSC1 bemenet lesz.

Ha csak a program működését akarod megnézni, állítsd INTOSC-ra (FOSC2:FOSC0 : 100), azzal tutira mennie kéne.

Idézet:
akkor nyílván nem ez volt a baj. De akkor vajon mi?

Kevés az input! Kicsit többet kéne erről tudnunk!


szer. feb. 07, 2007 13:23
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
Tedd be ide a programodat, ha nem hosszú.


szer. feb. 07, 2007 12:56
Profil Privát üzenet küldése Honlap
platina tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 754
Hozzászólás 
mit kéne csinálni a PICnek?


szer. feb. 07, 2007 11:42
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
De ha az égetéskor azt választottam hogy 'HS' akkor nem I/O ként konfiguráltam, ugye?
Én is úgy csináltam hogy az MCRL-t a +5-re kötöttem, akkor nyílván nem ez volt a baj. De akkor vajon mi?


szer. feb. 07, 2007 11:38
Profil Privát üzenet küldése
platina tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 754
Hozzászólás 
Az MCLR -t tápra kell kötni, ha MCLR-ként használod. (azaz nem RA5-ként) Ha nincs odakötve, akkor tutti, hogy nem fog elindulni. Az órajelbemetekkel pedig vigyázni kell, mert ha I/O -nak van konfigolva, akkor nem fog örülni a PIC, hogy órajel megy neki oda. Szóval ezzel tönkre lehet tenni.


szer. feb. 07, 2007 11:18
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: vas. feb. 05, 2006 19:53
Hozzászólások: 1170
Tartózkodási hely: Győr
Hozzászólás 
Nem akar működni a PIC-em !'-( .

Csúnya dolgot csinált. Beleégetem a gondosan megírt programot, verify minden rendben.
Adok neki VSS-t VDD-t, megkapja a 12Mhz-es kvarcot, meg a két 15pF-os kondenzátorát, és nem hajlandó egy tapottat sem mozdulni.

(16F627) Aztán felmérgeltam magam, és beállítottam hogy külső forrából akarom táplálni az órajelet, és az OSC1-re rákapcsoltam az 555-ös négyszögjelét. Nos így sem volt hajlandó semmire.

Már nem emlékszem az MCRL-t mire kell kötni?
Vajon miért nem hajlandó működni ez a rosszcsont?


szer. feb. 07, 2007 11:04
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás Re: picc usb
kszabi írta:
1. Egy kisseb picc-es áramkör kaphatja-e a tápot usb kábelről?
2. Lehet-e HEX filet letölteni a picc usb portján át ,valamilyen boot progi
beégetése után fleses tipusokba?

1. Kaphatja. Nem csak kisebb, nagyobb is, amennyiben a fogyasztása nem haladja meg alaphelyzetben a szabvány szerinti 100mA-t. 500mA a maximum, de ezt kérnie kell az eszköznek a usb kontrollertől. Viszont nem szoktak a 100mA-os áramkorláttal szórakozni a kontrollert gyártók, így általában alapból megy az 500mA.

2. Lehet, pl.:http://pic18fusb.online.fr/wiki/wikka.php?wakka=WikiHome

3. A pic az egy c-vel írandó.


kedd feb. 06, 2007 18:18
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: kedd feb. 06, 2007 16:07
Hozzászólások: 4
Hozzászólás picc usb
Üdv mindenkinek!
Lenne két kérdésem.Ha valaki csinált már ilyet légyszi irjon.
Egy kisseb picc-es áramkör kaphatja-e a tápot usb kábelről?
Lehet-e HEX filet letölteni a picc usb portján át ,valamilyen boot progi
beégetése után fleses tipusokba?
Elöre is köszi a segitséget.


kedd feb. 06, 2007 17:49
Profil Privát üzenet küldése
arany tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 382
Hozzászólás 
siraly12 írta:
Használ valaki közületek mikrobasic-et. A progi lefordítja a beírt basic-et, de a picen nem indul el. Nem értem miért, ugyanazokat a beállításokat használom mint az oshonos basic fordítóban.

Szia!

A config beállítások milyenek? Ha az Edit project menüben a defaultra nyomsz, akkor külső oszcival működő alapkonfigot kapsz. (legalábbis mikropascal alatt így van, az igen halovány emlékeim szerint...)

Üdv!


hétf. feb. 05, 2007 14:53
Profil Privát üzenet küldése Honlap
arany tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 363
Hozzászólás 
Használ valaki közületek mikrobasic-et.

http://www.mikroe.com/en/compilers/mikrobasic/pic/index.htm

Egyszerűen nem tudom működésre bírni. Régebben már próbálkoztam vele, de feladtam, most szükségem lenne rá, vagyos a tudására.
A ledvillogtatás sem működok nekem. :cry:

A progi lefordítja a beírt basic-et, de a picen nem indul el. Nem értem miért, ugyanazokat a beállításokat használom mint az oshonos basic fordítóban.

Valaki tudna egy működőképes konfigot mondani nekem?
Előre is köszönöm.


hétf. feb. 05, 2007 13:46
Profil Privát üzenet küldése
platina tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 754
Hozzászólás 
Nem kell figyelni. Rosszul emlékeztem. Ahogy Zoli írta, az MPLAB automatikusan tudja, hogy melyik címzést kell használni.
Én általában a gyakran használt változókat az access ramba teszem és el is szoktak ott férni, a többit pedig szinte mindig indirekt címzéssel érem el, szóval nem sűrűn használom az előző módszert, ezért nem emlékeztem már.
Egyébként ha egymás utáni változókat szekvenciálisan akaruk elérni, akkor a POSTINC, POSTDEC, PREINC -en keresztül a legkényelmesebb. Mindig ezt használom.


hétf. feb. 05, 2007 8:52
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
ha a BSR -ben mindig 1 van, akkor végülis bankolgatás nélkül max 384 byte érhető el bankolás nélkül direktben.

Igen, én is így szoktam használni...

Idézet:
0x100-0x1ff -ig bankos címzést kell használni az utasításoknál. Erre viszont oda kell figyelni!

Ezt nem igazán értem, ha Bank1-ben vagyunk mindig, akkor mire kellene még figyelni?


hétf. feb. 05, 2007 5:44
Profil Privát üzenet küldése Honlap
arany tag

Csatlakozott: kedd nov. 30, 2004 20:13
Hozzászólások: 269
Hozzászólás 
NickE írta:
ha a BSR -ben mindig 1 van, akkor végülis bankolgatás nélkül max 384 byte érhető el bankolás nélkül direktben. Annyi, hogy 0-127 -ig lévő címen access access ramként, 0x100-0x1ff -ig bankos címzést kell használni az utasításoknál. Erre viszont oda kell figyelni!


Megvan a megoldás.
Nem figyeltem, és mégis megy. Az MPlab úgy fordítja, hogy kezeli az "a" RAM access bitet.


vas. feb. 04, 2007 20:50
Profil Privát üzenet küldése
arany tag

Csatlakozott: kedd nov. 30, 2004 20:13
Hozzászólások: 269
Hozzászólás 
potyo írta:
Ha BSR-be 1-et töltesz, akkor pl. egy MOVF név1,W utasítás valójában a név96 regiszter tartalmát fogja W-be tölteni. Az olyan utasítások, amik operandusként egy regisztert használnak, nem tudják majd mind a 330 memóriahelyet elérni.

Akkor fog helyesen működni, ha a MOVFF utasítást használod a memória elérésére. Tehát ha be akarod név1 tartalmát tölteni a W-be, akkor a MOVFF név1,WREG utasítást kell használnod. De a MOVFF-hez felesleges a BSR-t bárhová is állítani. Viszont a MOVFF kétszavas utasítás, ami egyrészt két végrehajtási ciklust jelent, másrészt az Errata-t megtekinve számos veszélyt is hordoz magában.


Köszi a gyors választ.
Kód:
PROBA            equ   0x0010      ;
CON_FIG            equ   0x0170      ;

De így miért működik? Valamit tud az MPLAB... vagy én nem?


vas. feb. 04, 2007 20:46
Profil Privát üzenet küldése
platina tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 754
Hozzászólás 
ha a BSR -ben mindig 1 van, akkor végülis bankolgatás nélkül max 384 byte érhető el bankolás nélkül direktben. Annyi, hogy 0-127 -ig lévő címen access access ramként, 0x100-0x1ff -ig bankos címzést kell használni az utasításoknál. Erre viszont oda kell figyelni!


vas. feb. 04, 2007 20:29
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
Ha BSR-be 1-et töltesz, akkor pl. egy MOVF név1,W utasítás valójában a név96 regiszter tartalmát fogja W-be tölteni. Az olyan utasítások, amik operandusként egy regisztert használnak, nem tudják majd mind a 330 memóriahelyet elérni.

Akkor fog helyesen működni, ha a MOVFF utasítást használod a memória elérésére. Tehát ha be akarod név1 tartalmát tölteni a W-be, akkor a MOVFF név1,WREG utasítást kell használnod. De a MOVFF-hez felesleges a BSR-t bárhová is állítani. Viszont a MOVFF kétszavas utasítás, ami egyrészt két végrehajtási ciklust jelent, másrészt az Errata-t megtekinve számos veszélyt is hordoz magában.


vas. feb. 04, 2007 20:00
Profil Privát üzenet küldése Honlap
arany tag

Csatlakozott: kedd nov. 30, 2004 20:13
Hozzászólások: 269
Hozzászólás 
Sziasztok!

18Fxxxx sotozatnál asm -ben szükségem volna kb.: 330 bájt direkt címezhető (tehát elnevezett) RAM területre. A programból nem szeretném BSR-t kezelni, mert bonyolult. :)
Működhet a dolog úgy, hogy inic -ben BSR-be 1 -et töltök, és:

Kód:
   CBLOCK      000h         ;
      név1            ;
      név2            ;
      .
      .   
      .
      név9            ;
      név10            ;
      .
      .
      .
      név95            ;Eddig ok. Ez kerül a 05Fh címre
   ENDC               ;

   CBLOCK      100h         ;
      név96            ;
      név97            ;
      .
      .
      .      
      név330            ;
   ENDC               ;


...és a programban minden regiszterre csak "névx" -ként hivatkozom?


vas. feb. 04, 2007 18:13
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Igen. Szerintem az. Nem látom semmi előnyét. Nem szabad az assembelrre ráerőltetni a magasabb szintű nyelvek formuláit, főleg, hogy nem is lehet. Nekem pont fordított a bajom most, hogy C-vel küzdök assemler után....


szer. jan. 31, 2007 10:33
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: szer. dec. 27, 2006 8:33
Hozzászólások: 6
Hozzászólás 
watt írta:
Idézet:
Akkor fogadd meg a korábbi tanácsot, és gyorsan felejtsd el ezt a kifacsart dolgot. :wink:


Mármint az én verzióm a kifacsart ?

Jozs


kedd jan. 30, 2007 22:09
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. nov. 01, 2006 14:00
Hozzászólások: 3559
Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
Hozzászólás 
Idézet:
Még biztos jövök kérdésekkel, mert csak most vetettem bele magam a PICvilágba

Akkor fogadd meg a korábbi tanácsot, és gyorsan felejtsd el ezt a kifacsart dolgot. :wink:


kedd jan. 30, 2007 16:10
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: szer. dec. 27, 2006 8:33
Hozzászólások: 6
Hozzászólás 
Értem. Köszi.
Még biztos jövök kérdésekkel, mert csak most vetettem bele magam a PICvilágba :-)

Jozs


kedd jan. 30, 2007 14:49
Profil Privát üzenet küldése
Hozzászólások megjelenítése:  Rendezés  
Hozzászólás a témához   [ 6770 hozzászólás ]  Oldal Előző  1 ... 43, 44, 45, 46, 47, 48, 49 ... 136  Következő

Ki van itt

Jelenlévő fórumozók: Google [Bot] valamint 41 vendég


Nem nyithatsz témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.

Keresés:
Ugrás:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Magyar fordítás © Magyar phpBB Közösség