Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   208 / 1320
(#) watt válasza trudnai hozzászólására (») Máj 13, 2008 /
 
Igen, de a resetre utána jónak kéne lennie.
Szerintem nem megy az oszci. Kíváncs leszek kvarcal megy-e. Ez egy képtelen történet.
(#) szilva válasza watt hozzászólására (») Máj 13, 2008 /
 
Lehet ilyen progit írni (relokálható szegmensekből a linker a linker script alapján állítja össze a végső kódot), ha több asm forrást akar összelinkelni, akkor kötelező is. Persze első "hello world"-nek nem célszerű ezzel kezdeni.
(#) trudnai válasza foxpaw hozzászólására (») Máj 13, 2008 /
 
Te, neked milyen muszered van, mert nekem a legkisebb mereshatar 200mA... azzal max szazad mA az amit kimutat de ott sem iszem hogy pontos lenne. Milyen mereshatarral dolgoztal?
(#) trudnai válasza watt hozzászólására (») Máj 13, 2008 /
 
De ha jol ertem, akkor elobb keramia resonatorral probalkozott es azzal sem ment, aztan RC-vel es azzal sem...

Jo lenne ha az MCLR-t nyomna, de ahhoz meg kellene egy soros ellenallas is az adatlap szerint mert ha kozvetlen foldre rakja akkor beragadhat a PIC-je...
(#) watt válasza szilva hozzászólására (») Máj 13, 2008 /
 
Ja igen, rémlik valami az olvasmányaimból. Bevallom soha nem értettem meg teljesen a linkert, és soha nem írtam még így progit, talán nem is fogok...
(#) watt válasza trudnai hozzászólására (») Máj 13, 2008 /
 
Mondjuk rossz volt a rezonátor, az RC tag pedig nem helyes értékekből állt. Nem tudom, csak találgatni tudok.
Gondolom nem kell bizonygatnom nektek, hogy milyen egyszerű egy PIC-et elindítani, és erre itt van ez a helyzet. Ha nem írta volna, hogy ért az elektronikához, nem nagyon hinném el, de így csak arra tudok gondolni, hogy egy rejtett hiba szívatja.
(#) foxpaw válasza trudnai hozzászólására (») Máj 13, 2008 /
 
2mA a legkisebb méréshatár. Pont lehet vele mikroampert mérni. Elvileg méri mert ha megcserélem a mérővezetékeket, akkor -2 mikroampert mér. Szerintem is
(De néha lefagy... Vicces... )

Holnap megnézést mégsem ígérem, mert rájöttem, hogy dolgom van de a héten mindenképp sort kerítek egy rendes körülmények közötti PICezésre. Majd akkor megírom, ha működik.
(#) foxpaw válasza watt hozzászólására (») Máj 13, 2008 /
 
(Azt nem mondom, hogy totál elektronika zseni vagyok, de már raktam össze pár cuccot. Minierősítőt, torzítókat, most egy mágneses szenzort, és két theremint. Ha azt mondják emitterkövető, nem esek zavarba. A komponenseket az adatlap alapján raktam az RC tagba is. Először el is indult vele, döglassan, de utána is beragadt. Azt még a watchdog számlájára is tudnám írni, de hogy azóta mi van itt )
(#) potyo válasza foxpaw hozzászólására (») Máj 13, 2008 /
 
Közben vehetsz vagy rendelj kvarcokat. Ne egyformákat, hanem mondjuk 4, 8 és 20MHz-es tipusokat, meg két-két darab 15, 22,27 és 33pF-os kerámiakondenzátort is. A külső RC-ben valahogy nem bízok meg, bár lehet, hogy semmi alapja sincs Azért különféle kvarcokat, hogy ne egy szériából legyenek, nehogy hibásak legyenek.
(#) foxpaw válasza potyo hozzászólására (») Máj 13, 2008 /
 
Mondasz valamit, ez az RC dolog nekem is fura. Egy másik oldalon azt írták, hogy ha a földre húzod simán az OSC1 lábat, akkor is elindul RC módban. Na ezt nem próbáltam. (És nem is igazán hiszem.)

Szerzek kristályt. Ha nem más kérek a laborból. Hogy ez eddig miért nem jutott eszembe!

Hülye kérdés: A laborban linuxos gépem van és windowst esélytelen rárakni. Az MPLAB linuxos változatát valaki próbálta már? Ha be tudnám lőni, akkor a laborban is tudnék kényelmesen programozni...
(#) Lozsa hozzászólása Máj 13, 2008 /
 
Köszönöm az eddigi kimerítő válaszokat, sokat segítettetek!

Köv kérdésem:

Definiálok egy táblát:

LCD_TABLAZAT
dt "alma"

majd TBLPTRU-t törlöm, LCD_TBLAZAT HIGH-t tblptrh-ba, LOW a TBLPTRL-be töltöm.

Ezután ha "tblrd*+"-al léptetem és nézem watch ablakban akkor minden másodikra egy "FormFeed" van a TABLAT-ban (decimális 12)

Miért?
(#) potyo válasza Lozsa hozzászólására (») Máj 13, 2008 /
 
A DT csak minden második programmemóriacímre tesz adatot, és kiegészíti egy RETLW utasítássl, tehát ugyanazt kapod, mintha ezt írnád:
  1. RETLW 'a'
  2. RETLW 'l'
  3. RETLW 'm'
  4. RETLW 'a'


Hasznájd DB-t DT helyett, akkor minden címre kerül adat.
(#) trudnai válasza foxpaw hozzászólására (») Máj 14, 2008 /
 
MPLAB-nak nincs linuxos valtozata! Vannak mas fejlesztoi eszkozok, pl amit keregelhetsz: gputils (asm fordito+linker+par mas cucc), gpsim (most nem tudom a gputils tartalmazza-e, de egy pic simulator), sdcc - ingyenes C fordito, asszem nem a legjobb az optimalizaloja, de MC18-nal jobb. Van PicKit2-nek command line-os progija is - nem Microchip hivatalos, de mivel MC open source-ossa tette a kodot azt masok implementaltak linuxra es Macos-ra. Mas egetok is mennek linuxon... Van valamo PicDev vagy PicLab, keress rajuk.

Az ilyen RC helyett foldre kotomdolgokat inkabb ne csinald szerintem. Viszont az MCLR ala nem tettel meg mindig kondit - annak az lenne a szerepe, hogy lasabban eledjen fel a PIC, legyen ideje az oscillatornak feleledni. Soros ellenallas meg azert kellene, mert ha az MCLR foldet kap, akkor kepes ra, hogy "beragad" es reseten tartja a PIC-et - ez adatlapban targyalva van... (100ohm jo lenne oda, szerintem elso korben egy 100nF kapacitor talan megfelelo lehet).

Amugy a muszered akkor eleg jo lehet, ha 2 miliamperes mereshatarod van es negy digites. De ha fagyogat akkor inkabb nem kerdem meg a tipusat Mindenesetre 2uA fogyasztas az nuku, ha ez igaz akkor a PIC nem mukodik, pl mert nem oszcillal az oszcillatorod.. vagy mert allandoan reseten log... A 877 melle meg ne vegyel kristalyokat velemenyem szerint, hanem helyette vegyel 16F628-at pl. es hasznald a belso oscijat... Az az a 877-es kulonben sem tul okos darab...
(#) Thowra hozzászólása Máj 14, 2008 /
 
Üdv mindenkinek!
Van egy rosz autóriasztóból származó jó rádió modulom amit szeretnék ráakasztani egy pic re. (16f627A) A riasztóba eredetileg egy 103 kódú smd vel kapcsolódott a pic 15 ös lábára. Az a láb a kvarchoz van (úgy tudom).
Hogy működhetett eredetileg?
Előre is köszönöm!
(#) potyo válasza trudnai hozzászólására (») Máj 14, 2008 /
 
Idézet:
„Az az a 877-es kulonben sem tul okos darab...”


Azért ez így érdekesen hangzik azután, hogy 16F628-at ajánlasz...
(#) foxpaw válasza trudnai hozzászólására (») Máj 14, 2008 /
 
MPLAB: igen hülyeséget írtam. Leesett nekem is...

A kondit próbáltam már az MLCR-en, pont egy 100 nanosat raktam be, de nem használt sajna. (Már meg sem lepődöm.)

Nekem gyanús, hogy a rezonátor terágya volt az RC kört meg nem szeretik valamiért. 2 volt körüli érték esik az OSC1 lábra.
Mint mondtam, majd a laborban tiszta lappal új alkatrészekkel megnézem, elsőnek olyan összeállításban, ahogy a nagy könyvben meg van írva.

Ja a műszer tényleg jó, leszámítva, hogy lefagy. Meghogy a biztosítékolt árammérő bemenet nem működik, csak a biztosíték nélküli. (Ergo ki van égve a biztosíték. Azért ez fura egy olyan eszköztől, amit én bontottam ki a csomagolásból és már első áramméréskor se működött azon része. De hát made in China, hatalmas szórás lehet az eszközök között...)
(#) szilva válasza potyo hozzászólására (») Máj 14, 2008 /
 
Gondolom, úgy értette trudnai, hogy a 877-ben nincs sem belső oszcillátor, sem az MCLR lábat nem lehet inaktiválni, és generikus I/O-ra kapcsolni.

Ha ezeket meg lehetne tenni, akkor kapásból ki lehetne zárni a rezonátor/oszcillátor és a reset-áramkör hibáját. A 628-as ugyan kisebb PIC, de újabb típus, mint a 877, és ilyen szempontból "okosabb": külső oszcillátor- és resetalkatrészek nélkül is elindítható.
(#) trudnai válasza szilva hozzászólására (») Máj 14, 2008 /
 
Igy van Szilva, velemenyem szerint ez valami visszamaradott csokeveny kompatibilitasi okokbol, hogy regebben fejlesztett rendszerek melyeket meg a mai napig gyartanak, szoval hogy ezekhez legyen utanpotlas.

Sot ha megnezitek a Microchip odalan az arakat, a 628-as az $1.29, a 877 meg $3.71... persze lehet mondani, hogy ja, de nagyobb, de nezd meg akkor a 887-est, az ugyanakkora, sot tobb IO-ja van, 8MHz-es belso oraja es kepes sajat program memoriat firkalni tehat bootloader kepes, es csak $1.69...

Ezert irtam, hogy kristaly meg mindenfele extra helyett inkabb cseret javasolnek
(#) trudnai válasza Thowra hozzászólására (») Máj 14, 2008 /
 
Szia Thowra,

Az a minimum, hogy ha mar nem ismered fel az alkatreszeket, akkor legalabb egy olyan fenykepet mellekelsz, amin az alkatreszek felismerheto modon rajta vannak es udvariasan megkerded mi a fene lehet az a 103 feliratu valami? A masik, hogy pl egy doksi nem artana, ha mas nem owners manual, de lehet a googliba beirkalod annak a riasztonak a tipusat elobb utobb rakaadsz valami infora - es termeszetesen ezt az infot is mellekeled mert nem szeretjuk ha masok helyett kell a googliban kotorasznunk...

Bocsanat ha kemeny volt egy kicsit, csak gondold at mikor kerdezel valamit mi az amit abbol ki lehet bogaraszni. Pl hogy nezne ki ha ilyet kerdezenek: Van nekem egy hordozhato DVD lejatszom, nem mukodik, van rajta egy LCD mege egy fura narancssarga csatlakozoja, hogyan hajtsam meg PIC-kel? Erre a kerdesre szerinted hanyan tudnak a valaszt?
(#) pet hozzászólása Máj 14, 2008 /
 
Sziasztok!

Ez egy egyLED-es villogó akar lenni.
Mi a hiba a programba?


villogo.asm
    
(#) kobold válasza pet hozzászólására (») Máj 14, 2008 /
 
Mi ez a sok begin-end benne? Lehet, hogy csak én vagyok hülye, de ilyet még nem láttam asm kódban...
(#) trudnai válasza pet hozzászólására (») Máj 14, 2008 /
 
Eloszor is a BEGIN..END -eket szedd mar ki onnan, az MPASM nem ismer ilyesmit, END kell a program legeslegvegere, de nem cimkekent (ne a sor legelejere tedd, hanem mint egy utasitast...)
(#) trudnai válasza kobold hozzászólására (») Máj 14, 2008 /
 
Nem vagy hulye cimkekent eszi meg a fordito. A legelso END utan mar tok mindegy miket irkalt, azokat figyelmen kivul hagyja a fordito, ezert nem panaszkodott neki valoszinuleg hogy a BEGIN cimke ujra lett definialva...
(#) kobold válasza trudnai hozzászólására (») Máj 14, 2008 /
 
Azt tudom, hogy az első END a program vége a fordítónak, csak mondom nehogy valami új környezet legyen, amit még nem láttam...
Mindenesetre (függetlenül attól, hogy elvileg nem lesz interrupt-ja, és a mostani problémához nincs köze) egy ISR-t annyival lerendezni, hogy RETFIE, elég nagy fejtörést okozhat a jövőben.
(#) Thowra válasza trudnai hozzászólására (») Máj 15, 2008 /
 
Üdv!
A kis smd ről nem tudtam képet csinálni mert a fényképezőm kölcsönbe van. Írtam, hogy szerintem smd kondi (fekete, 103 felirattal, ellenállása nincs).
A google nem volt a barátom
Ha sikerül a távirányítót illeszteni egy progival (ha megnyomom akkor egy változó 0 ról 1 re vált) akkor nem kell a gyári progi, írok bele egyet, legalább ismerkedek a pic el
Az viszont tényleg az én hibám, hogy elnéztem a lábat, nem a 15 ös re hanem a 6. ra megy a jel. Oszcillátor nincs rajta, gondolom belsővel ment.
A probléma a vevő illesztése, van erre ötleted ?
(#) menyus válasza Thowra hozzászólására (») Máj 15, 2008 /
 
103(R) = 10Kohm
103(C)= 10 nF
(#) trudnai válasza Thowra hozzászólására (») Máj 15, 2008 /
 
Szia Thowra,

Kondik barnak szoktak lenni felirat nelkul (sajnos), a feketek pedig ellenallasok. Erteket menyus mar megirta...

Ha jol ertem a taviranyito vevo modulja kuld valami jelet mikor a gombot megnyomod? Oscilloscope-al azert nezd meg mi az a jel, lehet csak egy szignal, amivel pl a pic-ed felebredhet alvo allapotbol es valamit csinalhat. Pl masik labon a kozponti zarat kinyithatja. Ez pedig lehet megint egyszeru jel, de vannak autok amibel CAN busszal dolgoznak, ha az olyan akkor egyenlore nem javasolnam, hogy bele melyedj.

Mit szeretnel amugy csinalni ebbol?
(#) sszasza hozzászólása Máj 15, 2008 /
 
MPLABC18as kérdések:
- mi a szabályos módja ha egy integer felső bájtjába akarok irni? (az alsó bájthoz ne nyúljon)
- User Guide 23.oldalon irja hogy ha két bájtot szorzok, az eredmény nem int lesz hanem 1 bájt. Elég illogikus de legyen, mert állitólag az -Oi- kapcsolóval be lehet állitani normálisra , 16 bites eredményre. Csak épp nem működik
Továbbmegyek: int * int is int, sajnos. Ha 32bites eredményt akarok, 32*32es szorzás kell. Sok idő.
Tudtok megoldást?
(#) trudnai válasza sszasza hozzászólására (») Máj 15, 2008 /
 
Szia sszasza,

Probaltad mar castolni? Igy elso kiserletre ezt az eredmenyt kaptam:

  1. unsigned char a, b, c;
  2.         unsigned int  ci;
  3.  
  4. 68:                     ci = (unsigned int)a + (unsigned int)b;
  5.   1508    0E06     MOVLW 0x6
  6.   150A    CFDB     MOVFF 0xfdb, 0x16
  7.   150C    F016     NOP
  8.   150E    0E07     MOVLW 0x7
  9.   1510    50DB     MOVF 0xfdb, W, ACCESS
  10.   1512    2416     ADDWF 0x16, W, ACCESS
  11.   1514    6E14     MOVWF 0x14, ACCESS
  12.   1516    6A15     CLRF 0x15, ACCESS
  13.   1518    0E00     MOVLW 0
  14.   151A    2215     ADDWFC 0x15, F, ACCESS
  15.   151C    0E0D     MOVLW 0xd
  16.   151E    C014     MOVFF 0x14, 0xfdb
  17.   1520    FFDB     NOP
  18.   1522    0E0E     MOVLW 0xe
  19.   1524    C015     MOVFF 0x15, 0xfdb
  20.   1526    FFDB     NOP


Jol mukodik, de nem tudom, hogy a kodmeret kielegito-e?
(#) sszasza válasza trudnai hozzászólására (») Máj 15, 2008 /
 
Ember, szorzás! Egyébként kösz a tippet, kipróbáltam, de sajnos a szokásos: 16x16os szorzás lesz, 4 mullal és 4 addal, plusz adattologatás. Vicc.

Felső bájtba irásra vmi tipp?
Következő: »»   208 / 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