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   6 / 118
(#) potyo válasza gtk hozzászólására (») Júl 22, 2007 /
 
Ez nekem is furcsa... Mutatóval indexel tömböt, és a mutató értékének előtte beállítja a tömb nulladik elemének értékét. Ha működik is egy speciális esetben, akkor sem jó megoldás.
(#) sysy válasza gtk hozzászólására (») Júl 22, 2007 /
 
Igazad van qtk!

Elbambultam egy kicsit. Nem indexelni akartam a pointerrel.

Tehát, a CCS-ben lehet így csinálni (nem Ansi):

LCD_pointer=LCD_buff; a buffer első elemének a címe
Változó=*LCD_pointer; a buffer első elemének az ertéke

A buffrer deklarálásnál pedig pontosítanék (mentségemre), hogy nem carakterlácot hoztam létre, hanem csak egy 20 byte-os buffert. A 20 elemű karakterlánc valóban ez lenne:

char LCD_buff[21];

Mégegyszer bocs mindenkitől, akit félreinformáltam.

sysypet
(#) dpeti válasza sysy hozzászólására (») Júl 22, 2007 /
 
Idézet:
„Igazad van qtk! Elbambultam egy kicsit. Nem indexelni akartam a pointerrel. Tehát, a CCS-ben lehet így csinálni (nem Ansi): LCD_pointer=LCD_buff; a buffer első elemének a címe Változó=*LCD_pointer; a buffer első elemének az ertéke”


Ezt nem csak a CCS-ben lehet így, hanem bármely más C környezetben...

A mutatóknál úgy van, hogy "*valami" az értéke, "valami" a címe, ha nem pointerként deklaráltuk, akkor a címére &valami -vel hivatkozhatunk.
Ez a tömbös dolog úgy fest, hogy a [] kifejezést a feldolgozás során átírja a következő módon:
valami[20] -ből ez lesz, hogy *(valami+20)
és majd ezt értelmezi.
Amikor mátrixot deklarálsz, akkor van ott egy apró gubanc:
normális esetben létrehozhatod a tömbödet úgy, hogy
int valami[];
de ha mátrix kellene, akkor nem írhatod azt, hogy
int valami[][]; (mert mit is kell ilyenkor csinálni? *(valami+(méret1*x+y)) -re kell átírni), csak szerencsétlen fordító nem tudja kitalálni a méretet, és így előveszi a pengét és felvágja az ereit, hogy Ő bizony nem... Ezért azt kell csinálnod, hogy megadod az egyik méretet, pl: int valami[5][];
mutatókról dióhélyban ennyit... (ha valahol hülyeséget írtam volna, ne tartsátok magatokban, bár tudom, hogy ettől nem kell félnem :p )
tudom picit off volt a hozzászólás, de lehet hogy másoknak hasznos
(#) dpeti válasza dpeti hozzászólására (») Júl 22, 2007 /
 
annyit felejtettem ki a hozzászólás elejéből, hogy a típusoknak kell azonosnak lennie, amikor átadod az egyik címet a másik pointernek...
természetesen meg lehet erőszakolni ezt is a void típusú pointerrel, mert annak bármilyen címet át lehet adni, és utánna azt is átadhatod, de a belső adatszerkezetek nem fognak egyezni, így csak szélsőséges esetekben használható
(#) brejti válasza Prinner hozzászólására (») Júl 22, 2007 /
 
Örülök, hogy működik. Azt a hibát meg direkt tettem bele, kívácsi voltam hogy észreveszed-e
(#) gtk válasza dpeti hozzászólására (») Júl 23, 2007 /
 

Rengeteg ilyen fuggveny van hogy void* -al van deklaralva valamelyik parametere.
Nehany a man-bol: read, write, recv, send, stb..
Lehet ilyen fuggvenyeket nyugodtan hasznalni, csak ismert kell legyen az adat merete. Az AVR/LCD driver kodban is hasznaltam ilyet.
(#) dpeti válasza gtk hozzászólására (») Júl 23, 2007 /
 
Én is ezt mondtam...
ezek tipikusan nem olyan függvények amelyek nagyon meg tudnak hülyülni...
én gondoltam az előzőnél az összeadásra, kivonásra, stb...
ott ha más adatszerkezetekkel csinálod ezt, akkor marhaságokat fogsz visszakapni...
na persze itt sem string+int -re gondolok, hanem pl
float + int, vagy ehhez hasonlóra (pl: long int + int)...

a méret meg hozzátartozik az adatszerkezet fogalmhoz, annak az egyik részhalmaza...

nem azzal van a baj, hogy void*-ként van deklarálva, az senkit nem érdekel, akkor van gond, ha más fajta adatot akar kezelni egy fv-el, mint amire az íródott
(#) sysy hozzászólása Júl 28, 2007 /
 
Na, most jókedvemben találtatok és feltoltam a Kernighan-Ritchie féle C programozós könyvet magyar nyelven! (alapmű!)

Link: http://rapidshare.com/files/45577770/Kernighan_Ritchie_C_konyv_hun.doc

sysy
(#) MPi-c válasza sysy hozzászólására (») Júl 28, 2007 /
 
Köszönöm(jük), de a doksi.hu oldalról - több más hasznos infóval - egy regisztráció után beszerezhető.
(#) sysy válasza MPi-c hozzászólására (») Júl 28, 2007 /
 
Igazad van!
Elnézésedet kell, hogy kérjek tőled MPi-c, hogy figyelmetlen voltam és nem olvastam végig a doksi.hu-t. Elég lett volna csak a linket feltennem. ...
De! Akit érdekel a dSPic programozása és mintaprogramokat is akar forráskódban nyálazni annak kihagyhatatlan a Learn Hardware Firmware and Software Design című könyv. De már nem merem feltölteni mert le leszek ugatva. Ha valakinek van tudomása róla, hogy hol lehet letölteni, az tegye közzé.

sysy

Moderálva!
(#) dpeti válasza sysy hozzászólására (») Júl 28, 2007 /
 
én például nem ismertem az oldalt, és szerintem még jó sokan vannak ezzel ugyanígy...
(#) vega55 válasza sysy hozzászólására (») Júl 28, 2007 /
 
Idézet:
„De! Akit érdekel a dSPic programozása és mintaprogramokat is akar forráskódban nyálazni annak kihagyhatatlan a Learn Hardware Firmware and Software Design című könyv. De már nem merem feltölteni mert le leszek ugatva”


Engem pl erdekelne!!!
Ne, hagy magad eltanotritani a celtol, csak toltsd fel nyugodtan, akinek nem tetszik, az majd menjen jol a boltba es vegye meg penzert, ha ingyen nem tetszik!!!
(#) MPi-c válasza sysy hozzászólására (») Júl 28, 2007 /
 
...Sok jó, hasznos információt osztottál meg velünk eddig is, folytasd csak nyugodtan!
...
Üdv!

Moderálva!
(#) Prinner válasza sysy hozzászólására (») Júl 28, 2007 /
 
Engem is érdekelne az a könyv.
Amúgy begugliztam, de csak ezen találtam meg, és a fájl sérült volt :rinya: .
(#) potyo válasza sysy hozzászólására (») Júl 29, 2007 /
 
Engem is érdekelne, meg a rapidshare nem a hobbielektronika szerverét terheli, stb... Csak tömörítsd be pl. zip-be, hogy kisebb legyen.
(#) sysy válasza MPi-c hozzászólására (») Júl 29, 2007 /
 
Kedves MPi-c!

...

uff én szólottam.

Moderálva!
(#) sysy hozzászólása Júl 29, 2007 /
 
Már letörik a billentyüzetem, annyifelé kell elküldenem magánban a könyvet. (...)
Itt a dSP könv linkje:

http://rapidshare.com/files/45654868/Hardware.Firmware.and.Software...gn.001
http://rapidshare.com/files/45654869/Hardware.Firmware.and.Software...gn.002
http://rapidshare.com/files/45654870/Hardware.Firmware.and.Software...gn.crc

A letöltött fájlokat a TotalCommander Fájlegyesítés menüpontjával tudjátok eggyé varázsolni!

Moderálva!
(#) sysy hozzászólása Júl 29, 2007 /
 
Akik meg a 24F... sorozatot akarják C nyelven pöcögtetni azoknak merem ajánlani a következőt:

LINK

(#) Moderátor hozzászólása Júl 29, 2007
 
Sysy és MPi-c!

A vitát fejezzétek be, mert ellenkező esetben kénytelen leszek a topicot zárolni!
Ez az oldal nem arról szól, hogy ganyáljuk egymást, hanem arról, hogy segítsünk!

Sysy! Ha egy picit körültekintőbben jársz el, nem kapsz semmilyen negatív visszajelzést és privát üzit!

MPi-c! Nem kell(ett volna) lerohannod sysy-t, mert feltett valamit, ami máshol (is) megtalálható!
(#) sysy hozzászólása Júl 29, 2007 /
 
Igazatok van!

Mindenki előtt bocsánatot kérek MPi-c től. Teljesen felesleges egymást heccelni. Magánban is ment a levél MPi-c nek. (...) Mégegyszer mindenkitől elnézést szeretnék kérni. Különösen az érintettektől. Remélem a thread továbbra is jó és hasznos lesz!

sysy

Moderálva.
(#) MPi-c válasza (») Júl 29, 2007 /
 
Tudomásul vettem.
Nekem nem volt szándékom hozzászólásommal senkit megbántanom, kioktatnom vagy bármi más módon személyeskedébe váltanom. Tisztában vagyok vele, hogy a fórum nem az indulatok levezetésére van kitalálva. Sajnálom, ha hozzászólásomat lerohanásnak értékeltétek, ilyen szándékom nem volt, ezért bocs mindenkitől! Korábban is köszönetet mondtam sysy-nek az infókért, és most is arra kérem, folytassa csak ezt, mindannyiunk hasznára.
És persze, köszönöm a moderátori figyelmet!
(#) Moderátor hozzászólása MPi-c hozzászólására (») Júl 29, 2007
 
Én pedig köszönöm mindkettőtöknek, hogy megértőek vagytok. Ezennel tekintsük a dolgot elsikáltnak, és folytassuk a topicot az eredeti medrében, ott, ahol abbamaradt.

Köszönöm Uraim!
(#) sysy hozzászólása Júl 29, 2007 /
 
Aprpó! Használta már valaki a CCS-t RTOS üzemmóban? Kellene némi útmutató nekem.

sysy
(#) dpeti válasza sysy hozzászólására (») Júl 29, 2007 /
 
van a mappájában vagy 10 példa...
kéretik megnézni
(#) hummer válasza sysy hozzászólására (») Júl 29, 2007 /
 
Sysy:

Szia. Ez a dspic könyv nincs meg másutt is ? Letöltöttem mindegyik részt az általad felvésett linkről és a 001-esre azt írja a WinRar, hogy sérült. Innentől kezdve a könyv megdőlt.
(#) sysy válasza hummer hozzászólására (») Júl 30, 2007 /
 
Hummer!

Én is letöltöttem és sikeresen összeragasztottam mind a 3 állományt a TotalCommanderrel.

Töltsd le mégegyszer és ha akkor sem sikerül összeragasztani, akkor kitalálunk valamit.

sysy
(#) Norberto hozzászólása Júl 30, 2007 /
 
EZENTÚL MINDEN, NEM TÉMÁBA ILLŐ HSZ-T TÖRÖLNI FOGOK MODERÁTORI JOGOMMAL ÉLVE, AZ OLDAL SZABÁLYAINAK MEGFELELŐEN!

A SZEMÉLYESKEDŐ LEVELEKET PRIVÁTBAN VÁROM!
(#) babo hozzászólása Júl 31, 2007 /
 
Ha esetleg vki megkonyorulne rajtam es elkuldene a CCS-t a szabolcs pont lelesz kukac gmail pont com címre azt nagyon megköszönném... :yes:
(#) potyo válasza babo hozzászólására (») Júl 31, 2007 /
 
(#) Prinner hozzászólása Aug 4, 2007 /
 
Üdv.
Próbáltam írni egy 4x4 -es billentyűzet kezelőt, de végtelen ciklusba kerül tőle a pic (vagy lefagy). Most úgy akarom megírni, hogy a main csak átfut rajta, a karaktert kiírja az LCD-re, majd a prog végét egy LED villogtató végtelen ciklus zárja.
Íme a függ.

  1. void
  2. KEYB (void)
  3. {
  4. set_tris_b(0B11110000);
  5. LATB=0x00;
  6. CIMKE:
  7. if(PORTD=0B11110000) //var, amig nem valtozik PORTD
  8. GOTO  CIMKE;
  9. else  goto KBREAD;
  10. KBREAD:              //felso 4bit kozul melyik valtozott
  11. if(!input(KEYB_H))
  12. bit_set(keyb_stat,7);
  13. else  goto  KBTG;
  14. KBTG:
  15. if(!input(KEYB_G))
  16. bit_set(keyb_stat,6);
  17. else  goto  KBTF;
  18. KBTF:
  19. if(!input(KEYB_F))
  20. bit_set(keyb_stat,5);
  21. else  goto  KBTE;
  22. KBTE:
  23. if(!input(KEYB_E))
  24. bit_set(keyb_stat,4);
  25. else  goto  KBSWTR;
  26. KBSWTR:
  27. set_tris_b(0B00001111); //also 4 bitet vizsgal
  28. //
  29. if(!input(KEYB_J))
  30. bit_set(keyb_stat,3);
  31. else  goto  KBTK;
  32. KBTK:
  33. if(!input(KEYB_K))
  34. bit_set(keyb_stat,2);
  35. else  goto  KBTL;
  36. KBTL:
  37. if(!input(KEYB_L))
  38. bit_set(keyb_stat,1);
  39. else  goto  KBTM;
  40. KBTM:
  41. if(!input(KEYB_M))
  42. bit_set(keyb_stat,0);
  43. else  goto  KBSETREG;
  44. KBSETREG:
  45. if(keyb_stat=0B00011000)   //eredmeny => karakter
  46. keyb_char='1';
  47. else  goto  SEA2;
  48. SEA2:
  49. if(keyb_stat=0b00101000)
  50. keyb_char='2';
  51. else  goto  SEA3;
  52. SEA3:
  53. if(keyb_stat=0b01001000)
  54. keyb_char='3';
  55. else  goto  SEAF;
  56. SEAF:
  57. if(keyb_stat=0b10001000)
  58. keyb_char='F';
  59. else  goto  SEA4;
  60. SEA4:
  61. if(keyb_stat=0b00010100)
  62. keyb_char='4';
  63. else  goto  SEA5;
  64. SEA5:
  65. if(keyb_stat=0b00100100)
  66. keyb_char='5';
  67. else  goto  SEA6;
  68. SEA6:
  69. if(keyb_stat=0b01000100)
  70. keyb_char='6';
  71. else  goto  SEAE;
  72. SEAE:
  73. if(keyb_stat=0b10000100)
  74. keyb_char='E';
  75. else  goto  SEA7;
  76. SEA7:
  77. if(keyb_stat=0b00010010)
  78. keyb_char='7';
  79. else  goto  SEA8;
  80. SEA8:
  81. if(keyb_stat=0b00100010)
  82. keyb_char='8';
  83. else  goto  SEA9;
  84. SEA9:
  85. if(keyb_stat=0b01000010)
  86. keyb_char='9';
  87. else  goto  SEAD;
  88. SEAD:
  89. if(keyb_stat=0b10000010)
  90. keyb_char='D';
  91. else  goto  SEAA;
  92. SEAA:
  93. if(keyb_stat=0b00010001)
  94. keyb_char='A';
  95. else  goto  SEA0;
  96. SEA0:
  97. if(keyb_stat=0b00100001)
  98. keyb_char='0';
  99. else  goto  SEAB;
  100. SEAB:
  101. if(keyb_stat=0b01000001)
  102. keyb_char='B';
  103. else  goto  SEAC;
  104. SEAC:
  105. if(keyb_stat=0b10000001)
  106. keyb_char='C';
  107. else  goto  FINAL;
  108. FINAL:
  109. delay_ms(200);
  110. }


A segítségeket előre is kösz.

Használjuk a [ c o d e = c ] tagot! [ / c o d e ]. Ezentúl ilyen hosszú, strukturálatlan programrészleteket csatolmányként kérünk illeszteni. Köszönjük. deguss
Következő: »»   6 / 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