Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Igazából azért akartam kihagyni ezt a programozott verziót, mert minden túlcsordulásnál lesz egy kis saját késleltetése is, amíg végrehajtja a megszakításban leírt programot, és ahányszor túlcsordul, annyiszor több lesz a késleltetés is. Most ez 4MHz-nél nem túl sok mondjuk, de mindenképp ad egy mérési hibát az egészbe. A megszakításokkal még nem birkóztam meg, látszólag csak félig működik, amit írtam . Hasonlót írtam, mint amit említettél, timer1 túlcsordulásnál egy led világítson egy kis ideig, majd kapcsoljon ki, és ez idő alatt szüneteljen timer1 számlálás. A fő program pedig, hogy lcd-n kiírja a timer1 tartalmát decimálisan. Valamiért viszont mindig más értéknél áll meg a kijelző. Eredetileg pedig azt vártam, hogy 65535-nél, vagy 0-nál áll meg. Mondjuk biztosan programhiba, de ez a második ok, hogy nem megszakítással akartam megoldani.
Szia!
Mérd meg a következőket: - A 74LS244 megkapja-e a földet a 10. lábán, - A 74LS244 megkapja-e a +5V-os tápot a 20. lábán, - A párhuzamos port földje össze van kötve a táp és a 74LS244 földjével, - A 74LS244 kivezetéseit nem cserélted fel véletlenül: Data: 1,2,18 - a Clock a 17,19,3 lábakon levő meghajtó. A mérések eredményét írd meg...
Szia!
Tedd fel a forrást, megnézzük...
Szia!
Amiket írtál sajnos mind megvannak . De kipróbáltam, hogy az égetőről leválasztottam az ACK-ot (de persze a föld az továbbra is össze volt kötve a táp földjével) és egy vezetékkel hozzá érintettem a +5 V-hoz de a programban az olvasott adatnál még mindig 0 jelent meg pedig 1 re kellett volna váltania. Nem tudom mi lehet a baja...
Hihetetlen mi történt!
ACK nélkül betöltötte a programot a PIC-be . Nem tudom mi a fene lehet az ACK-omal, így a program nem tudja felismerni a PIC-et, és a programot sem tudja vissza olvasni... Lehet, hogy a párhuzamos portomban van esetleg valami hiba?
Üdv,
Találkozott már valaki olyan hibával, hogy az első pár memóriacím törlődik a PIC-ből. HID bootloadert használok. A jelenség az, hogy véletlenszerűen a táp ráadásakor (30-50-szer) az első pár sor törlődik. Ha a PIC elindul, akkor fut napokig. Ha lekapcsolom és újra be, akkor van olyan, hogy meg sem nyikkan. Ilyenkor tudom, hogy újra kell a bootloadert égetnem. Érthetetlen számomra. Eddig a PIC-ek megbízhatóan működtek.
Hát elég furán viselkedik az az ACK láb, az biztos. Mert inkább felhúzók szoktak lenni a portlábakon (ha vannak), nálad meg láthatóan lefelé húzza valami. Biztos, hogy az ACK-ra van bekötve?
Mi a helyzet a Brown-Out-Reset beállítással? Próbáld meg a Boot Block védelmét beállítani, hátha akkor nem sérül meg...
Ez melyik PIC es melyik bootloader? (Nem talalkoztam meg vele, de ha nincs info meg googlizni sem tudok ra...)
Betölteni be lehet ACK nélkül is a 16F-eket.
Az ACK az LPT port 10-es lábára van kötve? Ha igen, akkor nem jó a portod. Próbáltad másik PC-n is?
Csak emlékkép alapján, de mintha icserny utalt volna ilyesmire, keress rá!
Steve
Szia!
10-esre van bekötve, még nem próbáltam másik PC-n, de úgy tűnik kénytelen leszek...
Azóta már módosítottam, éjjel 2-ig szórakoztam a szimulátorral, Attila86 útmutatásai alapján.
Helyette lett egy másik probléma. Ezt ugyan csak szimulátorral teszteltem, de valamiért mikor timer1 túlcsordul, és belép a megszakításba, 2 sort mindig kihagy. Ezért betettem oda 2 nop-ot. org 004h nop nop bcf PIR1,0 bcf T1CON,0 incf szamlall movlw b'11111111' movwf TMR1H movlw b'11110000' movwf TMR1L bsf T1CON,0 RETFIE Ez a sorkihagyás mitől lehet? Szimulátor hiba?
Akkor ez felhasználóhiba, adatlap el nem olvasása forog fenn. 18F-nél ugyanis a magas prioritású megszakítási vektor a 8h címen van. A két nop épp a 8h címre tolja el az első bcf utasítást.
Na igen, eddig még nem használtam semmiféle megszakítást, de már megtaláltam az adatlapon is
Idézet: „The return address is pushed onto the stack and the PC is loaded with the interrupt vector address (0008h or 0018h).”
A mellékelt gif-ben benne van, hogy 18F4550. HID bootloaderrel.
Megpróbálom a konfig részt átbogarászni. Idézet: Igen, találkoztam vel. Azután sürgősen átírtam a gyári bootloader CONFIG bitjeit (bekapcsoltam a Brown Out Reset-et), s azóta nem tapasztaltam ilyen problémát.„Találkozott már valaki olyan hibával, hogy az első pár memóriacím törlődik a PIC-ből. HID bootloadert használok.” A módosított bootloader PICCOLO projekt - PIC18 támogatói programkönyvtárból letölthető code_examples.zip állományban megtalálható. Idézet: Miért lenne késleltetés? A számlálás hardveresen történik, azt nem késlelteti az interrupt kiszolgálása. „Igazából azért akartam kihagyni ezt a programozott verziót, mert minden túlcsordulásnál lesz egy kis saját késleltetése is, amíg végrehajtja a megszakításban leírt programot, és ahányszor túlcsordul, annyiszor több lesz a késleltetés is.”
Igen, valóban. Éjjel ezt máshogy láttam kissé.
Periodikus programmegszakításokhoz a kerek értékeket a Timer2-vel könnyebb kisakkozni.
Idézet: „Ezt úgy szokták csinálni, hogy felajánlasz egy összeget érte” Tudom..tudom..tudom, súlyos anyagias világban élünk, szinte mindenhol csak a pénz, és a haszon szavakra figyelnek fel. Én csak hobbiból, magamnak, és nem tömegtermelés céljából tervezem megépíteni eme ketyerét. Ugyvélem egy pic, programozásban jártas segítőkész emberkének nem telne súlyos órákba megrajzolni egy használható kapcsolást... nem offolok többet.
Engem is bántottak már ilyennel. Aki ide jár, tudja, hogy közel 30 publikált cikkem van és tényleg rendszeresen és önzetlenül segítek. Aztán a honlapomra felkerült egy kapcsolás amibe nagyon-nagyon sok fejlesztési órát öltem bele és alkatrészeket rendeltem (többször, több helyről), hogy a végeredmény egy precíz és üzembiztos berendezés legyen. Rengeteget olvastam és tanultam hozzá (az értékes szabadidőmben- a családom kárárára), hogy előre jussak. Mikor elkészült a prototípus, kiderült, hogy az addig forgalomban lévő alkatrész hiánycikk. Ekkor újra kezdtem az egészet, hogy ki tudjam váltani. Komolyan mondom, hogy már nem merem összeszámolni, hogy mennyi időt és pénzt(!) öltem bele. Úgy döntöttem, hogy csak jelképes összegért fogom kiadni a munkámat (ennél a projektnél). A fejlesztményért (programért), 900.- kértem. Erre azt kaptam priviben, hogy etikátlan az eljárásom. Hááát, köszi, de kösz nem.
Természetesen fogok segíteni és publikálni ezután is, de kétszer is meggondolom... Remélem, most már egy kicsit világossá vált, hogy egy új berendezés fejlesztése nem csak rajzból és programsorok gépeléséből áll. Aki nem hiszi, írjon egy cikket egy általa fejlesztett berendezésről.
Nem azzal van a gond, hogy senki sem segit ingyen -- hisz epp ezert vagyunk itt, sajat szabadidonkbol ingyen adunk tanacsokat... A gond azzal van, hogy a segitseg nem abbol all, hogy valaki helyett megcsinalunk valamit, hanem abbol, hogy valaki csinal valamit, es elakad, es tanacsot ker ezt vagy azt hogy kellene megcsinalni. Ha nem ertesz hozza, akkor meg lehet tanulni. Ha nem szeretned megtanuni, akkor nagyjabol harom lehetoseg van:
1. Keresel egy un. projectet az interneten ahol meg van tervezve minden, es neked csak le kell gyartanod a panelt, beultetned az alkatreszeket es beuzemelned 2. Megveszel egy kesz keszuleket 3. Feladsz egy hirdetest, hogy szeretnel terveztetni ezt vagy azt es bizony akkor fizetsz erte... Nyilvan vannak mas lehetosegek is, mint pl tanar vagy es a diakjaiddal tervezteted meg, vagy fonok vagy es kiadod a munkat, vagy egy nagyon sikeres media ceget birtokolsz es meghirdetsz egy tervezoi palyazatot stb stb stb, de realisan a fent 3 lehetoseged van, , es ebbol csak az elso van ingyen (es meg az sem, mert az alkatreszeket ekkor is meg kell venni)
Az egyaltalan nem etikatlan, ha a munkadert penzt kersz. Az etikatlan pl az amit Szilva klonjaval muvelt nehany ember, hogy mint sajatjukat kitben es osszeszerelve arusitottak, es meg csak meg sem emlitettek, hogy ez nem az o tervezesuk. Valoszinuleg az Open Hardware licensz ha kesz lesz azzal kell majd ellatni, hogy ilyenkor az illetot jol be lehessen perelni, de ez mar kisse tul messze lo az eredeti tematol...
Nagyon off, de nem tudom magamban tartani, bocsi! Tudod, itt önzetlenül segítenek, nekünk kezdőknek. Óriási mennyiségű tudás gyűlt össze. Ingyen! Nézd meg mennyi egy tanfolyam, suli. Ezek után, ha nem adnak valamit készen,talán nem kellene felháborodni! Így is az idejükből adnak másoknak, amit nem lehet pótolni. Egy kész "bármibe" rengeteg energiát kell fektetni. Ezt valahogy vissza kell kapni, mert elfogy. Apró dolognál lehet egy köszönöm, egy krémes, vagy valami. De nem apró dolognál a legegyszerűbb némi jelképes összeg. És szerintem természetes is. Akkor is ezt mondom, ha nekem sem tetszik a túlzott anyagiasság. Ez nem az!
Üdv!
Kipróbáltam másik PC-n, így az égetővel kapcsolatban minden jó: az rb7-en most 4,2 V van az rb6-on 3,6 V és most az adat visszajelzése rész is reagál(ha úgy pipálom akkor 1-et ír ki). A program csak akkor írja ki, hogy hardver csatlakoztatva, ha a BUSY és a PE gnd-re van kötve, de gondolom ez a program csak így tudja érzékelni az égető csatlakozását. A gondom most az, hogy a PIC-kel nem csinál semmit(nem észleli és nem is égeti be), de szerintem azért, mert az én gépemen a rossz párhuzamos port miatt meghalhatott... Holnap veszek egy másik PIC-et aztán fény derül az igazságra Üdv.: mate_x
Én csak azért kezdtem el a PIC-cel foglalkozni, mert egy olyan dolgot akartam megalkotni aminek kicsi a fogyaztása és kis helyen elfér. Teljesen az elejétöl kezdtam. Tök hülye voltam a programozáshoz és magához az elektronikához se értettem mesteri szinten. Mindent meglehet valositani saját eröböl. Fökép igy hogy itt vannak nagyon sokan akik szivesen segitenek. Persze igy nem készül el 1 hét alatt. De nem hiszem hogy a profiknak is 10 perc az egész. Fökép akkor ha utána meg rájön az ember, hogy valami kimaradt belöle " jó lenne ha ezt is tudná" stb stb. Ingyé én se örülnék ha folyton zaklatnának, hogy most ezt ird még bele utána meg ezt.
Az a baj hogy ugy nem akarjon az ember valamit hogy tegnapra kellene! Kicsit tanulgat, kicsit belel bele irnak segitség képpen itt aztán elkészül. Vagy ahogy trudnai irtam megveszed vagy megrendeled jó pénzé. |
Bejelentkezés
Hirdetés |