Fórum témák
» Több friss téma |
Mostmár értem, köszi az útbaigazítást!
Idézet: whöhöhö... „Az igazi programozó nem fél a GOTO-tól”
Én sem félek tőle, csak nem használom asm-en kívül. Van helyette continue, break, stb.
Most írok egy bazi nagy progit C-ben, egy Goto nincs benne. Biztosan félek tőle!
...meg Duff's device is...
Azert majd pillants ra a forditasra assemblyben.
A PIC a forditott asm-et futtatja, nem a C-s gyongyszemet.
Ez nem erről szól! Ez programozástechnika, illetve szervezés. Assemblerben én is GOTO-zok természetesen...
En 18F-ben nem GOTO-zok (hanem BRA-zok) Bocsi, nem birtam kihagyni
És ha akkorákat kell ugrálni? Az szép, mikor a memó egyik végéből a másikba ugrál a program, mondjuk egy szubrutinba egy sor utasítás kedvéért, ami az USART adás engedélyét vizsgálaja! A Microchippes mágusok szoktak ilyet művelni!
No ezzel a problémával én is megküzdtem, elég rendesen. Írták hogy használjam a BRA-t mert azzal memóriát spórolok. Aztán elkezdett kiabálni a fordító mindenfélét, nagy nehezen rájöttem hogy a BRA az oka...
Azóta csak GOTO-t használok.
Pedig így megközelíteni a problémát elég memóriapazarló. Használj BRA-t és ha kiabál a fordító, cseréld le!
Amíg nem leszek helyszűkében, addig nem fogom. :hide:
Erdekes lehetne egy makrot irni ami automatikusan general vagy GOTO vagy BRA utasitast attol fuggoen milyen messze van a masik cim ill hogy a masik cim ugyanabban a linker segmensben van-e. Persze meg sohasem probaltam, lehet nem is kivitelezheto mivel forditasi idoben meg a vegleges cim nem ismert?
Pedig a feltételes branch utasítások nagyon hatékonyak...
Gyerekek!
Hagy ne oolvassam már el mind a 118 oldalt választ keresve, de volna egy apró gondom: Volt egy működő kódom, amit ICProggal beleküldtem egy 16F648A-ba. Változtattam a kódon 2 sort, aztán MPLAB 8.73a-val lefordítottam és ICproggal szintén zenész... (Saját építésű, működő égetőm van innen: http://haromb.fw.hu/muhely/picpgm/picpgm.html) Úgy megcsesződött az egész, hogy se jobbra, se balra. Előtte nem töröltem, csak ráírtam az új programot... Kellett volna törölni? (Minek? Egy új programnak van kezdete és end-je, az elejét rűírja, ha utána marad valami beégetve az meg szemét, nem??) egyszer beégettem a működő progit, aztán semmit nem tud bevenni mostmár. Próbáltam javítani, hogy törlök, de semmi, aztán beírtam kézzel hogy 3FFF nagyon sokszor és beégettem (volna), de semmi. Tudja valaki, hogy mi van?? Izgalmas ez a PIC világ, de szerintem, ahol program fut az már eleve duplán szar... Rá kell bízni mindent a jó öreg elektronikára... Azért érdekelnének a megoldások... Örülnék, ha nem az lenne a végeredmény, hogy van egy döglött 16F648A-som... Üdv. Leo
Ha olvastál volna nem egy JDM-el kezdtél volna... Megaztán trágárság nélkül nem tudsz fogalmazni? Ez is minősít...
Idézet: Aki lusta elolvasni figyelmesen az adatlapot, vagy direkt nem tartja be azok előírásait, annak szerintem mindegy, hogy a szoftverrel vagy a hardverrel kínlódik.„Rá kell bízni mindent a jó öreg elektronikára...” A biztosíték-kiégetős PROM-ok és az UV EPROM-ok óta közismert, hogy "írni" csak egy irányba lehet (többnyire 0-t lehet írni). Törölni azért kell, hogy a nem nullának szánt bitek 1-be álljanak be. Törölni és írni úgy, és akkora egységekben (lapok) kell, ahogy azt az PIC16F627A/628A/648A EEPROM Memory Programming Specification előírja (tehát nem muszáj a teljes memóriát végigtörölni, ha csak egy rövid programot akarsz lecserélni. Idézet: „Izgalmas ez a PIC világ, de szerintem, ahol program fut az már eleve duplán szar... Rá kell bízni mindent a jó öreg elektronikára...” Rendben, azert kivancsi lennek akkor most miert fordultal megiscsak a PIC-ekhez Azonkivul arra is, hogy egy pont-matrix kijelzos multifunkcios forraszto allomas mennyi idobe telne kifejlesztened es az eredmeny mekkora panelen lenne ha egyaltalan semmilyen programozhato alkatreszt nem tehetnel bele Meg egy utolso mejegyzes ezzel kapcsolatban: Attol, hogy nem konyitok a raketa gyartas technologiai folyamataihoz meg nem mondom, hogy az Space Shuttle urhajok duplan vagy triplan vacakok...
Köszi a válaszod szakmai részét, ezen elindulok.
Nem akarnám gyorsítani azt a folyamatot, melynek végén a világ minden fóruma személyeskedésbe megy át, ezért a többieknek csak ennyi: Ezeket a "Ha ezt csináltad volna, akkor ez történt volna" típusú mondatokat már az angol nyelvtanfolyamon is rendkívül nagyrabecsültem... De nem csináltam azt, mert ismeret és annak hollétének hiánya miatt nem tudtam, hogy azt kell tennem. Gondolom azért vagyok itt, praktikusan a PIC kezdő fórumban... watt nyilván amikor az első mobilját megvette, türelmesen leült, szorgalmas vásárlóként végiglvasta az apróbetűs részeket, és addig véletlenül sem nyomkodta ismeretlenül a gombokat... Már úgy született, hogy mindenhez értett... Továbbra is fenntartom, hogy amiben program fut, az akkor is... hendikep. Nem értem minek egy autóba szoftver, az okostelefont meg pláne. Jól nézünk ki: egy kis dugó fog okoskodni a zsebemben És itt kilyukadhatunk az okhoz: pedig fog okoskodni. Ezt kapod, ezt kell szeretni. Igen, azért próbálkozom a PIC-kel, amiért az Everestet is olyan sokan megmásszák - mert ott van. A JDM létezik a neten, mint szakirodalom, mint alternatíva, akkor miért ne próbálnám ki?? Különösen kezdésnek. Akkor, ha még azt sem tudom mennyire tetszik meg a PIC világ és elsőre kell valami, ami ad egy kis hitet. És elsőre egyből működött is! Nyilván be kell járnom az utat és kell egy jobb majd... Ha meg már az űrtechnikát említjük: a holdraszállásnál sem voltak kéznél olyan hajde nagy számítógépek... Mégegyszer köszi a válaszokat és jó munkát, mindenkinek, aki fejleszt!
Rendben, csak ez egy szakmai forum. 'Menjunk vissza a barlangba' jellegu vitakat nem itt kellene kozze tenni. Tehat ha van kerdesed PIC-kel kapcsolatban akkor tedd fel, ha nincs akkor inkabb ne irj, koszonom!
Igen. Talán lapozzunk!
Tehát: tisztelettel kérdezném és továbbra sem értem, hogy a saját kezűleg épített JDM-em, amely direkt úgy lett kiválasztva, hogy gyengébb soros portok esetén is működhessék és elsőre működött is és beégette a programot a nem éppen mai kiadású AMD Sempron 2600-os gépem soros portjáról, miért nem tudja másodszorra beégetni ugyanazt a progit, amiben 2 sort átírtam és hibátlanul újrafordítottam? Nehogymár mostmeg a hardverben keressük a hibát hirtelen... Az IcProg 1.06-ban az Enable PAGE-WRITING be van és volt is pipálva. icsernyi utalására, melyszerint "Törölni és írni úgy, és akkora egységekben (lapok) kell, ahogy... " nem tudok mit mondani, ettől még nem lettem okosabb. Magyarán: akkor most mit állítsak még az IcProgban? (Nehéz a felfogásom, vagy én magam is nehéz ember vagyok, még nem tudom. Valószínűleg mindkettő. De azért próbálkozom.) Eme utóbbi zárójelben és csak halkan írt, okra tekintettel tisztelettel kérném a fölényeskedőket, hogy a "ha ezt csináltad volna, meg ha azt nem csináltad volna" helyett inkább előre mutató javaslatokkal, tapasztalatokkal szíveskedjenek segíteni nekem, meg annak, aki hasonló problémával küzd és olvassa. Köszönettel és üdvözlettel: Leo
Üdv!
Lehet olyat csinálni, hogy egy 16f877-es pic megy 20MHz-ről és ezt a frekvenciát átadni 2 db 16F57-es picnek amik szintén erről mennének? Ha nem milyen megoldással lehet egy órajelről járatni a 3 picet?
Probald meg a "Winpic800" programot. Az ICprog nem kezel mindent jol. Esetleg le kellene lassitani az irast.
Idézet: „inkább előre mutató javaslatokkal, tapasztalatokkal szíveskedjenek segíteni nekem” Te kezdted a beszolast egy PIC-es temaban az oreg elektronika emlegetesevel. En csoves elektronikaval kezdtem, es vegig vittem minden lepcsot a szamarletran. Bizony nem sirom vissza a 10 ESZR panelt tartalmazo adagolo merleg tervezeset, elkesziteset. Ma ezt azert egy uC es par kulso IC megoldja.
Bevallom nehezen latom at a csik panel terven, hogy mi hova van kotve, de mintha pl nem lenne 100 nF keramia kondi a Vdd es Vss kozott nagyon kozel a PIC-hez?
Azonkivul elofordulhat, hogy a bulk erase (teljes torles) funkciohoz picivel tobb Vdd es/vagy Vpp kell mint amid van, igy az iras sikerult, de torolni mar nem tudod -- ez nem mindegyik PIC eseteben van igy, de azert erdemes a Vdd es Vpp feszultseg szintjet ellenorizni. Amugy nem veletlen, hogy senki sem szereti a JDM-et, kozismert a megbizhatatlan mukodese -- nem viccbol szoktuk ajanlani, hogy inkabb egy PICkit2 klont kellene epiteni.
szia
olvasd el a nullától a robotokig cikket figyelmesen : "Használhatunk külső órajelet is, sőt. Ha olyan alkalmazásunk van amiben pl. két PIC-van, akkor elég csak az egyikhez betenni a kristályt, a másik PIC OSC1 lábát össze kell kötni az első OSC2/CLKOUT lábával."
Köszi, hogy foglalkozol vele! A panelen nincs 100nF-os kondi, sőt kerámia sem, mind elektrolit. Valamelyiket elnézted. A Vdd-Vss közt egy 10 mikrós van kicsit távolabb az IC-től. (10u)
Különben így más a leányzó fekvése. Ha törléshez nagyobb fesz kell, akkor lehet itt a baj. Méricskéltem kicsit. Felteszem a kapcsolási rajzot a panelterv mellé. (Volt egy hiba a rajzon, kötve jól van/volt, de most javítottam a rajzon a 2K2-es elenállás rossz lábáról indult az átkötés, a 8-asról kell tovább menni. 14V-os Zener helyett 13-ast kaptam, az van benne.) A panelen az alkatrész oldal van, a zöldek átkötések, a pirosak meg átvágások... Feszültség szintek: az ICprog HW test menüjében a jelek ENABLE végigkapcsolgatása után -11.0V -ról +11.9-re ugrik a feszültség. Az MCLR engedélyezésekor +3,2V van az IC 14-es lábon. Lehet ez kevés, nem? Különben nem nagyon bírtam követni, hogy ez az égető hogy működik. A 3-TXD nem az adatot küldi, hanem a Vdd-t kapcsolgatja, az írás a 7- RTS és 4-DTR-rel, az olvasás meg a 8-CTS-en. Merjem esetleh az 1K-t áthidalni, hátha megnő a 3,2V? Az 5.1V-os Zener úgyis megfogja... Idézet: A digitális elektronika elemi szabálya, hogy minden logikai áramkört tartalmazó IC mellé kell tenni egy-egy 100 nF kondenzátort. A kondenzátor ún. "low ESR" legyen, minél rövidebb vezetékkel. (Minden belső vagy soros induktivitás lerontja a hatását). Ezek a kondenzátorok nem a tápfeszültség szűrésére kellenek, hanem a logikai kimenetek átkapcsolásakor keletkező tüskék elnyomására. „A panelen nincs 100nF-os kondi” A 100 nF kondi hiányában megeshet, hogy rosszul működik az áramkör. |
Bejelentkezés
Hirdetés |