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   66 / 118
(#) MPi-c válasza szuperman hozzászólására (») Okt 26, 2011 /
 
Mitől értelemszerű, hogy nem kell hozzá kristály(vagy valami más)? Kéretik a "Kód" gombot használni!"
(#) vicsys válasza szuperman hozzászólására (») Okt 26, 2011 /
 
Honnan tudja a fordító, hogy belső órajelet használsz? Mit include-olsz? Szerintem egy csomó fuse hiányzik. Ha nem használod a kód gombot, elég olvashatatlan lesz a forrás...
(#) szuperman hozzászólása Okt 26, 2011 /
 
Azért nem kell MCLR ,mert:
#fuses NOMCLR
kristály ezért:
setup:osscillator(...)

Nem tom mi nem érthető ezen.

  1. #include <16f627a.h>
  2. #use delay (clock=4000000)
  3. #Fuses NOMCLR
  4. #INCLUDE
  5.  
  6. main(){
  7. setup_oscillator( OSC_4MHZ );
  8.  
  9. while(true){
  10. output_toggle(PIN_B4);
  11. delay_ms(1000);
  12. }
  13.  
  14. }
(#) MPi-c válasza szuperman hozzászólására (») Okt 26, 2011 /
 
Én sem tudom mi nem érthető ezen, hogy használd a "Kód" gombot! és használd a "Válasz"-t is!
(#) vicsys válasza szuperman hozzászólására (») Okt 26, 2011 /
 
Ismétlem: Honnan tudja, hogy belső és nem külső?
(#) vilmosd válasza szuperman hozzászólására (») Okt 26, 2011 /
 
A #Fuses sorban azert meg kellene adni meg az oszci tipusat is legalabb. Az #INCLUDE ertelmetlen, mert nincs megadva a file.
(#) szuperman válasza vilmosd hozzászólására (») Okt 26, 2011 /
 
Include mögött van fájl , csak eltünik a csörök miatt.

Valaki leírná akkor helyesen?
Hogy kéne megadni az osc tipusát?

Ott van ,hogy setup_osc ,az nem elég?
(#) szuperman hozzászólása Okt 26, 2011 /
 
Szimulátorba tökéletesen működik. Valaki segítsen! Lécci
(#) szuperman hozzászólása Okt 26, 2011 /
 
Mi a fene van ma? Mért nem segít ma senki?
(#) vilmosd válasza szuperman hozzászólására (») Okt 26, 2011 /
 
A config az elso amiben meg kell adni az oszcillator tipusat. A setup_osc nem is kell a 16F627-nel mert alapbol 4 MHz az indulo freki belso oszci hasznalata eseten. Az oszci tipusat a PIC include file tartalmazza. Nem egyseges minden PIC-hez. A jelen esetben INTRC_IO a helyes valasztas. Nagyon fontos a #Fuses beallitasa, mert a beegeteskor ezt fogja beegetni a Config-ba.
(#) szuperman hozzászólása Okt 26, 2011 /
 
Nagyon szépen köszönöm! Működik.

Viszont nem teljesen értem, ez mit is csinál?
INTRC_IO
(#) Moderátor hozzászólása szuperman hozzászólására (») Okt 26, 2011
 
Nyugalom, a hosszú élet ritka!
Más nyelven: Fórumszabályzat VIII. pontja.
(#) vilmosd válasza szuperman hozzászólására (») Okt 26, 2011 /
 
A CCS help elmondhatna a valaszt a kerdesedre, de a PIC mukodesehez elengedhetetlen a Config beallitasa (PIC adatlap megfelelo fejezete). Ez pedig fordito fuggetlen. Indulaskor (mindegy hogy ASM, C vagy mas fordito), meg kell adni az alap mukodesi felteteleket, amit majd egeteskor az egeto be fog egetni a PIC Config regiszterbe. Onnan fogja tudni a PIC hogy milyen kornyezetben kell dolgoznia, es ehhez fogja beallitani egyes indulo parametereit.
(#) mazso1988 hozzászólása Okt 27, 2011 /
 
Sziasztok
Szeretném megkérdezni hogy ccs compillerben lehet szimulátorban futtatni a megírt forráskódot?
(#) vilmosd válasza mazso1988 hozzászólására (») Okt 27, 2011 /
 
Igen. Az MPLAB alatt.
(#) MPi-c válasza mazso1988 hozzászólására (») Okt 27, 2011 /
 
MPLAB 8 szimulátorában, vagy az MPLAB 8-ba beépülő (vagy különálló) Proteusban is tudod futtatni, úgy hogy a nyomkövetést a forrásban végezheted.
A ccs saját fejlesztő környezetét annyira nem ismerem, ha van benne szimulátor, akkor ez nem lehet kérdés...
(#) mazso1988 válasza vilmosd hozzászólására (») Okt 27, 2011 /
 
Én valamiért nem tudok egyáltalán megnyitni c. forrást mplabban.
(#) vilmosd válasza mazso1988 hozzászólására (») Okt 27, 2011 /
 
A "Project" ful alatt meg kellene adni milyen forditot akarsz hasznalni. A CCS C eleresi utvonalat kellene megadni, ha azt akarod hasznalni. Persze elotte telepiteni kell a CCS C-t, majd a CCS oldalarol le kell tolteni egy kis programocskat, ami MPLAB IDE Plug-in nevre hallgat, es telepiteni. Utana a MPLAB hasznalhato mint teljes koru fejleszto kornyezet. A CCS IDE szinten tartalmaz egy szimulatort, de az MPSIM jobb.
(#) mazso1988 válasza vilmosd hozzászólására (») Okt 27, 2011 /
 
Megpróbáltam így is de valamiért cannot open file-t ír nekem még mindig folyamatosan.

project wizardnál kiválasztottam a Pic típusát utána megadtam fordítónak a ccs compiller exe-t utána beadtam neki a fileokat amiket használni akarok utána finish , és akkor irja hogy cannot open file.
(#) vilmosd válasza mazso1988 hozzászólására (») Okt 27, 2011 /
 
Gondolom nincs tele ekezetes karakterekkel a file nev.
(#) mazso1988 válasza vilmosd hozzászólására (») Okt 27, 2011 /
 
main.c lcd.c ezek vannak hozzá csatolva
(#) vilmosd válasza mazso1988 hozzászólására (») Okt 27, 2011 /
 
Esetleg csatolnad ide ezeket?
(#) vilmosd válasza mazso1988 hozzászólására (») Okt 27, 2011 /
 
Az eleresi utvonalnak ha lehet nagyon rovidnek kellene lennie. Max 64 karakter. En kulon alkonyvtarat szoktam csinalni a C:\ gyokerben (vagy D es onnan szoktam hasznalni.
(#) mazso1988 válasza vilmosd hozzászólására (») Okt 27, 2011 /
 
ezzel az "üres" kóddal próbálkoztam sikertelenül.

main.h
    
(#) mazso1988 válasza mazso1988 hozzászólására (») Okt 27, 2011 /
 
bocsi ez most a header file-t sikerült csatolnom de a main.c-t sem nyitja.
(#) vilmosd válasza mazso1988 hozzászólására (») Okt 27, 2011 /
 
Arra gondoltam, hogy csatolsz minden filet, es en megprobalom megcsinalni a projektet.
(#) jani87 hozzászólása Nov 5, 2011 /
 
Sziasztok!

Problémám lenne a DMX adó kommunikációjával. Van egy POWERdrive 90D tápegységem, amire most csak 1 LED van kötve, és annak a fényerősségét szeretném szabályozni egy PIC-kel és DMX512 protokollal. Egy potival lehet szabályozni és az a problémám, hogy a fényerősség nem változik real-timeban (az LCD-n változik), hanem vagy csak úgy működik, hogy potival beállítom az értéket, a PIC reset gombját kb 10 s ideig nyomva tartom és elengedem; vagy a potit tekerem és a tápon újra beállítom a DMX paramétereit. Ebben a két esetben változik a a LED fényerőssége, de azt szeretném, hogy csak és kizárólag a poti tekergetésével is működjön, bármi mást békén hagyva. Mi lehet a hiba a kódban? Köszi!

  1. #include <18f4620.h>
  2. #device ADC=8
  3. #fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
  4. #use delay(clock=20000000)
  5.  
  6. #use rs232(baud=250000,rcv=PIN_C7,xmit=PIN_C6)
  7.  
  8. #byte BAUDCON = 0xFB8
  9. #byte TXSTA = 0xFAC
  10. #bit TXEN = TXSTA.5
  11. #bit TX9D = TXSTA.0
  12.  
  13. #byte RCSTA = 0xFAB
  14. #byte SPBRG = 0xFAF
  15. #byte SPBRGH = 0xFB0
  16.  
  17. #byte PIR1 = 0xF9E
  18. #bit TXIF = PIR1.4
  19.  
  20. #byte TXREG = 0xFAD
  21.  
  22. #define TX_pin_c6
  23.  
  24. #include <flex_lcd.c>
  25.  
  26.  
  27. void init (){
  28.  
  29. BAUDCON = 0b00000000;  
  30. TXSTA = 0b01000101;//9 bit, high speed baud rate, tx9d = 1  
  31. RCSTA = 0b10000000;//serial port enable
  32.     SPBRG = 4;     // n = 20,000,000/[(250,000)(16)] -1,
  33.                      // n = 4                                          
  34.     SPBRGH = 0;    
  35.  
  36. lcd_init();
  37.  
  38. setup_adc_ports(AN0);
  39.    setup_adc(ADC_CLOCK_INTERNAL);
  40.    set_adc_channel(0);
  41. }
  42.  
  43. void tx_data(){
  44.  
  45. unsigned int data;
  46.  
  47. data = read_adc();
  48. delay_ms(50);
  49. printf(lcd_putc,"\f%03u",data);
  50.  
  51. output_high(TX_);//mark before break
  52. delay_us(10);
  53.  
  54. output_low(TX_);//break, min 88 us
  55. delay_us(100);
  56.  
  57. output_high(TX_);//mark after break, min 8 us
  58. delay_us(10);
  59.  
  60. TXEN = 1;
  61. TX9D = 1;
  62. TXREG = 0x00;//start code
  63. while( TXIF == 0 ){}//wait for txreg to empty
  64. TXEN = 0;
  65.  
  66. output_high(TX_);//mark time between slots
  67. delay_us(10);
  68.  
  69. TXEN = 1;
  70. TX9D = 1;
  71. TXREG = data;//channel 1 data byte
  72. while( TXIF == 0 ){}//wait for txreg to empty
  73. TXEN = 0;
  74. }
  75.  
  76. void main(){
  77.  
  78. init();
  79.  
  80. for(;;){
  81.  
  82. tx_data();
  83. }
  84. }
(#) dkorneel hozzászólása Nov 9, 2011 /
 
sziasztok,

Ket microcontroller kozt szeretnek csinalni I2C kommunikaciot.
Ez a kovetkezo keppen nezne ki:
4 bajtot kuld a master: cim, utasitas,parameter, masodik es harmadik byte crc checksum(CRC-7) erteke.
A Slave microcontorller a 3. bajt erkezese utan elkezdi kiszamitani a CRC-t, a 4. bajt erkezese utan, ha keszen van a szamitassal, megnezi, hogy az egyezik-e. Majd ennek fuggvenyeben betolti a TX bufferbe a response erteket(es termeszetesen elvegzi az utasitast). Eddig mukodik is az egesz program.
Viszont ezutan a master kuld egy stop bitet, majd egy start bitet,7 bites cimet read bittel. Erre visszajon az ack, viszont ezutan az elso i2c_read eredmenye 0d66, a masodik adja vissza a TX buffer erteket, meg ennek okat nem talalom, megprobaltam konstans erteket visszaadni minden read-re, de mindig a cim utan az elso ertek 0d66. Ezzel meg meg is lennek, mert szoftverbol megoldhato, viszont ha ujra utasitast akarok kuldeni, akkor a cimre megerkezik az ack, viszont az command-ra mar nem. csatolom a kodot, hatha valaki meglatja benne mi a problema vele. Az eszkozok ket 16f1828. Koszonom a segitseget.
(#) messer hozzászólása Dec 5, 2011 /
 
Sziasztok!
16F526 mplab alatt ccsc plugin-nal a következő hiba üzenetet dobja fel fordítás után
Idézet:
„*** Error 71 "fenymero_battery_charge.c" Line 240(0,1): Out of ROM, A segment or the program is too large MAIN
Seg 00000-001FF, 011A left, need 01E2
Seg 00200-003FF, 0200 left, need 0207
Seg 00000-001FF, 011A left, need 0207


mit jelenthet ez pontosan?
Hogyan tudnám megszüntetni a problémát?
Segítségeteket válaszotokat előre is köszönöm.
(#) icserny válasza messer hozzászólására (») Dec 6, 2011 /
 
Idézet:
„mit jelenthet ez pontosan?”

A program túl nagy, nem fér be a ROM memóriába. Tetézi a bajt az is, hogy a korlátozott címzés miatt a memória lapokra van tagolva (szegmentálva), így szétaprózódik a hely.
Idézet:
„Hogyan tudnám megszüntetni a problémát?”
Kisebb/tömörebb programot írsz, vagy nagyobb mikrovezérlőt használsz (pl. PIC18).
Következő: »»   66 / 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