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   31 / 118
(#) whalaky hozzászólása Dec 25, 2009 /
 
Kellemes ünnepeket mindenkinek!

Van itt még olyan megszállott mint én, hogy még a karácsonyt is barkácsolással tölti?
Lenne egy egyszerű kérdésem. Két eprom olvasás között jellemzően mennyi időt kell várni?
A jelenség:
  1. config = make16(read_eeprom(EEPROM_CFG),read_eeprom(EEPROM_CFG+1));

ez az ami nem működik, az alsó byte mindíg 0x00 marad, de így
  1. DataH = read_eeprom(EEPROM_CFG);
  2. delay_ms(1);
  3. DataL = read_eeprom(EEPROM_CFG+1);
  4. config = Make16(DataH, DataL)

már megy, csak kicsit sokallom ay 1 ms-et, de nem akarom "romáégetni" a kontrollert.
Van erre valami standard??
(#) kukac_24 válasza whalaky hozzászólására (») Dec 25, 2009 /
 
Hali,
Kicsivel előrébb nekem már segitettek eeprom témában, lehet neked is ugyanaz a problémád az eeprom író-olvasó rutinnal mint nekem (volt bent egy apró hiba). Nézd vissza légyszi.
(#) whalaky válasza kukac_24 hozzászólására (») Dec 25, 2009 /
 
Kösz (júni 11), de Neked az írással volt gondod, nekem pedig érdekes módon az írás megy, olvasásnál makkan meg (4.093), mindamellett később még hasznos lehet.
(#) dkorneel válasza potyo hozzászólására (») Dec 25, 2009 /
 
Szeretném pontosítani a hibát, egy belső oszcillátoros 16f882-t szeretnék debugolni icd2 klónnal, kipróbáltam mplab alatt, amely 83-as hibakóddal "Unable to enter debug mode." leáll, találtam a microchip fórumon egy ugyan ilyen hibát megoldással, ami nekem egyáltalán nem működik, mivel az mplab debugoláskor megváltoztatja a config biteket (hiába állítom át, ő visszaállítja). Ha valakinek sikerült már debugolni 16f88x-es családot megköszönném a segítségét.

kellemes karácsonyt,
és boldog új évet mindenkinek


Bővebben: Link
(#) MPi-c válasza dkorneel hozzászólására (») Dec 25, 2009 /
 
Idézet:
„Debuggoláshoz plusz kód is kell a kontrollerbe...”

Ez egy :
  1. #device ICD=TRUE
preprocesszor.
Idézet:
„...nembeszélve a debug konfig bit bekapcsolásáról.”

Ez pedig csak ennyi:
  1. #FUSES DEBUG

Ezeket beírod a kódba, újrafordítod, majd ICD2 debuggermódban betöltöd a PIC-be ...
(#) dkorneel válasza MPi-c hozzászólására (») Dec 25, 2009 /
 
ezt eddig is bele írtam, de a fuses-t akkor is bele fordítja, ha az mplab-bal határozom meg a config biteket? végülis mind1 megpróbáltam mplab-bal is meg kódban is config biteket állítani, de nem megy. A porject/build options/project menüpontban a ccs fülön is ki van pipálva hogy compile for use with icd debuger, de ha kiveszem a pipát akkor sem jó, szóval sehogy se akar debugolni.


(#) sirály12 hozzászólása Dec 30, 2009 /
 
Sziasztok.

Egy kis segítségre lenne szükségem. Eddig leginkább basic-ben progiztam 8051-et és picet is, most akarok áttérni c-re.
El is akadtam az első dologgal.
Topi cikkét elolvastam az rf modulokról. Ilyen modulokat kell lekezelnem, egy karakterláncot szeretnék manchester kódolással egyik picből a másikba küldeni.
Odáig már eljutottam, hogy mind az adó mind a vevő oldali progi lefordul, és 1 karakter át is megy, de nem tudom hogyan kellene tovább haladnom, ebben kérnék segítséget.

Hogyan oldjam meg, hogy ne karakterek érkezzenek meg, hanem egy karaktarlánc?

for(; {
if(kbhit(radio)) {
i = m_get();
if (!receive_error){
if (i=="itt a kod") {OUTPUT_HIGH(PIN_c0); }
}}}

TEhát azt akarom, ha a karakterlánc az, hogy "itt a kod", akkor a c0 láb kapcsol.

A neten keresgéltem segítség után egy délután folyamán, de megoldást nem találtam.

Talán valami ilyesmi kellene nekem:

tostring(char i) {
if(i=='\f')
stringptr=0;
else
string[stringptr]=0;
string[stringptr++]=i;
}


De ezt hogy illesszem be utána a kódba?

Olyan oldalnak is nagyon örülnék ahol a ccs-hez van magyar irodalom, az angol sajnos nem erősségem.

Előre is kösz a segítséget.
(#) MPi-c válasza sirály12 hozzászólására (») Dec 30, 2009 /
 
Idézet:
„Hogyan oldjam meg, hogy ne karakterek érkezzenek meg, hanem egy karaktarlánc?”


Pl. megszakítással.

Idézet:
„A neten keresgéltem segítség után egy délután folyamán, de megoldást nem találtam.”


Pedig van, például a ccs fórumán: Bővebben: Link
(#) sirály12 válasza MPi-c hozzászólására (») Dec 30, 2009 /
 
Ezt már én is megtaláltam, de egyszerűen nem tudok belőle kihámozni semmi értelmeset. És Mint mondtam, az angol nem erősségem.
(#) MPi-c válasza sirály12 hozzászólására (») Dec 30, 2009 /
 
Idézet:
„az angol nem erősségem.”


Nekem sem, de van szótáram...

A kód a lényeg. Az első "code" területen a manchestre kódoláshoz, dekódoláshoz szükséges függvényeket látod. A kódolás alapja egy egyszerű "kódtábla" ami a 'manchester' tömbben van elhelyezve. A kódolás során 1 byte-ból 2 byte "lesz" dekódolásnál pedig 2-ből 1.
A 'MANencode1' és 'MANencode2' a küldendő byte felső illetve alsó félbyte-ját kódolja.
A MANdecode függvény ezekután már biztos tiszta, hogy mit csinál.

A következő "code" területen az adatküldés megoldása látható. Itt a lényeges a hasznos adatok előtt küldött "felvezető" kódsorozat (az a sok 0x55 ... stb.) A hasznos adatok előtt van egy start byte: 0xfe! A TXTWireless függvény a szerző saját küldő függvénye, ami a ccs putc() függvényével helyettesíthető.
Itt megjegyzem, hogy a 'MANencode1' és 'MANencode2' függvények is elhagyhatók. Pl.:
  1. putc(manchester[(KuldendoAdat & 0xf0) >> 4]);  
  2. putc(manchester[KuldendoAdat & 0x0f]);

Az utolsó "code" területen, pedig a vétel megoldása látható az USART vételi megszakításának alkalmazásával.
A vett byte-okat a megszakítással olvassuk ki RCREG-ből. Ezeket a kiolvasott byte-okat mindaddig eldobjuk, amíg a 0x00 byte után meg nem jön a start byte, a 0xfe. Az ezután érkező byte-okat - számolva - a WirelessData tömbbe gyűjtjük. A számolást az RXModeByte változó növelésével végezzük és ez határozza meg az egyes megszakításoknál a switch case szerkezettel a feldolgozás soron következő lépését.
Amikor kiolvastuk a megfelelő számú byte-ot elvégezzük a dekódolást.
Kb. ennyi...
(#) sirály12 válasza MPi-c hozzászólására (») Dec 30, 2009 /
 
Köszönöm a magyarázatot, így már sokkal világosabb a dolog.
(#) kukac_24 hozzászólása Jan 5, 2010 /
 
Helló Mesterek!

Rá tudnátok vezetni, hogy ékezetes "magyar" karaktereket hogy tudnék kiiratni sima LCD-re?

Jól gondolom, hogy először ezeket létre kell hoznom a cgram-ban, aztán onnan kiolvasni? Vagy van valami más megoldás is?

Köszi!
(#) potyo válasza kukac_24 hozzászólására (») Jan 5, 2010 /
 
Ha az LCD karakterkészletében nem szerepelnek, akkor így kell. Induláskor feltöltöd a cgram-ot, utána pedig használod.
(#) kukac_24 válasza potyo hozzászólására (») Jan 5, 2010 /
 
Épp megnéztem a sima é és á szerepelnek, ezeket hogy tudnám kiíratni? Ha csak simán lcd_putc-vel csinálom, akkor az ékezetes betűk helyén teljesen mást jelez ki.
(#) ToMikaa válasza kukac_24 hozzászólására (») Jan 5, 2010 /
 
Az lcd_putc()-vel a megadott karakter kódját íratod ki. pl. lcd_putc(123);
Megnézed, hogy a CGROM-ban melyik az 'á' és 'é' kódja és azt adod át a fv.-nek.
(#) MPi-c válasza kukac_24 hozzászólására (») Jan 5, 2010 /
 
Egyszer raktam fel egy kódot, ami kiindulásnak jó lehet: Bővebben: Link
(#) kukac_24 válasza MPi-c hozzászólására (») Jan 6, 2010 /
 
Köszi srácok, így működik!
(#) abo válasza kukac_24 hozzászólására (») Jan 14, 2010 /
 
Sziasztok,

Gondolom ez jól jöhet.

CCS4.104
(#) zsoltee0001 hozzászólása Jan 17, 2010 /
 
Sziasztok

feltelepítettem az Mplab-hoz a ccs plugin-t, fordításkor dobott hibát, és hiányolt .crg-ket, ezeket fölmásoltam, és elfogadtattam vele, de aztán meg már .dll-t hiányol (melléklet), ahogy visszaolvastam a témába, más se talált megoldást, mi lehet a gond?

PCM.PNG
    
(#) vicsys válasza zsoltee0001 hozzászólására (») Jan 17, 2010 /
 
Úgy csináltad, hogy a program files mappán belül készítettél egy PICC mappát aztán ahogy a release.txt -ben le van írva?
Ezzel elindul? "C:\Program Files\PICC\Pcw.exe"
(#) icserny válasza zsoltee0001 hozzászólására (») Jan 17, 2010 /
 
A CCS plugin csak az MPLAB-hoz való illesztést végzi. A .crg állományokhoz való (nem demóverzió!) CCS fordítót is feltelepítetted?
(#) zsoltee0001 válasza vicsys hozzászólására (») Jan 17, 2010 /
 
Szia

Nem, nálam "C:\Program Files\Microchip\Third Party\PICC\Ccsc.exe"
Nincs ilyen "pcw.exe" file.
De, ha ez fizetős, akkor meg nem is erőlködök, most a Hi-tec fordítóval működik, a demo lejártáig.
Ha csak 12F-hez akarom használni akkor nincs valami ingyenes alternatíva?

üdv
(#) icserny válasza zsoltee0001 hozzászólására (») Jan 17, 2010 /
 
Idézet:
„most a Hi-tec fordítóval működik, a demo lejártáig”
A demó lejárta után is használhatod Lite üzemmódban (csak nem lesz optimális a kód).
(#) kukac_24 válasza abo hozzászólására (») Jan 24, 2010 /
 
Halihó,
Köszi az újabb verziót.
Király vagy
(#) whalaky hozzászólása Jan 27, 2010 /
 
Sziasztok!

Barkácsoltam egy USB-s készüléket 18F2550-el, majdnem minden OK, de az a fránya USB....
A jelenség, hogy az XP az esetek többségében szépen felismeri HID eszközként, működik is, de amikor megcsípi a bolondlégy, "az eszközt nem lehet felismerni". Ilyenkor az esetek kb felénél elég ha átdugom másik portra, de van hogy ez sem segít, ilyenkor az eszközkezelőben kell újra felismertetni. Ami jobban aggaszt, hogy a Windos 7-el eddig teljes kudarc, egyszerűen nem hajlandó felismerni mint HID eszköz. 2 gépen próbáltam, 2 XP 1 WIN7 (az egyik multiboot) a jelenség mindenhol ugyan az.
Valaki találkozott már ilyennel????
CCS ver 4.092, fullspeed USB, a 470n OK.
(#) whalaky válasza whalaky hozzászólására (») Jan 27, 2010 /
 
Hosszas turkálás után arra jutottam, hogy lehet hogy a belső felhúzó ellenállások nincsenek engedélyezve. Ezt hol lehet kinyomozni hogy van vagy nincs?
  1. #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOMCLR
(#) icserny válasza whalaky hozzászólására (») Jan 27, 2010 /
 
Belső felhúzáshoz FS USB esetén az UCFG regiszter UPUEN és FSEN bitjeit kell 1-be állítani. Ha be van állítva, akkor valahol van a forráskódban olyan utasítás, ami az UCFG regiszter ezen bitjeit matatja.
(#) whalaky válasza icserny hozzászólására (») Jan 27, 2010 /
 
Nos igen.... ezt az adatlapból kiolvastam, de igazán a CCS megvalósításnál akadtam el....
Tettem a D+ ra egy külső 1,5k-s felhúzót, az XP-ken valamivel stabilabb lett (majdnem 100-as), de a WIN7 továbbra sem akarja felismerni..
Hiába kutatok a neten, van ahol sehol nincs felhúzó, van ahol csak a D+ on van. Kell a D- ra is?
(#) whalaky válasza whalaky hozzászólására (») Jan 27, 2010 /
 
Közben megleltem.....
Ha minden igaz fullspeeden a D+ t, low speeden a D- t kell felhúzni. Igaz lehet ez? De ha mindez igaz, akkor miért nem ismeri fel a WIN7?
(#) icserny válasza whalaky hozzászólására (») Jan 27, 2010 /
 
Ha CCS-ről van szó, és valamelyik CCS demóból indultál ki, akkor a CCS USB prototyping Board a mérvadó, mert nyilvánvalóan ahhoz készült a demo is. Kapcsolási rajzot azonban nem találok róla, csak fényképet.

Mindenesetre a Microchip C18 "gyári" USB demói belső felhúzóellenállással működnek, nem kell külső ellenállás hozzájuk.
Következő: »»   31 / 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