Fórum témák
» Több friss téma |
Szia!
Szerintem simán előfordulhat, hogy a korábban használt USB aljzatod ( ill. a bent hozzácsatlakozó elektronika ! ) döglött be ! Próbálj ki más aljzatot is! szerk: Nem sokáig vártál a válaszra ! A hozzászólás módosítva: Máj 31, 2015
Én csak smd alkatrészeket használok kiépített ICSP porttal, ezért a táp nem okoz problémát. A PK3-mal közvetlenül az Mplab-ból programozom az áramkört, a PK2-nél a nem támogatott pic-eknél ezt csak külön programból tehetem meg (lehet csak +2 kattintás). Mivel az újabb pic-ek sokkal olcsóbbak és többet tudnak, a PK3 nem váltogatja olyan sűrűn az FW verziókat. A PK2 nagy előnye az egyéb szolgáltatásokban van ( + Hp41C fejlesztései), de ha csak programozásról van szó, szerintem PK3.
A PK3-ban nincs 47µF tápszűrés, az a Vpp-t előállító step-up kondija. Az 5Vusb pedig elég sok mindenen keresztül megy, hogy bármit lehessen mondani. Nem tudom az Mpab-X tesztje ír-e valami hibát. A leírás szerint a PK3 max. 30mA-ig terhelhető.
A 47µF-os(és az egyéb emlitett) kondik az én kisérleti panelomon van. A PicKit-be nem nyúltam bele. MPLAB 8.92-t használok, Windows XP alatt. Üzenet csak ennyi: Programming/Verifying/Reading failed. A panelom 5mA-nél nem vesz fel többet.
De persze gyanús hogy mégis valami áramkorlát oka lehet, talán éppen a PicKit meghibásodása miatt. Éppen ezért kérnék valakit hogy egy sima digit műszerrel mérjen rá az 5V-os tápra valamilyen áramkörben(de a tápot a PicKit adja!) programozás alatt. Mert ez nálam veszettül mozog (0)-5V között ilyenkor.
Megnéztem. Az hogy veszettül mozog az túlzás, egy ki-be kapcsolás van benne szerintem.
Meg tudná valaki mondani, hogy a PIC18F családnál a J és K mit jelent?
Főleg a tápfeszültségben vannak különbségek, illetve a K verzió gyorsabb.
Van egy program ami a megszakításokat számolja olyan módon, hogy növel egy változót, az éppen aktuális értéket a portokra csatlakoztatott ledek jelzik binárisan és ha a változó értéke elér egy előre definiált értéket, a program egy "goto $" utasításra megy, hogy lássam, megállt. A kérdés az, szerintetek miért van az, hogy a "goto $"-re ugrás mindig eltérő darabszámú megszakítás után jön létre, holott semmi sem változik.
Ez így nem egészen tiszta. Le tudnád írni az idevonatkozó kódot? Egyébként a "goto $" használata állítólag nem teljesen előnyös, jobb inkább a "goto label" helyette.
Esetleg a bootloader okozhatott még valami galibát, gondolom írás előtt próbáltad törölni is.
Csatolok képet a törlés és a programozás utáni állapotról, de Nálad is ugyanennek kéne lennie. A "CNCUSB_Bootloader-20100111_full_fixed"-et raktam bele.
Ezt hol olvastad? A "goto $" teljesen rendben van.
A "goto $+/- x" forma az, ami okozhat problémát.
kicsit össze-vissza, nézzétek el ezt most.
A delay-t retlw 0X00-val zárod. Azaz W-be 0-át töltessz. A visszatéréskor ennek csak akkor van értelme, ha fel is használod. Viszont a 62. sorban 255-re írod át, a 67.-ben pedig 2-re.
Ha jól tudom, a 16-os széria még egyesével lépteti a programsorszámot. Így az 57-59 egy elég hosszú várakozás van. Ez szándékos? A 72. sorban csak annyi áll, hogy goto $. De hogy hová ugorjon, azt nem adod meg. Ha ez a megállító sor, akkor nem $-0 nak kellene lennie? Még egy apró észrevétel! Számodra nem zavaró, hogy a változókat hol decimálisan, hol kódban adod meg: A hozzászólás módosítva: Jún 1, 2015
Nem tudom hogy jön az IT, de:
1., az IT rutinban a MOVF-es visszamentés elpiszkálhatja a Z bitet, az adatlapban sem így van megoldva, 2., lehet túl korán engedélyezed a megszakítást, mert az utána következő várakozás alatt ki tudja hány impulzus jön be, 3., mi van, ha a port kapcsolgató várakozások alatt a számláló pont túllép a 2-n, ilyenkor megvárja míg újra körbeér.
Hi Mesterek!
Bevásároltam 18F25K50-ből 2db-ot, de nem látja a pk2-ő. Most néztem meg hogy nincs is a támogatott eszközök között fellehet valahogy varázsolni a pk2-re hogy lekezelje?
Ezért mondtam, hogy kicsit össze-vissza. Ezt gyorsan összeollóztam, kiegészítettem.
A goto $ teljesen jó, ott megáll és nem megy tovább. Nem feltétlenül zavar, hogy hol így, hol úgy van megadva az érték, mert pl. egy vezérlőregiszter állításakor jobban látom egy bináris számban, hogy mit állítottam 0-ra és 1-re. De utálok olyan sokat gépelni és a hexa számok rövidek. A hosszú várakozás szándékos, így látom a ledeket rendesen.
1. igen tudom, de itt nem számít (azt hiszem)
2. elméletileg egy sem, mert a lényege, hogy ez adja az impulzusokat annak a 12F675-nek amivel kapcsolatban korábban már kérdeztem itt. Tehát ez adja az impulzusokat, a 12F675 számolja, megfelelő számú után kiad egy jelet. Ezt a jelet veszem ezzel a 16F628-al az RB0-on. Pont az lenne a lényeg, hogy lássam, hány impulzus után válaszol a 12F675. 3. ebben lehet valami. Mi lenne erre a megoldás? Főleg így, hogy a megszakítás kiváltó egy független forrásból jön.
Rájöttem, mégsem lehet a 3. a probléma, mert a megszakítások között megszámlált impulzusok sokszor csak néhány százban, esetleg ezerben térnek el egymástól. Ha újra körbe kellene mennie, akkor több tízezer és jó néhány óra lenne a különbség.
Nem tudom milyen hiba van még benne, de érdemes lenne a pdf-ben a megszakításnál a regiszterek elmentésének és visszatöltésének rutinját megfogadni, mert az a jó !
De csak a Te kedvedért!
Ez még nem igazi, nemhogy a kedvemre való lenne !
A hozzászólás módosítva: Jún 1, 2015
Problémás egy pasas vagy te hallod!
Így jó?
Idézet: „
Amíg az elején ez várakozik, vajon hova áll be a számlálód ? A count-ot sem látom beállítani, ki tudja mennyiről indul és ezért mennyit késleltet: szereted az orosz rulettet ?! A hozzászólás módosítva: Jún 1, 2015
Na ezt most nem értem! Hova áll be a számláló? Elméletileg sehova, nulla. Épp ez lenne a lényeg, hogy nullázom, majd várok. Ez így nem lesz nulla a várakozás végére?
A count az eredetibe a 41, 42. sorban kap értéket.
Benéztem , nem tekertem eléggé fel a programodat és nem láttam a 41-42.sort. Mindenesetre ha jól látom, akkor vagy 10-szer meghívod a késleltetést, miközben már működhet az INT, ez nem okozhat gondot ( közben átléphet a 2-es értéken, mint ezt már jelezték ) és akkor majd valamikor ér megint oda ?!
A hozzászólás módosítva: Jún 1, 2015
Mint mondottam volt, elméletileg nem jöhet IT, mert azt ez a program által szolgáltatott impulzusok váltják ki. Amíg az impulzusok nem mennek addig nincs ami létrehozza az IT-ot. (elméletileg)
Ezt nem értem... Mi az, hogy elméletileg ? Kösd le a 12F675-öt, tegyél rá egy pergésmentes gombot a 628 bemenetére ( a múltkor irkáltál valami hall celláról ) és próbáld ki, hány nyomásnál jelez! Van két rendszered, amelyiknél egyikben sem vagy biztos és keresteted a hibát ! Határold be jobban !
|
Bejelentkezés
Hirdetés |