Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   438 / 1320
(#) Galilei válasza icserny hozzászólására (») Márc 20, 2009 /
 
Köszi a választ, benjami is erre érzett rá, először használok debuggert, ez volt a tanulópénz, nem kevés
Bit kapcsolgatásokra visszatérve, néztem a programodat te a Portra írsz ott tényleg kell egy kis időt várni, de én a Output Latch registerbe írok, ilyenkor nem kell. Azért mert ez nem a Portot olvassa be és írja vissza hanem (ahol a port bit adatbeállásához tényleg kell várni) a stabil kimenetű latch-et és így nem kell várni.

RB15: Igen a rajzomon nem volt egyértelmű, ott a "LED meghajtó " felirat fölötti RA4 re szerettem volna utalni,
köszi a hozzászólást

(#) icserny válasza Galilei hozzászólására (») Márc 20, 2009 /
 
Idézet:
„te a Portra írsz ott tényleg kell egy kis időt várni, de én a Output Latch registerbe írok, ilyenkor nem kell.”

Elsősorban azért raktam be késleltetést, hogy valami emberi léptékű (pl. 2 Hz-es) frekvenciával villogjon a LED. Mert a MHz-es villogást nem bírja követni a szemem.

Idézet:
„ott a "LED meghajtó " felirat fölötti RA4 re szerettem volna utalni”

Szerintem érthető volt. S örülök, hogy a probléma is megoldódott.
(#) Hp41C válasza trudnai hozzászólására (») Márc 20, 2009 /
 
Sziasztok!


Szerintem a két makró elég, akinek mindenképen ki kell kényszeríteni a bankváltást vezesse félre a fordítót:

[/code]
CIM0
....
SelectBank TRISA
...
goto CIM2

CIM1
....
SelectBank PORTA
...
goto CIM2


CIM2
InitBank (PORTA ^ 0x180)
SelectBank PORTA

....
[code=c]

(#) norby1 hozzászólása Márc 20, 2009 /
 
Sziasztok

A múlt héten eldöntöttem, hogy váltok a 16F sorozatról a 18F-re. Konkrétan vettem egy 18F452 -őt. Összekötöttem egy gyári pickit 2 -vel, és próbáltam égetni. Sikertelenül
Először is ott a gond, hogy a pic-et van mikor nem ismeri fel, van amikor igen (no device detected).
Próbáltam programot égetni bele: programming failed.
Ha kiolvasom mi van benne akkor 0000 és elszórtan néhány helyre van 'eldobálva' vmi, de az sem összefüggő, törlésnél ezek helyzete megváltozik, de nem törlődnek. Érdekes...
(amúgy letöltöttem hozzá a legfrissebb progit és firmware-t, mert az előző fel sem ismerte.)
Ha valakinek van ötlete, az megköszönném!!!
(#) Galilei válasza norby1 hozzászólására (») Márc 20, 2009 /
 
1-2 dolgot mondj még róla, pl.: milyen progival akartál égetni, mi veszi körül a PIC-et (kapcsirajz, egyébb terhelések RESET ICSP Clock, data környékén), PIC energiaellátás kérdése, PICkit2 és PIC közötti kábel jellemzői....
(#) potyo válasza norby1 hozzászólására (») Márc 20, 2009 /
 
Szerintem egy tápszűrő kondenzátor hiányzik a pic mellől.
(#) norby1 válasza potyo hozzászólására (») Márc 20, 2009 /
 
Igen, valóban egy tápszűrő kondi kellett neki
Erre nem is gondoltam, mert az előző verziójú PICkit program/firmware kondi nélkül is gond nélkül működött.

Köszönöm szépen a segítséget
(#) potyo válasza norby1 hozzászólására (») Márc 20, 2009 /
 
Akkor azthiszem, ez másoknak is tanulságos, hogy a tápon a kondenzátor az nem dísz, hanem ugyanolyan elengedhetetlen dolog, mint maga a táp.
(#) trudnai válasza norby1 hozzászólására (») Márc 20, 2009 /
 
Meg annyi kiegeszitest had irjak mert ez mindig felmerul itt, hogy ha olyan a PIC aminek tobb tap laba van, akkor mindegyiket be kell kotni es mindegyikhez kell az a szuro!
(#) Rumcájsz hozzászólása Márc 21, 2009 /
 
Sziasztok!

Ismét szereném a segitségeteket kérni. Még mindig a 16F690 PIC-nél tartok immáron LCD modult illesztenék hozzá. A neten találtam egy "példát" C-ben irva hozzá a program. Ez eddig király, de a megadott lábkiosztás nem stimmel. A 16F690-nek nincs portB 3 lába.

Tudna valaki segiteni mit hova kössek és egy példa C progival hogy legalább lássak valamit az LCD-n, a többit meg majd kigolyózom.

Előre is köszönöm.
Példa
(#) Rumcájsz hozzászólása Márc 21, 2009 /
 
Hála az égnek a link nem jó: Itt van szövegesen:


' PicBasic program to demonstrate operation of an LCD in 4-bit mode
'
' LCD should be connected as follows:
' LCD PIC
' DB4 PortA.0
' DB5 PortA.1
' DB6 PortA.2
' DB7 PortA.3
' RS PortA.4 (add 4.7K pullup resistor to 5 volts)
' E PortB.3
' RW Ground
' Vdd 5 volts
' Vss Ground
' Vo 20K potentiometer (or ground)
' DB0-3 No connect

Pause 500 ' Wait for LCD to startup

loop: Lcdout $fe, 1 ' Clear LCD screen
Lcdout "Hello" ' Display Hello
Pause 500 ' Wait .5 second

Lcdout $fe, 1 ' Clear LCD screen
Lcdout "World"
Pause 500 ' Wait .5 second

Goto loop ' Do it forever
(#) szilva válasza Rumcájsz hozzászólására (») Márc 21, 2009 /
 
Ez egyrészt nem C, hanem BASIC program, másrészt igen magas szintű utasításokkal operál (Lcdout) és sehol nem látszik benne az LCD iniciálása. Elképzelhetőnek tartom, hogy a BASIC startup kódja megcsinálja a modul inicializálását, de valahol mindenképpen definiálni kell neki (ha egyáltalán lehet), hogy melyik láb melyik portbitre van kötve. Ez aztán teljesen attól függ, hogy az adott BASIC implementáció hogyan van megírva, annak a doksijából kellene kilesni, hogy hogy kell LCD modult kezelni.

Egyébként én jobbnak tartanám, ha assemblyben, netán C-ben próbálnád. Épp a minap nézegettem a HiTech midrange C-jét és ilyen kisebb dolgokra egész használhatónak tűnik a lite-osított verzió is (ráadásul mostantól ez lesz a hivatalosan támogatott C a kisebb PIC-ekre, mivel a Microchip nemrég felvásárolta a HiTech-et). Én egy 1-wire kommunikációt kezdtem el összeütni benne és meglepően kellemesnek találtam. Elég jó doksi is van hozzá (persze angol), sok technikai részlet is le van írva benne.
(#) watt válasza Rumcájsz hozzászólására (») Márc 21, 2009 /
 
Javasolnám, hogy dobj félre minden magasabb szintű nyelvet, vedd elő az adatlapot, vizsgáld meg az utasítás készletet(ASM), valamint a PIC felépítését tüzetesen és próbálj egy LED villogtatást ASM-ban összehozni!
Ezután vedd elő az LCD adatlapját(és a próbapanelod rajzát!) és próbálj meg olyan jelfolyamokat előállítani, ami megfelel az abban leírtaknak és a rajzon található összekötéseknek.
Ne akarj soha olyan programot használni, amit nem értesz, nem ismersz. Lépcsőzetesen próbálj a feladathoz közelíteni. A kérdéseid eddig mindig meghaladták a jelenlegi ismereti szintedet, azaz nem érted azt sem mit kérdezel, így nem is lehet válaszolni érdemben. Ezen csak úgy tudsz változtatni, hogy az alapoknál kezded.
(#) Rumcájsz válasza watt hozzászólására (») Márc 21, 2009 /
 
Oké, köszönöm a válaszotokat.
Elismerem hogy meghaladja a tudás szintemet, mert ha tudnám akkor nem kérdeznék.
asm-el egyenlőre nem akarok foglakozni, mikroC-t tanulgatom. De ezt már levélben megirtam. A ledek működnek a kimeneteken, a bemenetekre kapcsolt nyomógombot tudom figyelni, kezelni, most a következő lépcső az lett volna hogy egy EW162G0GR LCD-t gyógyitok fel rá és kiratok rá valamit.
A netet bogarászva nem sokmindent találtam épp azért is gondoltam hátha valaki adna tippet a 16F690 és LCD összekapcsolására hardveresen és egy példaprogrammal szoftveresen. És ha működik jobban látnám kísérletekkel a miérteket, hogyanokat.
(#) watt válasza Rumcájsz hozzászólására (») Márc 21, 2009 /
 
Lehet, hogy megy a gombkezelés, de azt is érted mi zajlik a PIC-ben ekkor? Mert ezt C-ben nem nagyon lehet megérteni. De nem erőltetem, mert nekem mindegy mennyit fogsz még ezzel szenvedni. (Főleg, ha nem kapsz válaszokat, mert megunjuk, hogy nem olyan úton haladsz, amire mi melléd szegődnénk. )
(#) Rumcájsz hozzászólása Márc 21, 2009 /
 
Oké, megértettem. Ha megunod nem válaszolsz. Egy idő után meg nem fogok kérdezősködni.
(#) watt válasza Rumcájsz hozzászólására (») Márc 21, 2009 /
 
És nem fogod megérteni amit szeretnél. Vagy nem ez a lényeg?
(#) icserny válasza Rumcájsz hozzászólására (») Márc 21, 2009 /
 
Neked véletlenül nem ezt a programot kellett volna nézni?
(#) El_Pinyo válasza Rumcájsz hozzászólására (») Márc 21, 2009 /
 
Szervusz!

Elsősorban ne a netet bogarászd mintaprogramok után !
Azt mondod, MikroC- ben programozgatsz, javaslom nézd meg a help menüjét ! Az említett LCD HD44780 kompatibilis, melyhez teljes beépített függvénykönyvtár van a fordítóban (4 és 8 bites mód is), ajánlott bekötési rajzzal. Azt javaslom, ha problémába ütközöl, először mindig a fordító help menüjét nézegesd (feltéve, hogy nem hardverhiba van). A Mikroelektronika fordítóiban rengeteg beépített könyvtár létezik (más kérdés, hogy nem mindegyik működik helyesen), ezeket érdemes tanulmányozni.

Üdv.
(#) watt válasza El_Pinyo hozzászólására (») Márc 21, 2009 /
 
De ahhoz tudni kéne mi az a 4 és 8 bites mód, milyen áramköri összeközttetésről van szó, és az sem árt, ha érted hogyan működik a prgoram és az LCD amit meghajtasz. Ez nem egy PC, ez egy áramkör!
(#) trudnai válasza Rumcájsz hozzászólására (») Márc 21, 2009 /
 
Nem szeretnek goromba lenni Veled, de azert par dolgot had irjak le ami hirtelen a fejembe otlott a hozzaszolasaid alapjan.

1. Eloszor is mar megirtuk, hogy nem valoszinu talalsz olyat aki mikroC-ben segit

2. Masodszor nekem ugy tunik, hogy nem tudod megkulonboztetni a C es a BASIC forras kodokat egymastol meg akkor sem ha a kommentben ott van, hogy BASIC

3. Meg csak nem is Mikroelektronika BASIC forras file-t nezegetsz, holott biztosra veszem, hogy tele van pelda alkalmazasokkal a feltelepitett konyvtarad

4. Most tegyuk fel adunk egy tippet, hogy hasznaldd az RB5-ot es az RB4-et felejtsd el, nem tudjuk hogy ertened-e miert mondjuk vagy hogy mi a baj az RB4-el, azonkivul legkozelebb egy masik PIC tipuson ahol nincs RB5 megint felrakod ugyanezt a kerdest? Nem lenne jobb megtanulni az adatlapot olvasni es egy ilyen egyszeru feladatot onalloan is elvegezni?

5. Nem tudjuk mi az az EWakarhanyas LCD, es ha Te nem veszed a faradsagot, hogy az adatlapjat belinkeld vagy csatold, akkor miert varod el tolunk, hogy mi faradozzunk helytted? (Mas kerdes ha egre foldre kerested az infot rola es nem talaltal semmit sem, hogy megkerdezed a forumon !AZ_LCD_TEMABAN! hogy "Sracok, tudja valaki mi ez, mi a bekotese vagy egyaltalan milyen protokollt hasznal?")

Szoval igy nagyon nehez segiteni - nyilvan ha lenne egy forras kodot, hogy nem erted miert nem mukodik, vagy egy kapcsolasi rajzod, hogy "hey sracok, jo az amit csinaltam?" akkor tobbet tudnank segiteni no es latnank is, hogy foglalkozol a temaval igy nagyobb kedvunk is lenne valaszolgatni.
(#) Rumcájsz válasza trudnai hozzászólására (») Márc 21, 2009 /
 
Nem, nem voltál goromba.
Igazad van!
Köszönöm!
(#) El_Pinyo válasza watt hozzászólására (») Márc 21, 2009 /
 
Természetesen én sem azt mondtam, hogy pusztán a fordító ismerete elegendő lenne arra, hogy az ember egy uC- es áramkört megtervezzen. A tervezés szerves része az adatlapok tanulmányozása, illetve a protokollok, üzemmódok átfogó ismerete. Azért írtam, hogy nézze meg a helpet, mert a BASIC- es forráskóddal semmire sem fog menni. Én nem okoskodni akartam, hanem segíteni a problémában. Egyébként tisztában vagyok vele, hogy nem PC- ről van szó.
Üdv.
(#) vzsolo hozzászólása Márc 21, 2009 /
 
Üdv!

Sokak örömére ismét itt vagyok az egységsugarú kérdéseimmel...
Adott a Gory cikkében lévő kapcsolás, egy 18F4550-es PIC, amibe beégettem az USB bootloadert. Első számítógéphez csatlakoztatásnál Microchip USB Custom Device néven hibátlanul működött, ám a másodiknál már nem. Ismeretlen eszközként "ismerte" fel. Újra beégettem a bootloadert, 4.2 V-os Brown Out Voltage-el, ezután már nem romlik el a program, viszont csatlakoztatásnál felkiáltójellel kerül az eszközkezelőbe "Az eszköz nem indítható el. (Kód: 10)" eszközállapottal. Ekkor eltávolítás, majd Hardver hozzáadása, és innentől tökéletesen működik. Következő csatlakoztatásnál ismét el kell végeznem a fenti műveletsort.
Tehát az első kérdésem, hogy ez mitől van, ill. mit tegyek ellene?
Továbbá az eddig Proteusszal szimulált programjaimat szeretném kézzelfoghatóvá tenni, ezért a PDFSUSB-al szépen feltöltöm rá.
Idézet a sokat emlegetett cikkből:
"7) Nyomjuk meg az S1 reset gombot hogy user módba visszakapcsoljuk a PIC-et. Ezután már a mi programunk fut."
Hát nálam ugyan nem. Egyelőre a PORTA0-n lévő LED-et szeretném villogásra bírni, Proteusban működik is annak rendje, s módja szerint. Rámértem a lábra is, de semmi.
rm18f4550.lkr linkerrel is fordítottam, de a helyzet változatlan.
A második kérdés, megegyezik az elsővel, csak a fentiekre vonatkozik.
A segítséget köszönöm!
(#) szilva hozzászólása Márc 21, 2009 /
 
Meg tudja mondani valaki, hogy milyen BASIC-ben lehet az a progi megírva, ami így kezdődik?


  1. Device         16F690
  2.     Config         INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_OFF, MCLRE_OFF
  3.     XTAL = 8
  4.     OSCCON = %01110111
  5.  
  6.     Dim spanning As Word
  7.     Dim esr As Float
  8.  
  9.     Declare LCD_DTPIN PORTC.4
  10.     Declare LCD_ENPIN PORTC.3
  11.     Declare LCD_RSPIN PORTB.6
  12.     Declare LCD_LINES 2  
  13.  
  14.     TRISA.2  = 1
  15.     ADCON0 = %10000001
  16.     ANSEL  = %00000100      
  17.     ANSELH = %00000000
  18.    
  19.     ADIN_RES = 10        
  20.     ADIN_TAD = FRC          
  21.     ADIN_STIME = 500              
  22.  
  23.     Symbol lcdTijd  = 600
  24.     Clear
  25.     Cls
  26.     Print At 1, 1,  "ElektronicaStynu"
  27. ...
(#) watt válasza El_Pinyo hozzászólására (») Márc 21, 2009 /
 
A válaszom nem feléd irányult, hanem rá akartam mutatni, hogy valószínűleg hiába beszélsz a kérdezőnek, nem fogja érteni. Fel sem merült bennem, hogy nem értesz a dologhoz. Elnézést, ha félreérthető voltam!
(#) Ktulu válasza szilva hozzászólására (») Márc 21, 2009 /
 
(#) szilva válasza Ktulu hozzászólására (») Márc 21, 2009 /
 
Igen, köszi, az előbb kérdeztem rá és válaszolt, Proton Picbasic lenne. Nem konzisztens a kapcsolási rajz és a hex, más portbiteken kezeli a hex az LCD-t mint ami a rajzon van...
(#) El_Pinyo válasza watt hozzászólására (») Márc 21, 2009 /
 
Szia !
Semmi baj, bár valóban félreérthető volt, de ez nem a Te hibád, hanem a fórumé, jobban mondva az írott szóé. Ezért nem szeretem pl. az msn-t, mert könnyen félreértik egymást a "tárgyaló" felek. Szóval nincs semmi gond, nem sértődtem meg.
Idézet:
„hiába beszélsz a kérdezőnek, nem fogja érteni”
. Ebben lehet igazad is van, azóta sem reagált az illető a hozzászólásomra. Mindegy nem nekem kell megcsinálni.
Üdv.
(#) Rumcájsz hozzászólása Márc 21, 2009 /
 
Zárszóként:
Nagyon szépen megköszönöm a biztató szavaitokat!
Az alábbi tanulságot vontam le mindebből:

- Pár ember kisajátitja a topicot.
- Idetévedő kezdő, hozzá nem értő embert egyből lemarházzák és maradék kedvét is elveszik.
- Aki ide betolja a képét annak minimum legyen 5 éves gyakorlata és nem árt ha szakmája is.
- Felesleges segitséget kérni. Még hatéved is az illető pökhendi, magaslóról jövö a válasz.

Véleményem erről a topicról röviden ennyi.

El_Pinyo és trudnai hozzászólása legalább számomra értelmes, hasznos volt.

Tessék, lehet irogatni, rágni a gumicsontot és a másikat szapulni.

Egyet kivánok csak Nektek: Ha segitségre lenne szükségetek ilyet kapjatok.
További jó csámcsogást!

Részemről lezártam a dolgot és ezt a topicot.
Tietek a pálya!

Következő: »»   438 / 1320
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem