Fórum témák

» Több friss téma
Fórum » CCS PIC Compiler
 
Témaindító: (Felhasználó 1542), idő: Ápr 3, 2006
Lapozás: OK   69 / 118
(#) kurucz_peter válasza vicsys hozzászólására (») Feb 21, 2012 /
 
még egy infó:
az LCD.c driver alapból csak a B és D portokat tudja használni. Én kiterjesztettem a C portra is. PIC16-al jól megy.
De mint írtam a PIC18-al nem müxik. Viszont úgy láttam nincsen releváns különbség a PORTC esetében a két típusnál.

@vicsys: elkötés nem lehet, mivel ugyanabba a nyákba megy a 18-as mint a 16-os.
A fuse lehet, de nem tudom mit kellene beállítani neki...

P
(#) MPi-c válasza kurucz_peter hozzászólására (») Feb 21, 2012 /
 
Idézet:
„úgy láttam nincsen releváns különbség a PORTC esetében a két típusnál.”

Kivéve, hogy a 18f2455nél nincs RC3.

Idézet:
„A fuse lehet, de nem tudom mit kellene beállítani neki...”

Ezek közül valamelyiket nézted már?
1. Adatlap;
2. MPLAB Help > Topics... > PIC18 Config Settings;
3. PIC header fájl PICC/Devices... mappa;
(#) icserny válasza kurucz_peter hozzászólására (») Feb 21, 2012 /
 
Idézet:
„Én kiterjesztettem a C portra is. PIC16-al jól megy. De mint írtam a PIC18-al nem müxik.”
Mármint a PIC18F2455-tel a C porton? Hogyan is működne? RC3 bit nincs, RC4 és RC5 pedig csak digitális bemenet lehet (nincs hozzájuk rendelt TRIS bit), de ehhez az USB modult le kell tiltani (UCON<3> = 0) és a mikrovezérlőben levő USB transceivert is le kell tiltani (UCFG<3> = 1).
(#) kurucz_peter válasza icserny hozzászólására (») Feb 22, 2012 /
 
Helló!

Ott a pont, elnézést az amatőr hibáért! Nem gondoltam volna, hogy ekkora a különbség a portok tekintetében.
Az RC4 és RC5 a hunyó.
(Az pin3-at nem használja a LCD.c driver egyik porton sem).

Köszi még egyszer a segítséget!

Üdv:
P
(#) nagy_david1 hozzászólása Feb 24, 2012 /
 
Üdv!

Megint én lennék egy amatőr kérdéssel.
  1. (get_timer0() & 1<<2)

Ez az "& 1<<2" nem világos. A program többi feléből következtetek, hogy két érték között billeg az órajel függvényében de nem értem, hogy hogyan. Szinte nevetséges de ezt az alig 6 karaktert tartalmazó sort kifejtenétek légyszíves? Előre is köszi.
(#) Umberto válasza nagy_david1 hozzászólására (») Márc 13, 2012 /
 
Szia,

Ez a sor timer0 2. bitjét vizsgálja.
A get_timer0() visszaadja a timer0 aktuális értékét.
Az & 1<<2 pedig a timer0 aktuális értékéből kimaszkolja a 2. bitet.
Az 1<<2 az tulajdonképpen 0b00000100 értéknek felel meg. Tehát így is írhatnánk a sort:

  1. (get_timer0 & 0b00000100)


Vagyis ennek a sornak logikai kimenete 1, ha timer0 2 bitje 1. Minden más esetben 0.
(#) Umberto hozzászólása Márc 13, 2012 /
 
Sziasztok!

Próbálta már valaki MpLabX alatt használni a CCS fordítót?
Működik vele?
Érdemes átállni?

Köszi előre is!
(#) nagy_david1 válasza Umberto hozzászólására (») Márc 13, 2012 /
 
Szia!

Nagyon szépen köszönöm a választ.
(#) whalaky válasza Umberto hozzászólására (») Márc 14, 2012 /
 
Nekem megy....
Hogy érdemes-e? Ezt ki-ki döntse el... attól függ miért.
(#) Buddha hozzászólása Márc 17, 2012 /
 
Sziasztok,

A következő problémának a megoldásában kérnék segítséget: egy PIC EEPROMjának bizonyos címeiről kellene a soros porton keresztül egy másik PIC EEPROMjába küldeni és menteni adatokat. Egyszer 1, máskor 2 byte-ot. Hogyan lehet megoldani, hogy a cél PIC tudja, hogy hová kell mentenie az éppen küldött adatot? Az EEPROM címet is el kell küldeni neki? honnét tudja az adó PIC, hogy a vevő hiánytalanul megkapta az információt? Kössz. Buddha
(#) kissi válasza Buddha hozzászólására (») Márc 17, 2012 /
 
Idézet:
„Az EEPROM címet is el kell küldeni neki?”
Ha nem programozod le előre, akkor mindenképpen ( pl. ha egy adat mindig a 0. címre kerül, 2 adat a 0 és 1 címekre, akkor ezt nem kell elküldeni ! ). Valószínűleg nem egy vagy két adatot akarsz összesen lementeni, akkor még valami más azonosítóra is szükséged lesz!
Ha biztos akarsz lenni az átvitelben, akkor visszajelzés kell és a mentés előtt is célszerű ellenőrizni az adatot ( nehogy hülyeséget tárolj le !) pl. CRC segítségével!

Steve
(#) whalaky hozzászólása Márc 24, 2012 /
 
Sziasztok!
MicroSD kártyát szerettem volna olvasni 18LF2550-el, de eddig akár mit csináltam vele inicializálási hiba jön belőle. A kártya jó, mert PC-vel tudom írni olvasni formázni mindent, a nyákot már vagy 10-szer végigmértem, már a neten fellelhető programok jó részét végigpróbáltam de a jelenség ugyanaz, mmc init error.
Ezt a kapcsolást próbálom megcsinálni kisebb átalakításokkal (ezt a részt nem érinti) de egyszerűen nem megy.
Tudna valaki küldeni egy működő hw SPI-s microsd kártyaolvasó programot? Esetleg kicsi lenne a 10K-s felhúzó ellenállás?
(#) messer hozzászólása Márc 26, 2012 /
 
Sziasztok! Szerintetek hol hibáztam a delay_ms(1000) az miért nem 1000ms-um?
  1. #include <12F1822.h>
  2. #device adc=8
  3.  
  4. #FUSES NOWDT                 //No Watch Dog Timer
  5. #FUSES INTRC_IO              //Internal RC Osc, no CLKOUT
  6. #FUSES NOCPD                 //No EE protection
  7. #FUSES PROTECT               //Code protected from reads
  8. #FUSES MCLR                  //Master Clear pin enabled
  9. #FUSES PUT                   //Power Up Timer
  10. #FUSES NOBROWNOUT            //No brownout reset
  11. #FUSES IESO                  //Internal External Switch Over mode enabled
  12. #FUSES FCMEN                 //Fail-safe clock monitor enabled
  13.  
  14. #use delay(clock=8000000)
  15.  
  16.  
  17.  
  18. #define LED PIN_A5  //CHANGE PIN_XX TO YOUR LED PIN NUMBER, EX: PIN_A5
  19.  
  20. void main()
  21. {
  22.  
  23.    
  24.    setup_timer_2(T2_DIV_BY_16,256,1);
  25.    setup_ccp1(CCP_PWM);
  26.    set_pwm1_duty(510);
  27.    setup_comparator(NC_NC_NC_NC);
  28.    setup_vref(FALSE);
  29.  
  30.     //Example blinking LED program
  31.     while(true){
  32.       output_low(LED);
  33.       delay_ms(1000);
  34.       output_high(LED);
  35.       delay_ms(1000);
  36.     }
  37.  
  38. }


Válaszotokat előre is köszönöm.
(#) vicsys válasza messer hozzászólására (») Márc 26, 2012 /
 
Az a gond, hogy 2mp-ként villanik a led? Az azért van, mert 1mp a világos és 1mp a sötét idő. Ha 1mp-kénti villanást szeretnél csökkentsd 500ms-ra, mindkét értéket.
(#) potyo válasza messer hozzászólására (») Márc 26, 2012 /
 
Mégis kb. mennyi, ha nem 1000?
(#) messer válasza potyo hozzászólására (») Márc 26, 2012 /
 
A delay_ms(1000) nálam mplab simulatorral 38uS nagyon nem értem... Tudom nem illik ezt a delay függvényt használni....
(#) messer válasza messer hozzászólására (») Márc 26, 2012 /
 
Biztos valamit nagyon bénázok..... feltegyem nektek az egész forrást, hogy ki tudjátok próbálni?
(#) messer válasza messer hozzászólására (») Márc 26, 2012 /
 
Próbáltam úgy, hogy a configuration biteket az mplab-ban állítom be, és érdekes módon az "oscillator selection bit mindig visszavált ECH módba pedig belső oscillatort szeretnék.
(#) messer válasza vicsys hozzászólására (») Márc 26, 2012 /
 
Feltettem a programot nézzétek meg, ha van időtök.

PROGI.ZIP
    
(#) vilmosd válasza messer hozzászólására (») Márc 26, 2012 /
 
Valoszinu a fordito a ludas. Atraktam 12F683-ra es rendesen adja a delay-t. Talan nezz szet a CCS foruman hatha van valami trukk.
(#) messer válasza vilmosd hozzászólására (») Márc 26, 2012 /
 
Ajjaj akkor tényleg át fogok most térni másik c fordítóra.
(#) vilmosd válasza vilmosd hozzászólására (») Márc 26, 2012 /
 
Talan frissiteni kene a forditot, vagy szetnezni a foruman. Lehet hogy van valami bug. Mondjuk regota hasznalom ezt a forditot, de meg nem talalkoztam semmi komolyabb problemaval. Majd ha raerek belenezek ujra.
(#) vilmosd válasza messer hozzászólására (») Márc 26, 2012 /
 
A 4.120 kivalo. A regebbi 4.114 hu:le.
(#) messer válasza vilmosd hozzászólására (») Márc 26, 2012 /
 
Tudsz nekem egy okos linket ahonnan le tudom ugrasztani a 4.120-ást?
(#) vilmosd válasza messer hozzászólására (») Márc 26, 2012 /
 
Haat... itt a forumon nehez, de a sonsi.... forumon nezz korul. Talan 4128 az utolso.
(#) MPi-c válasza messer hozzászólására (») Márc 26, 2012 /
 
Hát én kipróbáltam a kódodat PIC és más változtatás nélkül - csak a PIC headerét raktam idézőjelbe - és a késleltetés 1mp-et mutat (meg egy kicsivel többet).
Ahogy vilmosd írta 4.128 a legutóbbi azon a fórumon...
(#) vilmosd válasza MPi-c hozzászólására (») Márc 26, 2012 /
 
A regi es az uj header nem egyezik. A fiuk dolgoztak 2010 marciusa ota, es kiszedtek a bogarakat. a 120-as es a 128-asokon koppanas nelkul megy a MPSIM, es az idozites egzakt.
(#) messer válasza MPi-c hozzászólására (») Márc 26, 2012 /
 
Köszönöm nektek a segítséget.
(#) MPi-c válasza vilmosd hozzászólására (») Márc 26, 2012 /
 
Igen, fordításnál rögtön hibát is dobott a setup-comparator-ra. Kipróbáltam a még nálam fellelhető 4.120 előtti fordítóval, a messer által mellékelt headerrel is. Hát valóban katasztrófa a delay bugja.
(#) whalaky hozzászólása Ápr 1, 2012 /
 
Üdv mindenkinek!
Két napja küzdök egy sleep()-el, de egyszerűen nem megy.... nem áll meg a sleep-nél.
Akár mit csinálok, ez a dög nem akar elmenni csucsukálni. Mit csinálok rosszul? (18LF2550)

  1. #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
  2. ...
  3.    setup_wdt(WDT_OFF);
  4.    setup_timer_0(RTCC_INTERNAL);
  5.    setup_timer_1(T1_DISABLED);
  6.    setup_timer_2(T2_DISABLED,0,1);
  7.    #ifdef USE_SLEEP_MODE
  8.    enable_interrupts(INT_RB);
  9.    enable_interrupts(GLOBAL);
  10.    #endif
  11. ...
  12.       XRESET = 0;
  13.       delay_ms(50);
  14.  
  15.       Sleep();
  16.       Nop();
  17.       Nop();
  18.  
  19.       resetvs1011_hard();
  20.       delay_ms(50);
  21.       sinetest_on();
  22.       delay_ms(300);
  23.       sinetest_off();
Következő: »»   69 / 118
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