Fórum témák
» Több friss téma |
Köszi, akkor törlöm a config world ok közül, bár offra van definiálva. Az Mplab ban Release re volt / van állítva.
Apropo... Új project létrehozása vagy egy régiverziós MpLab al írt project megnyitása előtt az MpLab megkérdi hogy "Absolute" vagy "Relocatable"? Én Absolute ra szoktam állítani, bár nem vágom hogy ez micsoda és miért kérdezi. Ez mi és miért van?
Na jo... a többi port sem működik. Vagy döglött ez a PIC vagy nincs órajele mert nem rezeg a quartz. Teszek bele a 12MHz es helyett 4MHz est, az tuti van. Az MCLR láb H ban van, fel van húzva tápra. Ez is kilőve. Marad a szkóp, vagy a chip csere. Lehet lejárt a PIC szavatossága a 10 év alatt vagy koronavírust kapott. Mára elegem lett belőle, köszi a segítséget mindenkinek,
Mekkora kondik vannak a kvarcon?
Milyen órajelforrást adtál meg a konfigban? A reset rendesen fel van húzva? Van másik PIC-ed? A hozzászólás módosítva: Márc 14, 2020
4MHz -hez XT osszcillátor beállítás kell.
Lejjebb van a komplett kód, de 12MHz es kvarc ot használok és "_HS_OSC" nak konfigoltam. Ez szerintem rendben van. A 12MHz es kvarc lábain 22p van, de próbáltam 33p vel, 47p vel 15p vel. Semmi változás. A 4MHz eshez már XT beállítás kell ahogy Hp41C is írta. A MCLR láb most néztem, 82K val lett felhúzva. Valószínűleg benéztem, ez 8,2K akart lenni. De a 82K mellett is H ban van, 5,04V a táp és 4,75V ot mérek az MCLR lábon. Kicseréltem a 82K - t 10K ra de így sem megy. Az MCLR lábon nem változott a H szintje számottevően, 4,88V. Előtúrom a szkópot majd, csak az a padláson van dobozban valahol, most költöztem. Azt se tudom hol keressem. Másik PIC em nincsen, sőt ez a DIL40 es is a TOP oldalra lett felvarrva "SMD ként", mert lusta voltam furkálni. Vasalt "provizóre panel". De hogy ekkorát szívjak ezzel ez nonszensz... Murphy törvénye, gyorsan kell, nincs PIC másik tehát tuti hibás és hét vége van. Egy nagyfrekis (10MHz - 8GHz) frekimérővel néztem az órajelet szkóp híján de lehet az nem releváns mert ha rámérek a kavrc lábára leszakad a rezgés és nem látok semmit. Ezen a frekimérőn egy BNC s antenna van, és ezt nem erre találták ki. A BNC s szkóp mérőzsinór természetesen a szkóp mellett...
A tok minkét táp kivezetése és föld kivezetése be van kötve? Van mindkét oldalon közvetlenül a lábaknál 100nF kerámia kondenzátor? A tápfeszültség értéke meghaladja az előírt minimális értéket ill. a BOR értékét?
A fix érték kiírása mellett a B port -ra írj ki egy értéket, amit a ciklus minden lefutásánál növelsz. Így 8 eltérő periódusú négyszögjelet kellene kapnod. Ezzez a TRISB -t is 0 -val kell feltölteni.
Igen, mindkét oldali VDD és VSS lábak bekötve, a 100n sőt egy 22u is van mindkét oldalon. A tápfeszültség 5,07V nem tudom a BOR értéke mennyi, de ha jól emlékszem azt ki is kapcsoltam a konfigban. Most találtam meg a szkópot mindjárt nekiülök és talán "okosabb" leszek, legalábbis az órajel hibát ki tudom zárni. Ha van órajel akkor megpróbálok játszani a B porttal, de ha nincs akkor eleve halott az ügy. Köszi az ötletet.
Ok, egyáltalán nincs órajel. Így nem is fog menni. Cserélek kvarcot és meglátjuk. A táp viszont olyan sima mint a Balaton szélcsendben, azzal tuti nincs gond.
Ritka hiba de néha megesik. Ha a tépfeszültség túl lassan fut fel, nem indul el a kontroller. Adatlapban általában le van írva, maximum mennyi idő alatt kell elérni a minimális feszültségszintet a kontroller táplábain.
Azt hiszem tudom mi a baj... Ezt én csesztem el. Az összes port (A - E, a PORTB is az internal pull up dacára is..)), fel van húzva 82K val VDD re, mivel hol kimenetnek hol bemenetnek lennének használva. Az F877 nél viszont a külső oszcillátor lábai nem használhatók I/O ként. Én lehet hogy azokat a lábakat is fehúztam VDD re... És ez csak akkor fog látszani ha a PIC et kiforrasztom mert az összes felhúzóellenállás a beforrasztott DIL tok alatt van. Tuti hogy ez a gáz. De mindjárt kiderül mert leszedem a tokot a panelről. Mondanom se kell, a csere (6MHz) es kvarc se rezeg... )Vajon miért..? )
Köszi de szerintem nem ez lesz a baj. Sokkal egyszerűbb ennél, én voltam figyelmetlen és megszxvattam saját magam és terheltem a topicot a hülyeségem miatt. Sorry érte, már ha ez a baj. De a nyakamat teszem rá hogy igen.
És igen... Az OSC1 és OSC2 lábak is VDD n vannak 82k val. Ezúton elnézést kérek mindenkitől aki gondolkodott a megoldáson. Erre spec én se gondoltam és azért nem szúrtam ki kapásból mert nem látszanak a felhúzú ellenállások a tok alatt. Mindjárt lövök pár képet hogy is néz ki ez a 2 óra alatt összevart panel. Hát igen hamar munka ritkán jó, főleg ha már tervezés szinten elcseszik. De mentségemre legyen mondva a két ominózus láb mellett sorakoznak az I/O portok, én meg csak raktam befelé a pull up okat sorban és így persze nem hagytam ki a két OSC lábat sem. Még egyszer bocs.
A corpus delicti ami a hibát okozta.
Üdv!
Ezt az 1 Bitet hogyan kellene kiküldeni I2C-n? A PIC adatlapjáben nem találok erre regisztert. Vagy hogyan lehetne ezt megoldani? 1 bitet is ki lehetne küldeni a programból? (AD5933 és PIC24FJ256GA702) Köszi!
Pedig nem bonyolult, csak el kellene olvasni az eszközök IIC kommunikációját. Minden slave eszközben, (régen a PIC-adatlapjában is volt, ma már nem tudom) le van írva az írás és olvasás lépésről lépésre. A 8 bites cím azzal együtt teljes, és azt a bitet attól függően állítod be, hogy írni vagy olvasni akarod a slave-t.
Tehát ha a 7 bites cím mondjuk 1100101 és írni akarod akkor 11001010-t küldesz el az alső 8 biten ami a cím plusz az írás/olvasás bit, ha olvasni akarsz akkor 11001011-t.
Tényleg! Köszi!
icserni fórumtárs segítségét kérem. C nyelven szeretnék programozni. Ismerkedem a PICCOLO projekttel és megépítettem a PIC18F14K50 kísérleti áramkörét. Az élesztéshez szükséges code_examples.zip illetve a betöltőprogramok a helyi másolatok linken nem elérhetők - 404 not found. Szívességét, segítségét köszönöm!
Hali!
Bővebben: Link Itt még tudsz mazsolázni, a weboldalba ágyazott mnták úgy látom megvannak, de a zip fájl nincs. A hozzászólás módosítva: Márc 24, 2020
Ha ezt keresed akkor itt van a mellékletben.
Üdv!
Egy PIC24 I2C vel kommunikál egy IC-vel (AD5933) és néha lefagy a pic a küldési/fogadási folyamatkor. Itt egy kódrészlet: (az egészet hasonlóan írtam, de ha kell kirakom az egész kódot)
Néha egy ujraindítás után el sem indul. Szerintetek mit ronthatok el? Köszi! A hozzászólás módosítva: Márc 24, 2020
Bocs, átraktam a saját webhelyemre (mert a régi tárhelyemet megszüntették), de még nem volt időm "honosítani" az új helyen. A 404-es hibát adó linkeket át kell szerkeszteni a böngésző URL sávjában: az esca.atomki.hu helyett cspista.hu kell, valahogy így:
Piccolo projekt, Példaprogramok, Letöltés (ZIP) PICula projekt, Példaprogramok, Letöltés (ZIP) PICkwik projekt, Példaprogramok, Letölés (ZIP)
A 4. sor után ki kellene várni, amíg a SEN bit visszabillen nullába!
Lásd itt, a 00071. sorban.
Üdv!
A 4 sor várja ki. Addig fut a while míg a SEN = 1. Vagy hogy érted? Ugyan az van ott is mint amit linkeltél.
Bemásolom az összes küldéssel/fogadással kapcsolatos függvényt:
Csinálj 1 gyors 10-200ms környéki timert,és együtt figyeld a statbitekkel,így nem fogsz beragadni a while-oknál.Ha még változót is beraksz,akkor még a hiba helye is meglesz.
Ha a PIC elegendően magas frekvenciájú órajelről jár az is megtörténhet, hogy az olyan ciklusok, mint a SEN megszűnésére váró ciklus le sem fut. Az első kiolvasásnál még SEN bitet 0 értékkel olvassa ki, a program tovább lép, pedig a start bit kiadása még el sem kezdődött. A megszakítási állapot bitet kellene használni, azok csak akkor billennek 1 értékre, ha az indított működés véget ért. A következő indítása előtt természetesen törölni kell.
Köszönöm a válaszokat!
A PIC 20MHz kvarckristállyal megy. Ha az utolsó nem jön be kipróbálom a Timeres megoldást. A TRSTAT bitet is átugorhatja a program? Azt is érdemes lenne kicserélni interrupt flagre? Erről hol lehet olvasni egyébbként? Errata?
Bocs, csak figyelmetlenül olvastam.
A hozzászólás módosítva: Márc 25, 2020
|
Bejelentkezés
Hirdetés |