Fórum témák
» Több friss téma |
Fórum » CCS PIC Compiler
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:
ez az ami nem működik, az alsó byte mindíg 0x00 marad, de így
már megy, csak kicsit sokallom ay 1 ms-et, de nem akarom "romáégetni" a kontrollert. Van erre valami standard??
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.
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.
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 Idézet: „Debuggoláshoz plusz kód is kell a kontrollerbe...” Ez egy :
Idézet: „...nembeszélve a debug konfig bit bekapcsolásáról.” Ez pedig csak ennyi:
Ezeket beírod a kódba, újrafordítod, majd ICD2 debuggermódban betöltöd a PIC-be ...
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.
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. 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
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.
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.:
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...
Köszönöm a magyarázatot, így már sokkal világosabb a dolog.
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!
Ha az LCD karakterkészletében nem szerepelnek, akkor így kell. Induláskor feltöltöd a cgram-ot, utána pedig használod.
É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.
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.
Egyszer raktam fel egy kódot, ami kiindulásnak jó lehet: Bővebben: Link
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?
Ú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"
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?
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
Idézet: A demó lejárta után is használhatod Lite üzemmódban (csak nem lesz optimális a kód). „most a Hi-tec fordítóval működik, a demo lejártáig”
Halihó,
Köszi az újabb verziót. Király vagy
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.
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?
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.
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?
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?
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. |
Bejelentkezés
Hirdetés |