Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   452 / 1319
(#) potyo válasza bladika hozzászólására (») Ápr 9, 2009 /
 
Elárulod melyik fordító? (van egy tippem...)
(#) bladika válasza potyo hozzászólására (») Ápr 9, 2009 /
 
Ááááá! Nem árulhatom el! Az túlságosan könnyű labda lenne neked!


Már pár napja megmondtad, hogy ne használjam ezt a fordítót inkább a gyárit!

Már akkor is mondtam, hogy azért ezt használom, mert ennek nagyon csípem a helpjét, de a gyárinak milyen helpje van? Le lehet a gyári fordítót szedni a honlapjukról? Fizetős az is? De ha ezt a projektet befejeztem akkor tuti átállok arra!

Egyébként amikor a BOSCHnál voltam állásinterjún ők azt mondták, hogy az egy marha jó fordító! Gondolom nem ő tépi a haját ilyenek miatt, hanem a beosztottja!
(#) kiskacsa2009 válasza MPi-c hozzászólására (») Ápr 9, 2009 /
 
Hát, igazából nem tudom miért, de valahogy nem lelődött meg azon 214 oldalon
(#) MPi-c válasza kiskacsa2009 hozzászólására (») Ápr 9, 2009 /
 
16F877 adatlapom nincs, a 16f877A-ban (DS39582B) "SPECIAL FEATURES OF THE CPU" fejezet (a többi PIC-nél is itt szoott lenni) 144 oldal.
A ccs "Reference Manual" pedig leírja a #fuses használatát.
(#) kiskacsa2009 válasza MPi-c hozzászólására (») Ápr 9, 2009 /
 
Oh!
Köszi szépen!
(#) MPi-c válasza bladika hozzászólására (») Ápr 9, 2009 /
 
Esetleg megmutatnád azt is hogyan nem ment?
(#) watt válasza bladika hozzászólására (») Ápr 9, 2009 /
 
Én a gyári mcc18 fordítóban is sokszor a regisztereket állítom asm módi szerint, mert nem látom át az OPEN és egyéb csoda funkciókat. Azért már szokom, csak kérdés minek, ha ilyenek vannak, mint az esetedben. Tudom az nem gyári, de én a gyáritól sem vagyok elájulva!
(#) bladika válasza MPi-c hozzászólására (») Ápr 9, 2009 /
 
Persze! Ha nem baj nem az egész programot csak az inicializáló részt és kivágtam néhány dolgot:

  1. void self_init()
  2. {
  3.  
  4. ANSEL=0;     //Ez nem volt eredetileg és ez oldotta meg
  5. ANSELH=0;   //Ez nem volt eredetileg és ez oldotta meg
  6.  
  7. bit_clear(UCON,3);
  8.  
  9. setup_oscillator( OSC_8MHZ);
  10. setup_adc (ADC_OFF);
  11. setup_adc_ports(NO_ANALOGS);
  12.  
  13. SETUP_CCP1(CCP_OFF);
  14. setup_comparator(NC_NC_NC);
  15.  
  16.  
  17. set_tris_a (0b00001000);
  18. set_tris_b (0b01110000);
  19. set_tris_c (0b00000111);
  20.  
  21. port_a_pullups(0b00001000);
  22. port_b_pullups(0b00100000);
  23.  
  24.  
  25.  
  26. setup_ccp2(CCP_OFF);
  27.  
  28.  
  29. setup_timer_1(T1_INTERNAL|T1_DIV_BY_2);
  30. //setup_timer_2(T2_DIV_BY_16,255,16);
  31.  
  32.  
  33. ext_int_edge( 0, L_TO_H);
  34. ext_int_edge( 1, L_TO_H);
  35. ext_int_edge( 2, L_TO_H);
  36.  
  37. enable_interrupts(INT_EXT);
  38. enable_interrupts(INT_EXT1);
  39. enable_interrupts(INT_EXT2);
  40.  
  41. enable_interrupts(INT_TIMER1);
  42. //enable_interrupts(INT_TIMER2);
  43. enable_interrupts(GLOBAL);
  44. return;
  45. }
(#) bladika válasza watt hozzászólására (») Ápr 9, 2009 /
 
Azért azt ne zárjuk ki, hogy én követtem el hibát és a fordító meg jó csak használni kéne tudni!
(#) MPi-c válasza bladika hozzászólására (») Ápr 9, 2009 /
 
Kösz!. Igen, csak az elejére voltam kiváncsi.
Szerintem inkább az lehet, hogy a fordító nem tudja kezelni. A setup_adc és a setup_adc_ports csak az adcon regiszterekkel operál. Valóban úgy átláthatóbb és egyszerűbb, ahogy watt is írta, csak tudni kell melyik regisztereket kell állítani.
(#) potyo válasza bladika hozzászólására (») Ápr 9, 2009 /
 
Idézet:
„Egyébként amikor a BOSCHnál voltam állásinterjún ők azt mondták, hogy az egy marha jó fordító

Gondolom nem ő tépi a haját ilyenek miatt, hanem a beosztottja!”


Valószínűleg az ürge ledvillogtatástól komolyabb dolgot még nem csinált vele, ha azt is csinált egyáltalán. Nem véletlen, hogy a Microchip is a Hi-Tech-et vette meg, nem a CCS-t...
(#) dpeti hozzászólása Ápr 10, 2009 /
 
Sziasztok,
hülye kérdés, de hátha:

nem sikerül az égnek sem átirányítani a 2 USART-ot tartalmazó 18F PIC printf-jét az USART2-re...
(mcc18 fordító)


az usart.h -t használom

open1usart OK
ha open2usart-ot hívom meg, akkor is az 1-esre akarná írni (ez végülis még logikus is, mert honnan kellene tudnia szerencsétlen printfnek azt hogy mit használok)

nade:

hol a retekben lehetne szerintetek megmondani neki, hogy a másodikat használja és ne az elsőt?

Köszi szépen előre is!
(#) dpeti válasza dpeti hozzászólására (») Ápr 10, 2009 /
 
update:

stdout = _H_USER; beírva

A megírandó _user_putc-t így írtam meg:

  1. int _user_putc(char c)
  2. {
  3.   /* This function is responsible for sending one character out to your USART2
  4.         (or whatever output    device you might have, such as LCD, so that you can use printf()  */
  5.        
  6.         Write2USART( c );
  7.  
  8.         return (c);
  9. }


A gubanc annyi, hogy nem minden karaktert küld ki...
(#) dpeti válasza dpeti hozzászólására (») Ápr 10, 2009 /
 
Na jó...
a probléma megoldotta magát

while (BusyUSART());

ez még kell a küldés elé...

Kellemes húsvétot mindenkinek!
(#) watt válasza dpeti hozzászólására (») Ápr 10, 2009 /
 
És utána sem árt, ha mondjuk vezérelt meghajtókat használunk(RS485 vagy elosztott RS232). De ezt csak úgy mellékesen.
(#) dpeti válasza watt hozzászólására (») Ápr 10, 2009 /
 
abba nekem nincsen beleszólásom
(#) slogan hozzászólása Ápr 10, 2009 /
 
Sziasztok !

Van valami program ,ami "átkonvertálja" a "C" -ben írt programot ASM -re ?

Köszi
(#) trudnai válasza slogan hozzászólására (») Ápr 10, 2009 /
 
Idézet:
„Van valami program ,ami "átkonvertálja" a "C" -ben írt programot ASM -re ?”


Igen van, C forditokent szoktak emlegetni a szakirodalomban
(#) slogan válasza trudnai hozzászólására (») Ápr 10, 2009 /
 
Köszi
(#) szigetivan válasza icserny hozzászólására (») Ápr 10, 2009 /
 
Sziasztok!

Idézet:
„MPLAB szimulátorában kipróbáltad már”

Igen kipróbáltam és működik, akit érdekel csatoltam.

Idézet:
„Egyidőben kell kommunikálni, vagy jó felváltva is?”


A működése úgy kellene, hogy legyen, hogy soroson küldi az adatokat (parancsok) és veszi a visszaérkező válaszokat, amiket lementi a RAM-jába, és ezt emulálton kiküldi mondjuk a HyperTerminálnak, hogy láthassam mit kaptam válaszként..

Sajna az emulálás sorosra C-ben lenne jó nekem.. Nem tudtok valamilyen használható helyet ahol ezt megnézhetem, mert eddig nem nagyon találtam ilyet?

Köszi

rs232.asm
    
(#) szigetivan hozzászólása Ápr 10, 2009 /
 
Sziasztok!

Lenne egy másik kérdésem is, amit még nem sikerült megoldanom, bár nem nehéz..
Hogy lehetne azt megoldani sima soros kommunikációval, hogy a HyperTerminálon begépelt karaktereket a PIC RX-én feldolgozzam?
Eddig sajnos nem sikerült és kifagy tőle a terminál..

köszi

receive.c
    
(#) Gabesz_01 hozzászólása Ápr 10, 2009 /
 
Sziasztok!
Alapvetően nem régen foglalkozok PIC programozással és bajban vagyok, a segítségeteket szeretném kérni: tegnap sikerült egy PIC18F4321-el beéleszteni egy alfanumerikus LCD-t és egy TCN75-ös hőmérő szenzort...Most jön a probléma:ma mindenféle változtatás nélkül kezdeném folytatni a munkát és nem akar menni...először nem tudtam rendesen programozni(PICKIT2-használok) majd pedig
össze vissza ugrálnak az RA-n lévő ledek ha hozzáérek a tokhoz...(RB3) most meg már programozni sem tudok mert az mplab ezt a hibaüzit dobja ki:
Programming Target (2009.04.10. 21:13:08)
PKWarn0003: Unexpected device ID: Please verify that a PIC18F4321 is correctly installed in the application. (Expected ID = 0x2100, ID Read = 0x0)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x10 - 0x57)
Verifying Program Memory (0x0 - 0x7)
PK2Error0027: Failed verify (Address = 0x0 - Expected Value 0xEF08 - Value Read 0x0)
PICkit 2 Ready
Remélem valaki tud segíteni
Köszi:Gábor
(#) trudnai válasza Gabesz_01 hozzászólására (») Ápr 10, 2009 /
 
Szia Gabor,

Kicsit tobbet kellene tudni az aramkorodrol. Aramkorbe ultetve szeretned programozni? Ha igen a PGD/PGC labakat hasznalos-e masra is, mikent oldottad meg a levalasztast? Hogy van az MCLR bekotve? Kulso tapot hasznalsz programozaskor vagy a PICkit2 szolgaltatja a Vdd-t? Mekkora a Vpp es a Vdd? Van-e a Vdd es a Vss kozott decoupler kondenzator? Aramfelvetele mekkora az aramkorodnek? Milyen kabellel van ossze kotve a PICkit2 es a chip? Milyen hosszu az a kabel?

(lehet egyszerubb lenne a kapcs. rajz is, no meg a konfiguracios bitek...)
(#) Gabesz_01 hozzászólása Ápr 10, 2009 /
 
Szia! felrakom a kapcsolási rajzot de egyenlőre amíg programozom(nám) a PIC-et addig csak próbapanelen van összerakva a dolog a próbapanelen is használom másra a PGD/PGC lábakat:az RA porton vannak a kijelző adatvonalai de amikor feltöltöm a programot mindég leveszem.Az MCLR adatlap szerint az 1-es lábon felhúzóellenállással (3,5K) a pozitív tápfeszre amit a PICKIT2 ad. A kábelezést a próbapanelen bontott UTP kábellel csináltam, figyeltem hogy a legrövidebbek legyenek a programozó vezetékek. A kondi nincs bent eddig szépen ment nélküle is... egyébként az ULN-ek helyén most LED-ek vannak. Vdd 4,89V Vpp pedig az 1es lábon mérve 4.71V

a konfigurációs bitek:int RC-Port on RA6,Port on RA7
WDT kikapcsolva
brown out engedélyezve
MCLR enegedélyezve
stack ovf enegedélyezve
low voltage programming enegedélyezve
remélem ezekből majd kiderül mi a baj...
Köszönöm a gyors segítséget! =)

PIC.pdf
    
(#) Gabesz_01 hozzászólása Ápr 10, 2009 /
 
Nem írtam oda, a konfig bitek közül minden más le van tiltva.
(#) trudnai válasza Gabesz_01 hozzászólására (») Ápr 10, 2009 /
 
A rajzodon nincs feltuntetve az MCLR felhuzasa amit szovegesen megemlitettel.
Amugy milyen rajzolo programot hasznalsz? Altalaban szoktak tudni, hogy a labszam mellett a funkcio is fel van tuntetve igy nem kell adatlapot bongeszni a rajz megertesehez

1. A brown out-ot le kellene tiltani, meg az LVP-t is - hacsak nincs a PGM lab egy kb 10k-s ellenallassal lehuzva foldre.

2. az a 100nF keramia kondi (decoupler) nem veletlen szokott ott lenni, anelkul nem garantalt, hogy a PIC mukodni fog. Ennek fizikailag minel kozelebb kell kerulnie a PIC-hez.

3. MCLR felhuzast sokkal gyengebbre kellene venni, 10-20k -val kellene megtenni.
(#) Gabesz_01 hozzászólása Ápr 10, 2009 /
 
Igen a rajzban még nem volt benne, egyébként eagle, és nem találtam sjana még 18F-es library-t amiben benne lenne a 4321... köszönöm a tanácsokat mindenképpen megcsinálom amit írtál remélem sikerül a dolog =) még jó hogy van itthon hozzá minden!
Köszi!
(#) Gabesz_01 hozzászólása Ápr 10, 2009 /
 
Kipróbáltam de nem nagyon akar menni nem ismeri fel a PIC-et mintha ott sem lenne...
Programming Target (2009.04.10. 23:29:59)
PKWarn0003: Unexpected device ID: Please verify that a PIC18F4321 is correctly installed in the application. (Expected ID = 0x2100, ID Read = 0x0)
Erasing Target
Programming Configuration Memory
Verifying Configuration Memory
PK2Error0027: Failed verify (Address = 0x300001 - Expected Value 0x8 - Value Read 0x0)
PICkit 2 Ready

Betettem egy másik PIC-et is ugyan ezt a típust de azzal sem tud mit kezdeni. Lehet hogy a PICKIT rosszalkodna? Elképzelni nem tudom hogy tegnap óta mi üthetett belé...
(#) trudnai válasza Gabesz_01 hozzászólására (») Ápr 11, 2009 /
 
Ez amugy fekete gombos PICkit2? Ha igen probaldd mar ki, hogy a PDG es PGC vonalakat lehuzod egy-egy 4k7-tel a foldre.
(#) bladika válasza Gabesz_01 hozzászólására (») Ápr 11, 2009 /
 
Szia!

Amikor én kezdtem a PICet akkor nekem is ilyen godom volt és én két hibába futottam bele:

100nF közvetlen a VDD VSS lábakra
MCLR -t egy 1k-10k ellenállással a VDD-re húzni!
Következő: »»   452 / 1319
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