Fórum témák
» Több friss téma |
De "akkó" változatlan formában miért jó a pickit3-al? Nem az a baj, hogy nem tudom a C progit nyomkövetni pickit4-el, mert az optimalizáció miatt "látszólag összevissza" tekereg, hanem az a baj hogy pickit4-el "rosszfelé" tekereg, egyszercsak beleugrik egy tök másik függvény közepébe, és természetesen onnan kezdve eltéved, baromságot csinál, még olyat is láttam hogy a C-t a progmemben követtem és mindenféle ugró utasítás nélkül egyszer csak tök más címre ugrott.
A gondok okozója lehet a PCLATH és vagy a PCLATU regiszterek állítása. Az emlékeim szerint a környezetben átírt PC nem állítja be ezeket a megadott értéknek megfelelően.
Ettől függetlenül nem lennék meglepve, ha a PICkit4 még bug -os lenne.... Csak 2 éves... A hozzászólás módosítva: Feb 21, 2020
Köszi mindenesetre, megpróbálom a virtuális gépet, vagy majd a régi gépemen csinálom. De lehet leszedem ezt a win10 f..st, lassan agyfa..t kapok tőle.... Köszi
Úgy néz ki megvan a gond miért lassú az MPLAB 8 !
A képernyő méret miatt !!!!!!! Nekem 4K -s 3840x2160 as nagy monitorom van és hozzá a Videó kártya. De ha teljes méretben van az MPLAB akkor lassú, a szimuláció! Ha összekicsinyítem felgyorsul nem is kevéssel! Ez vagy Win10 hiba vagy az MPLAB nem tudja rendesen kezelni a dolgokat nem tudom, de bosszantó, hogy erőltetik a win10 et , felrakja az ember és csak rosszabb lesz nem pedig jobb........... Valszeg visszamegy a win 7 és marad is még vagy 1000 évig .......
Az Mplab ide utolsó verziója 2013-ban jött ki. Nem csodálkoznék rajta, ha nem kezelné rendesen a 4K felbontást. Egyébként a fiamnak van egy 34-es és egy 21-es monitor a gépén, bár az Mplabot nem használja, de még sosem panaszkodott lassúlásra vagy egyébre.
Mitől függ az, hogy Microchip float-ként vagy IEEE float ként kezel egy float típusú változót egy PIC?
Írtam (CCS-C-ben) egy programot PIC18F4550-re ... ESP8266 felé küldtem soros porton float változót, de előtte át kellett konvertálnom IEEE float-ra hogy tudja értelmezni az ESP. Ugyan ezt a programrészletet átmásoltam egy PIC24FJ256GB106-os PIC-programjába, és ott konvertálás nélkül kellett elküldeni és úgy tudta fogadni az ESP. A hozzászólás módosítva: Feb 24, 2020
XC8 leírás 5.4.3
Idézet: „For both float and double values, the 24-bit format is the default. The options --FLOAT=24 and --DOUBLE=24 can also be used to specify this explicitly. The 32-bit format is used for double values if the --DOUBLE=32 option is used and for float values if --FLOAT=32 is used.”
Bár az angolom elég hiányos sajnos, annyit azért látok hogy ez az XC8-ra vonatkozik ... CCS-C-ben 32 bit az alapértelmezett float.
A mellékelt képen látszik mi a problémám: ugyan az a hexa szám kétféle lebegőpontos értéket jelent, attól függően hogy Microchip float32, vagy IEEE float32 ként olvasom. Addig nincs is probléma belőle amíg egy PIC-en belül használom, de ha hexában átküldöm másik PIC-be ( vagy ESP-be) akkor már probléma adódik, ha nem ugyanazt a "rendszert" használják.
Mert a 8 bites PIC másképp kezeli a float-ot. Valahol olvastam anno, hogy a 8 bites PIC-ben más a bitek és bájtok sorrendje. Van valami Microchipes doksi is, hogy a 8 b ites milyen sorrendben használja a float bitjeit. A 16 és 32 bites PIC már IEEE formatként kezeli. Nem a fordító a ludas, illetve részben, mert az is konvertálhatná, de biztos volt valami oka, hogy így maradt.
A hozzászólás módosítva: Feb 24, 2020
Na, most jövök rá, ha te CCS-C-t használsz, valószínűleg azért nem jó a 8 bitesen(a fentebb leírt okok miatt). Gondolom a MC az XC8-ban megírta a konverziót, a CCS-C meg nem, mert nem konkrétan PIC-re írták anno.
Köszönöm! A lényeg, hogy már tudom: PIC függő... nem kell keresgélnem a beállítások között, hogy hol lehet átállítani, mert sehol!
Csak az bosszant, hogy PIC18-on teszteltem a programot, és elment egy csomó időm mire rájöttem, hogy konvertálni kell a float-ot. Áttettem a programot PIC24-re, erre kiderül hogy simán megy konvertálás nélkül, ha egyből ezen teszteltem volna soha sem tudtam volna meg, hogy létezik többféle float! A hozzászólás módosítva: Feb 24, 2020
AN575
A hozzászólás módosítva: Feb 24, 2020
Igen,köszönöm, azt hiszem ez volt az a doksi.
Sziasztok,
Most találkoztam egy SONIX SN8P2722 mikrokontrollerrel. A PIC KIT programban nincs ilyen eszköz. Tudjátok esetleg milyen programmal lehet ezt kezelni? Előre is kösz a segítséget.
Miből gondolod hogy egy SONIX cuccot a Microchip eszközeivel kellene programozni?
Miért nem a SONIX weboldalán keresgélsz? PL. SN8ICE2K Plus II programozó és SN8 C Studio fejlesztőkörnyezet...
Ahogy Zsora írta van sajátja. Valamint ha az már be van építve és ki akarod bontani akkor felejtsd el. OTP ROM-ja van.
Sziasztok! Egy amatőr kérdés engedtessék meg: imhol ez a "csoda". A forrasztástól és egyéb dolgoktól tekintsünk most el, vannak itt nagyobb gondok is.
Melyik kört kell nézni ha szeretném behatárolni az egyes lábát? Pic18f97j94 -ről van szó. Köszönöm!
A mélyebbet (szerintem a kisebb átmérőjű).
De ki is mérheted. Mivel a táp lábai "összevissza" nem szimmetrikusan vannak, ki tudod mérni, az azonos táp lábak belül is össze vannak kötve... Ha jól látom egyezik a panelen lévő számozással Nem pont ez a típus, de 465. oldal A feliratok irányához képest is viszonyíthatsz
A pöttytől balra indulva vannak a pinek számozva 1-től általában. Breakout boardnak tűnik, ami kezelhető távolságokra kivezeti a lábakat. A pálya szélére írt számok stimmelni látszanak.
A típust keresőbe beírva megtalálod a gyártói oldalt: https://www.microchip.com/wwwproducts/en/PIC18F97J94 Ott a view datasheetre kattintva az adatlapot: http://ww1.microchip.com/downloads/en/DeviceDoc/30000575C.pdf Ezen belül pedig az ötödik oldalon "FIGURE 3:100-PIN TQFP DIAGRAM FOR PIC18F9XJ94" címmel látod a lábkiosztást. Szerk: benéztem a kérdést, a jobb oldali halványabb pöttyöt nem is láttam. A hozzászólás módosítva: Márc 3, 2020
Köszönöm! Sikerült felvenni a 0.0 pontot.
Igen, meg elvileg a tok sarka is le van törve 45 fokban és a panelre is van szitázva egy pont az 1-es lábnál. Én legalábbis így látom.
Sziasztok!
Pic-el szeretnék csinálni egy step down konvertert. A pic stabil 5V-ről üzemelne, és ez vezérelne "valami" alkatrészeket ami 12v-ból csinálna 1-12V-ot. Gondolom frekvencia vezérelné a "valami" alkatrészeket, így lehetne feszültséget növelni, csökkenteni. Van valakinek ötlete hogy lehet ezt megoldani a legegyszerűbben? Feszültség fontos, áram szinte lényegtelen.
Nekem elsőre egy sima fet-es pwm jutna eszembe.
Amit te leírsz az nem step-down konverter, hanem egy szabályozó, vagy dimmer. Ha azt szeretnéd, hogy egy meglevő 12V-ot alakíts 1-12V-ra akkor arra a legegyszerűbb ha egy analóg bemeneten egy potméteres megoldást raksz, AD-vel méred a jelet, és a kimeneten PWM jelet szabáylzol az analóg jel alapján. Ha a kimentre egy FET-et kapcsolsz akkor teljesítményt is levehetsz róla, mert a PIC-nek a kimenete nem igazán terhelhető. Esetleg kondival és frekvencia növeléssel simíthatod a kimenetet.
A konverternek az a lényege, hogy a bemeneti feszültségből készíti a kimenetit, tehát nincs 12V-od, csak 5V-od. Ahhoz nem a PIC a megoldás, vannak ehhez cél IC-k, ráadásul trafó plusz egyebek is kellenek. Ráadásul ha 5V-ból 1-12 kellene akkor az nem egy sima step down. Látom Pali79 közben meg is válaszolta röviden, de kb ez a lényege amit leírtam. A hozzászólás módosítva: Márc 9, 2020
Ebből talán tudsz ötletet meríteni az elgondolásod megvalósításához: Bővebben: Link, Bővebben: Link
Bár ebben Arduinoval van megvalósítva a feladat, de talán nem jelent gondot neked PIC-re átportolni ezt. A hozzászólás módosítva: Márc 9, 2020
Sziasztok!
Hosszú idő után álltam neki ismét kezdő szinten PIC et programozni. Egy 16F877 el akadt olyan gondom hogy a jó istennek se tudom a PORTA egyik lábát se kimenetnek konfigurálni. TRISA regiszterben minden PORTA láb kimenetnek állítva, ADCON ban minden digitálisnak állítva, mégse tudom kimenetnek állítani a PORTA egyik lábát sem. A lábakat a program közben váltogatom ki / és bemenetnek is ezért a lábak fel vannak húzva VDD re 82K val. Mit csinálok rosszul? Tudna segíteni valaki? Köszönöm.
A hozzászólás módosítva: Márc 12, 2020
Nem tudom van-e többi része a programnak, de ez így tele van hibákkal, le sem lehet fordítani. Ha a hibákat kijavítom, akkor a szimulátor szerint átváltanak kimenetre.
persze ez csak egy vázlat, se eleje se vége így. Csak egy részlet. Lefordulni lefordul nálam a teljes program hiba nélkül de 5 V "H" szint helyett fél tápfesz van a PORTA összes lábán. Meg rosszul is tördelte a fórummotor az egész kódrészletet, nem így néz ki nálam... az utolsó sorban nem TRISA hanem PORTA, de ezt már javítottam csak a vázlatban maradt így. Az eredeti kódban jó.
A hozzászólás módosítva: Márc 12, 2020
Értem, a szimulátorban a TRIS regiszterek átváltanak. Én ilyenkor azt szoktam csinálni, hogy a program elejére beteszek egy tesztet. Pl. a kimenetek átállítása után jön egy mondjuk BSF PORTB,5 utána megy egy GOTO $. Az RB5-re teszek egy LED-et így meg tudom nézni, hogy ott felveszi-e a kívánt állapotot. Ha igen akkor ezt a két sort lentebb teszem és megnézem ott is. Így ki lehet szűrni a hibát. De az MPlab simulátora is sokszor nagy segítség.
|
Bejelentkezés
Hirdetés |