Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szia!
Csatolmányban megtalálod, azért felteszem a kapcsolási rajzot, meg a nyák tervet is, hátha valakinek még kelleni fog. Üdv.
Sziasztok!
Két adatot kellene összehasonlítanom, az egyik az EEPROM ban van a másik az INDF ben. Hogy a legegyszerűb ezt összehozni? Én úgy gondoltam az egyiket egy regiszterbe másolom a másikat a "W" be teszem. Mert közvetlenül gondolom nem lehetséges őket összehasonlítani..Vagy tévedek? Valami egyszerűbb megoldás létezik erre? Ehhez kéne egy kis ötletszintű segítség. Köszönöm
Valami ilyesmi kellene nekem is, de olyan ami nem lejátszik hanem SD re rögzít hangot. Nem feltétlen mp3 ban, hanem pl vaw ban. Nem láttatok ilyen publikus projectet valahol?
Nem kell semmi plusz regiszter, egyszerűen ki kell vonni őket egymásból.
Ezután a STATUS regiszter Z és C bitjei alapján tudod eldönteni, hogy a két érték milyen volt egymáshoz képest. Ha Z=1, akkor egyenlőek voltak. Ha Z=0 és C=1, akkor az INDF tartalma nagyobb volt, mint a W. Ha Z=0 és C=0, akkor az INDF tartalma kisebb volt, mint a W. Figyelem: több adatlapban is hibásan láttam a SUBWF leírásakor a STATUS bitek állását. A PICmicro Mid-Range MCU Family Reference Manual 29-40 jelzésű lapján van helyesen leírva, illetve érdemes a legújabb adatlapokat lekapni, azokban már úgy nézem, javítva van.
Sziasztok! Remélem tudtok nekem segíteni! Szeretnék adatot küldeni illetve fogadni soros-porton egy pic24FJ128GA010-es pic-kel és a soros port az explorer 16os demo boardon van! Nem rég kezdtem ez az egész pic-ezést és csak alapok elsajátításánál tartok! C nyelven programozok Asm-hez segg hülye vagyok! A segítséget előre is köszönöm!
Tamás
Lucio Di Jasio: Programming 16-bit PIC microcontrollers in C: learning to fly the PIC 24 c. könyvében
Bővebben: Link a 8. fejezet foglalkozik az UART kommunikációval. A mintaprogramok a http://flyingpic24.com/ honlapról is letölthetők.
Köszönöm! De nekem ez még kínai! mondjuk próbálkoztam egy UART2.h ott nagyjából értem a fgv-eket de valamiért hibát jelez....
"undefined reference to `UART2PutChar' "
Lehet, hogy valami egyszerűbbel kéne kezd! Főleg nem 24F-el!
Sajnos csak ilyennel tudom mert relatív ez egy házi feladat... De azon kívül vettem egy pic16f54-et Pic18f4620-at és egy pickit2 programozót, Heló világ, lcd, és több hasonló programot már írtam...
Értem. Sajnos akkor is azt kell mondjam, hogy több év tapasztalat után is elég nehéz áttérni a 16bitesekre. Na mindegy, csak egy módja van, hogy haladj, bele kell vesd magad az ajánlott irodalmak megértésébe, akármilyen bonyolultnak is tűnik.
Köszönöm! Ezt csinálom már, megvettem a tanárom könyvét is pluszba 6600 Ft... De mondjuk az oktatás elég gyér itt ilyen téren...
Meg kell nézni az MPLAB-ban a Project beállításait (Include, LIB, Link útvonalakat). Könnyen meglehet, hogy az említett könyv mintaprogramjainak kiadása óta megváltoztatott egyet, s mást a Microchip.
Most nincs előttem olyan gép, amin lenne MPLAB, de úgy emlékszem, hogy a support alkönyvtárat szétszedték, s neked a ...\support\... helyett a ...\support\PIC24F\... kell, ha a PIC24 C fordító 3.11 vagy annál magasabb verziója van telepítve. Szrek: Bocs, a (#425377) hozzászólásra akartam válaszolni! Idézet: „De mondjuk az oktatás elég gyér itt ilyen téren...” Én inkább a tanulók hozzáállását kritizálnám: toronyóra kell lánccal, de azonnal, s lehetőleg minimális időráfordítással. Én közel 3 hónapja kezdtem módszeresen foglalkozni a PIC24 programozással, de még csak ilyen programocskáknál tartok: Kép: Hivatkozás Jó munkához idő kell, az alapos tanuláshoz meg még inkább!
Ezzel teljesen egyetértek, hozzá állással nincs probléa nálam mert nagyon tetszik és érdekel. Itt a Főiskolánál vannak a problémák a tanterv terén, Én Távoktatásra járok ami azt jeleni, hogy havonta egyszer bemegyek egy konzultációra és ott töltök pár órát. Ennél a tantárgynál az volt vagy az a probléma, hogy egyszeri 3 órás alkalomnál egy C programozás ismétlés volt a menet ott újat nem mondtak a 2 hónappal későbbi 3 órás foglalkozáson pedig kaptunk egy ilyen pic-et és egy 16-os tesztpanelt, a programokat ctrl+c és ctrl+v elven beégettük a picbe és "né má" működik a program, egy ilyen dolgot nem ennyi időben tanítanék, hanem mondjuk adják nyárra mikor egy nap foglalkozunk egy darab tantárggyal! A hozzáállásom megvan, azért kérdezek itt mindenkit hogy ha tudnak segítsenek, mert itt mindent magamtól és magamnak kell tanulni, mert azért fizetek és járok ide, hogy kapjak egy mérnöki oklevelet!
Köszönöm! De mikor megnézem a C30-as fordítójának a könyvtárait nem tudom melyik "sorba" kell megadni hogy a linkernek a könyvtára hol van...
A számodra legfontosabb könyveket már ismered, ezen kívül az University of Akron honlapján található anyagot érdemes nézegetni (úgy tudom, az is Explorer 16-tal foglalkozik).
Más megközelítésű, de szerintem alaposabb ismereteet ad az a tananyag, ami a Mississippi State University honlapján található, s amely a 28 lábú PIC24H/dsPIC33 mikrovezérlők programozásával foglalkozik. Ennek a magyarra fordításával/adaptációjával foglalkozom most (lásd: http://esca.atomki.hu/PIC24/) de eléggé az elején tartok még.
Köszönöm! Nézegetem is! Nyomtatott formában meg fog jelenni a fordításod?
A kötelező olvasmányok közé vedd fel a 16-bit Language Tools Getting Started leírást.
A 13. oldalon nézelődj!
Közben rémlett, hogy régebben feltettem egy USART-os projectet. Nem tudom tudsz-e valamit kezdeni vele, remélem igen. - Íme -
Mégegyszer ránéztem a kapcsolásra, de szerintem nem jó ( 9 lábbal a 8 helyiértéket!) ! Ha jól látom, akkor a kijelzők bekapcsolásához '1' szint, a szegmensek működtetéséhez '0' szint kell. Ez azt jelenti, ha pl. nincs szükségem az 'a' szegmensre, akkor '1'-t téve RA0-ra a LED1 kijelző máris bekapcsolódik és akármit szeretnék egy másik kijelzőn megjeleníteni, az a LED1 kijelzőn is látszani fog!
Jól látom, vagy valamit nem vettem észre?! Steve
Attol fugg kozos anodos vagy katodos a kijelzod, de mindketto megvalosithato.
Vegyuk most a kozos anodost az egyszeruseg kedveert. Mondjuk vagy egy 4x4-es LED matrixod. Van 4 vonalad, A, B, C es D-vel jelolve. Namost az A vonalat magasra huzva az elso digit osszes anodjara magasat tesz. Kozben a B, C es D alacsony vagy magas meghajtasa hatarozza meg, hogy az also 3 LED vilagit avagy sotet. Namost a legelso LED mindket labara ha rakotod az A vonalat akkor nyilvanvaloan nem tortenik semmi sem akar alacsony akar magas a jel. Ezert annak a katosjat nem az A-ra kotod, hanem egy 5.-re, aminek a jele mondjuk E. Igy mind a 4 LED vezerelheto az elso sorban. Masodik sor: B valasztja ki az abba a sorba tartozo LED-eket, A, C es D katodok bekotve 'normalisan', 2. LED katodja az E-re... Remelem igy mar ertheto?
A működés elvét ( hogy mit akart!) szerintem értem, de az eredeti ábrán próbálj meg a LED2 kijelzőre pl. egy 4-es számot kiírni. A szám kiírásához (mivel KA-s) '1'-et rakok az RA1-re ( engedélyezés!), miközben az RA2,5-re és RB0-ra '0'-t kapcsolok, míg az RA0,3,4,6,7-re '1'-t, hogy ne menjenek. Az RA0='1' viszont bekapcsolja a LED1 kijelzőt is, amelyen ezért szintén megjelenik a '4'-es!
Nem jól gondolom?! Steve
Az eredeti elgondolás szerint a TRIS-ekkel is játszanod kellene, és aol a kijelölt digitben nem akarsz szegmenst kigyújtani, oda nem H szintet, hanem Hi-Z "szintet" kellene kitenni.
Bár megjegyzem, szerintem így is sántít a dolog. Lehet, hogy csak azért működik, mert 5V-os tápfesznél a 2N7000-en forráskövető módban eső feszültség és egy szegmens nyitófeszültségének összessége túl nagy ahhoz, hogy egy nem kívánt szegmens láthatóan fel tudjon gyulladni ettől.
HI-Z-t szerintem nem tudok kirakni, mert akkor mivel kapcsolom a FET-et?!
( felhúzó/lehúzóellenállás ugyanazt a problémát jelenti!)
A többire, amit nem használsz. Pl. LED1 kijelző esetében RA0 H szintű, RA1-RA7 pedig az alaktól függően L vagy HiZ. LED1-nél az RA0 helyére lép be szegmens szinten RB0.
Ezzel nekem az a bajom, hogy ha a B szegmenst nem akarod kigyújtani és HiZ-t teszel RA1-re, akkor LED1 CA-B közti szegmensén és a 220 ohmos ellenálláson keresztül Q2 G-jére is "odakúszik" a LED1 CA pontján lévő feszültség (ugye áram gyakorlatilag nem folyik, így a B szegmens nem fog világítani). Persze, esik a szegmensen is legalább egy LED-nyit, meg a FET-eken is 1-2V esés bekövetkezik (forráskövető kapcsolás miatt), így szerencsés esetben a LED2 CA pontján már annyira lecsökkent szint jelenik csak meg, ami nem tudja a LED2 szegmenseit meggyújtani.
Ezért írtam, hogy nem lehet Hi-Z, mert azzal a FET-et nem lehet "bombabiztosan" nyitva vagy zárva tartani ( és pláne nagy fényerejű LED-eknél látszani fog!)!
Az előzőekben leírt ( előző hozzászólásomban Trudnainak ) dolgok szerinted nem jelentenek problémát ( a számok nem látszanak át több kijelzőre is?!) ? Steve |
Bejelentkezés
Hirdetés |