Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nos, így hibát ír (amit csekély angol tudásommal nem tudok lefordítani)
Executing: "C:\Program files\Picc\CCSC.exe" +FM "main.c" +DF +LN +T +A +M +Z +Y=9 +EA *** Error 49 "main.c" Line 260(7,12): Expecting LVALUE such as a variable name or * expression 1 Errors, 0 Warnings. Halting build on first failure as requested. BUILD FAILED: Sun Oct 26 23:40:01 2008 A 260. sor:
Es a text1 hogy van definialva, mert gondolom nem char* ? Ha egy elore lefoglalt teruletre akarod bemasolni azt a szoveget, akkor azt strcpy() vagy strncpy() fuggvennyel kell megtenned... Ja latom, char text1[40], szoval igen, akkor strcpy(text1, "blahblah"); Vagy strncpy(text1, "blahblah", 40); hogy meg veletlen se lepd tul a rendelkezesedre allo korlatot.
Az ICD-ben lévő két picket is 10-volttal égettem meg egy párhuzamos égetővel.
Mikor rákattintok hogy égetni akarok akkor a 10 Voltot nem kapcsolja rá az mclr lábra. Lehet, hogy a tranyó rossz? Műszeresen kimértem és jó volt. Elküldöm a nyák rajzot hátha ad valami segítséget, észreveszel valami hibát rajta.
Nem az a kérdés, hogy 10V-al lehet-e véletlenül égetni, hanem az, hogy ott mennyinek kéne lenni elvileg! Úgy tudom többnek(nem beszélve arról, hogy miért nem műkszik jól az ICD2? Talán nem jól lett beégetve?)
A másik kérdés, hogy Te újra tervezted a nyákot? Harmadik, hogy soha ne tégy fel forrásfájlokat, mert nem fogja senki letölteni a szerkesztőprogramot, hogy megnézhesse. Képet szoktunk, azt is gif-et, vagy jpg-t.
Korábban azt írtad, hogy 16F84A-t választasz ki az MPLAB-ban. A céláramkörödben 16F628A van, szerintem ezért nem tudja "validálni" az eszközt. Nem olyat talál, amit keres!
11-13 Voltnak kéne lenni.
Mit értesz azon hogy nem jól lett beégetve? Felismeri a gép hogy eszköz van hozzá csatlakoztatva, telepíti a drivert is meg minden, kapcsolódik is az mplab az icd-hez és ennyi. Mikor égetni akarok akkor egy pillanatra kivillan az égetést jelző led és utána hibát ír ki. Újra amint látod. Bocsi, de már találtam a HE-n eagle forrásfájlokat, de most már csak képet rakok fel.
Van egy 16f84a-som és egy 628-asom is. Ezekkel kísérletezem.
Mikor programozni akarok ezt írja ki:
ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ...Program Memory ICD0161: Verify failed (MemType = Program, Address = 0x0, Expected Val = 0x2825, Val Read = 0x3FFF) ICD0275: Programming failed. MPLAB ICD 2 Ready ICDWarn0052 lefordítottam weben: ICDWarn0052: MPLAB ICD 2 nem tud érvényesíteni egy céleszközt. Okozz örömöt gyártmánynak, ami biztos abban, hogy a céleszköz összefüggő és megfelelően géppel hajtott. Kiválasztja OK-T, hogy folytatódjon, vagy CANCEL félbehagyni az operációt A céleszközt kihúzhatják a tanácsból, vagy meghajthatják. Eléggé szabad fordítás. Ez most mit akarna jelenteni? Idézet: „Mit értesz azon hogy nem jól lett beégetve?” Találkoztam már olyan esettel, amikor a nem megfelelő Vpp, vagy a nem megfelelő sebesség, ill. a túl hosszú kábelek úgy égették be a programot, hogy az az ellenőrzésnél jónak mutatkozott, de még sem működött helyesen minden része. A működéskor jóval nagyobb sebességen történnek a dolgok, sokkal kevesebb idő van, ami tévedést okozhat egy félig meddig átbillentett rétegen. A WPB fejlesztésekor sokszor előfordult ilyen velem. Javasolt betartani a gyári ajánlást, de a 12V mindenképpen szükséges minimum. Nem állítom, hogy ez a baj, de nem zárható ki. További hibaforrás lehet a kábelezésben, a céláramkör táplálásában(túl nagy pufferkondik), szűrőkondik elhagyásában stb.
Na most jol osszekeveredtem mit is akarsz irni, 16F628 vagy 18F4550? A 16F628-nak Vdd+3.5V - 13.5V az elfogadott a progr spec helyett, a 18F4550-nek pedig Vdd+4V - 12.5V. Tehat ha 5V a Vdd akkor a 10V mindenkeppen jonak kell lennie - de ha nincs rajta az MCLR labon iraskor, akkor ott valami gubanc van!
Azt, hogy nem ismeri fel az eszközt, old meg, hogy jól legyen csatlakoztatva. Szeritnem érthető a fordításból is...
Hát én erre az 5V-ra nem vennék mérget! Minek akkor ez a Vpp generátor felhajtás a gyári PK2-ben? És mi értelme lenne a LVP külön kiválasztásának lehetőségében? Valamit félreérthettél ezeknél az adatoknál nem?
idézet a speckóból: Idézet: „The PIC16F62X requires one programmable power supply for VDD (4.5V to 5.5V) and a VPP of 12V to 14V, or VPP of 4.5V to 5.5V, when using low voltage.” Idézet: „Okozz örömöt gyártmánynak, ami biztos abban, hogy a céleszköz összefüggő és megfelelően géppel hajtott.” Ezt mivel ferditetted?
5V a Vdd es 10V a Vpp (Vihh).
Mert a Progspec azt irja a minimum a Vihh-nak Vdd+3.5 ill Vdd+4.0V a 18F eseteben. Idézet: „The PIC16F62X requires one programmable power supply for VDD (4.5V to 5.5V) and a VPP of 12V to 14V, or VPP of 4.5V to 5.5V, when using low voltage.” Hat ez erdekes, en is latom mar hol olvasod, ugyanakkor a 20-ig oldalon meg a tablaban egeszen mast ir... Fene enne meg, hogy ezek ott a Microchip-nel nem lektoraljak a doksikat kellokeppen!
Az adatlap szerint igazad van, a tapasztalatom mást mond.
Idézet: „Okozz örömöt gyártmánynak, ami biztos abban, hogy a céleszköz összefüggő és megfelelően géppel hajtott.” Érdekes fordítás de talán hasznosabb volna úgy fordítani, hogy "győződjön meg róla, hogy a céleszköz csatlakoztatva van, és megfelelő a tápellátása". Ha nincs szűrés Vdd és Vss között, vagy ha Vpp nem jut el MCLR-re, vagy nincs meg az előírt 12 V, akkor a "megfelelő tápellátás" feltétele nem teljesült. Ezért joggal hisztizik az MPLAB.
Az ICD2 ad tápfeszt a PIC-ednek? Esetleg külső tápfeszt kellene adni neki?
Sziasztok!
Kérlek segítsetek nekem. Az MPLab 8.14 simulátorában, hogy lehetne leszimulálni, egy soros porton beérkező byte által kért Interrupt-t próbáltam beírni a az RXREG-be hexa számokat, gondolván, hogy ettől háthe elindul az IRQ, de sajna nem Így parameterztem fel: movlw .128 ; 9600 Baud (20Mhz) movwf SPBRG clrf BAUDCON bsf PIE1, RCIE ; RX IRQ engedelyezve bsf IPR1, RCIP ; magas prioritas bsf INTCON,GIE ;minden IRQ enged Most nem tudom, hogy ez a rossz, vagy nem értek az MPLab simulátorához (esetleg mindkettő )
Nah, mostmár működik, köszi a segítséget mindkettőtöknek!
Üdv vtnagy
Ilyet még nem csináltam, de próbáld meg a stimulus ablakba a Pin/Register Actions fülön egy adott időponthoz tartozóan feltölteni az RXREG-et egy általad kiválasztott tetszőleges értékkel, hátha akkor az megszakítást is okoz. Ha nem, akkor ugyanott billentsd át a megszakításhoz tartozó RCIF bitet.
En ugy tudom kozvetlenul a megszakitas jelzo bitbe kell beinjektalni hogy megszakitas keletkezzen. Volt is egy stimulus file-om valahol, majd utana nezek otthon, sajnos most nincs idom elokeresni, de majd este ha addig nem oldodott meg...
pices időzítőt szeretnék csinálni, hogy az időket potival lehesen állítani.
Ezt hogy szokás megoldani? Tom
Konkrét kérdésre lehet itt választ kérni! Arra nem, hogy hogyan szoktak atomerőművet építeni.
De röviden: 1. A/D bemenetre egy poti. 2. A/D értékétől függően egy timer összehasonlítás. 3. Egy gomb, amivel az időzítés indítva lesz. 4. Egy kimenet, ami egy relét, vagy LED-et, bármit meghajt. Látható, hogy ez egyrészt elektronikai kérdés, másrészt program kérdése. Rajzolj, programozz és ha elkadsz kérdezz!
Szia Watt!
Köszi a tippet! Biztos én vagyok nagyon Láma, de valahogy nem jön össze. Próbáltam a PIR1 regiszter RCIF bitjét H-ba küldeni, ezzel a pin/regiszter aktions táblázattal, de sajna a PIR1 regiszterben fel sem kínálja az RCIF bitet, csak az SSPIF-et ,de nekem az nem jó, mert nekem asszinkron átvitelem van.
Szia!
Nagyon megköszönném, ha este előkeresnéd azt a stimulust. Sajna eddigi próbálkozásaim mind kudarcba fulladtak. Hátha abból tanulok valamit.
Akkor a PIR1-be írj olyan értéket, ami neked jó.
Az RXREG feltöltése ezek szerint nem okoz megszakítást? Gondolom érvényesíted a beírt lépéseket? (Apply)
Most nem azert, de miert ragaszkodsz PIC-hez, ha azt sem tudod hva nyulj? Miert nem jo egy 555-os?
Na, hirtelen rakerestem a Microchip forumon, ebben nem vagyok biztos, hogy ez interruptos, de talan jo kiindulasi alap lehet:
Bővebben: Link |
Bejelentkezés
Hirdetés |