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   79 / 118
(#) vicsys válasza Gyimate hozzászólására (») Júl 3, 2012 /
 
Csatolom. (Benne van)

ex_fat.c
    
(#) Gyimate válasza vicsys hozzászólására (») Júl 3, 2012 /
 
Nagyon szépen köszönöm!
(#) Gyimate válasza vicsys hozzászólására (») Júl 3, 2012 /
 
Ne haragudj, hogy megint zavarok, de van benne egy sor nevezetesen ez: #include , elvileg a fat.c-nek benne kellene lennie a drivers mappában, de ez sincs meg, pedig a legújabb kiadásom van meg a ccs c-ből, ha tudod ezt is el tudnád küldeni. Bocs, ha butaságot írtam.
(#) vicsys válasza Gyimate hozzászólására (») Júl 3, 2012 /
 
Csatolom az egész mappát.

Examples.zip
    
(#) szuperman hozzászólása Júl 27, 2012 /
 
Kérhetnék egy szívességet?

Szükségem lenne egy olyan header file -ra ,ami LCD -t kezel és ismeri a magyar ékezetes betűket is.

Előre is köszi!
(#) Hp41C válasza szuperman hozzászólására (») Júl 27, 2012 /
 
Szia!

Nagy feladat: Az LCD modulban 8 definiálható karakternek van hely, az ékezetes karakterek 2 * 9 -en vannak (áéí óöő úüű ÁÉÍ ÓÖŐ ŰÜŰ).

Egy megfelelően választott kódolással (HD44780-A02) rendelkező modul sokat tartalmazhat, csak a ő, Ő, ű, Ű szokott hiányozni. Rengeteg féle modul kapható, a 0x80 kód feletti karakterek kódolása nem egységes.
(#) AccessDenied hozzászólása Júl 30, 2012 /
 
Automata akksitöltőt szeretnék csinálni, már kész is a hardver, csak a program nem akar úgy működni, ahogy kellene.

A 16F690-esem az A2-es bemenetére kapja egy 5K és 10K feszültség osztóból az akkumulátorról a jelet.

A probléma az lenne, hogy a töltő feszültség szűretlen (mivel a pulzáló DC-t szereti az akksi), ezért mondjuk egy 20ms-os periódusban átlagolni kellene a feszültséget, és azt kijelezni.

Simán, le tudom mérni a feszültséget, csak ugye ugrál amiatt, hogy az akkumulátor feszültségét a töltő emeli a félszinusz csúcsa közelében.

for(i=0;i<255;i++){
set_adc_channel(2);
delay_us(74);
feszultseg+=read_adc();
}
feszultseg=feszultseg/255.0;

Én így gondoltam, de ez így nagyon nem működik. Elvileg (74+4)*255=19890us-ig kellene mérjen, azaz kb 1 periódust 255 ponton kellene mérjen, de így most ilyen 0,4-1,7V-okat mér. csináltam olyat, hogy ms-enként mértem egyet, és ezt 20x, de ugyan úgy ugrált utána, mondjuk akkor kijött a 13-13,5V feszültség töltés közben.

Valaki egy pár sorral kisegítene?>
(#) tomat5 válasza AccessDenied hozzászólására (») Júl 30, 2012 /
 
Szia
Az ADC hany bites? Belefer 255 szor a valtozoba?
(#) trudnai válasza AccessDenied hozzászólására (») Júl 30, 2012 /
 
Azonkivul amit tomat5 mondott, a ciklusodban 256-ig szamlalj, es 256-tal ossz, es ne float-tal, hanem int-tel, mert azzal konyebben banik a PIC... (Nyilvan a 'feszultseg' nevu valtozod is int tipus legyen, valoszinuleg unsigned long kellene oda)
(#) AccessDenied válasza trudnai hozzászólására (») Júl 30, 2012 /
 
Én is számolgattam, hogy beleférjen akkor is, ha az adc-n folyamatosan max jönne be. Unsigned long int a feszultseg változóm. Long int-nél rövidebbel nem is hajlandó az adc értéket áttenni a változóba. (unsigned int se jó neki)

Szóval elvileg abba 4giga fér, az olyan 4millió mérés összege lenne.

A 256-ot be fogja venni? Csak mert mintha valahogy úgy emlékeznék, hogy az 0-255-ig mehet. Az i változóm is int vagy unsigned int típusú.
(#) potyo válasza AccessDenied hozzászólására (») Júl 30, 2012 /
 
Biztos vagy benne, hogy az unsigned long 32 bites? Azért ellenőrizd le, mert a CCS-ben az szerintem csak 16 bites...

Használj int32 típust, az tényleg 32 bites.
(#) AccessDenied válasza potyo hozzászólására (») Júl 30, 2012 /
 
Megpróbálom kideríteni.
(#) AccessDenied válasza tomat5 hozzászólására (») Júl 30, 2012 /
 
10 bites az ADC 0-1023.
(#) sysy válasza AccessDenied hozzászólására (») Júl 30, 2012 /
 
Csak halkan kérdezem meg, hogy egy egyszerű kondenzátor az analog bemeneten miért nem jó integrátor? Egy akksitöltő szerintem nem az a bonyolultság, ahol miliszekundumonként tudni kell a kapocsfeszt.Vagy ragaszkodsz a bitek tologatásához?
(#) Buddha hozzászólása Júl 30, 2012 /
 
Sziasztok,

Honnét lehet megszerezni a legújabb változatot?
Kössz.
Üdv: Buddha
(#) AccessDenied válasza sysy hozzászólására (») Júl 30, 2012 /
 
Ezen gondolkoztam én is, csak át kéne nézzek pár anyagot, hogy magamtól kitalálhassam, hogy hogy kössem össze.
(#) tomat5 válasza potyo hozzászólására (») Júl 30, 2012 /
 
Szia

Tényleg csak 16 bites.

Névtelen.png
    
(#) AccessDenied válasza potyo hozzászólására (») Júl 31, 2012 /
 
Átírtam "long long int"-re a változómat, és mostmár nagyon jó, működik, ahogy kell, és semmi ingadozás, a töltőből kijövő jelet is szépen leméri. Teszi is a műszer épp a dolgát. Köszönöm a hasznos tanácsokat!
(#) trudnai válasza AccessDenied hozzászólására (») Júl 31, 2012 / 1
 
Idézet:
„Csak mert mintha valahogy úgy emlékeznék, hogy az 0-255-ig mehet.”


Valoszinuleg a byte (unsigned char) tipusra gondoltal. 256 a C-ben int-re kell promotalodjon (ilyen szep Magyar szoval elve), de ami a lenyeg, hogy 256-tal torteno osztas egyszeruen azt jelenti, hogy a legalso byte-ot ki lehet hagyni a szamitasbol (magyaran a szamodat 8 bittel shifteli jobbra). Ha jo a fordito optimalizacioja, akkor ezt rendkivul gyorsan el tudja vegezni, mig a 255-tel torteno osztasnal mar valoszilueg sokat fog toprengeni, foleg ha "255.0" -t adsz meg neki, mert ha nincs szerencsed azt meghagyja neked float tipuskent es a math library-t fogja berantani es hasznalni egy egyszeru integer muvelet helyett (bar lehet eszre sem veszed ezeket, mert eleg gyorsak ezek a cuccok, mindenesetreegy apro modositas es a kodod optimalizalva van...)
(#) AccessDenied válasza trudnai hozzászólására (») Júl 31, 2012 /
 
Köszi, az optimalizációra sose árt figyelni!
(#) tomat5 hozzászólása Aug 20, 2012 /
 
Sziasztok

Egy rs485 vonalon kommunikáló eszközt bütykölök. Az lenne a kérdésem, hogy futási időben meg tudom-e változtatni a baud-ot. A fordító azt mondja, hogy a setup_uart(baud)-ot csak konstanssal hívhatom meg.
Köszönöm a segítséget.
(#) efiscp válasza tomat5 hozzászólására (») Aug 20, 2012 /
 
Ha nagyon nem menne, én közvetlenül regiszterbe írnám a paramétert.
(#) tomat5 válasza efiscp hozzászólására (») Aug 20, 2012 /
 
Köszi
Közben arra gondoltam, hogy nem a baud értékét küldöm át, hanem valami hozzárendelt sorszámot vagy azonosítót. Utána egy switch-el már be tudom állítani...
(#) efiscp válasza tomat5 hozzászólására (») Aug 20, 2012 /
 
Ha közvetlenül regiszterbe írsz, akkor bűvészkedni kell az értékekkel (ha jól emlékszem, nem a baud megy a regiszterbe, hanem az adatlapban lévő algoritmus alapján számított érték). Én függvényt írnék rá.
Esetleg kipróbálhatsz egy konstans tömböt (amiben az általad használandó baud értékek vannak), hátha megeszi ezt a setup_uart().
(#) brugo hozzászólása Aug 27, 2012 /
 
Szervusztok,
Probalta valaki az MPLAB X -et CCS pluginnal hogyan mukodik ?
(#) Gyimate válasza brugo hozzászólására (») Aug 27, 2012 /
 
Hello,
Igen, nekem működik vele, az egyedüli bosszantó dolog, hogy ha elütök valamit a programkódban, vagy hibázok, nem a CCS fordító ablaka nem tűnik el magától, hanem neked kell lezárnod, ezen kívül minden működik szépen. Nekem most egyszerre az MPlab 8 és az X is bent van a gépben és nem zavarják egymást, külön mappában vannak, és egymástól függetlenül futnak, szóval próbáld ki nyugodtan.
(#) brugo válasza Gyimate hozzászólására (») Aug 27, 2012 /
 
Én egy működő programmal akartam kipróbálni, beólvastam de a Compilálás után sok hibát talált abban a programban ami az eredeti CCS 4.1o4 programmal hibátlanul fordul. Az MPLAB 8.86 kiirja, hogy Build Succeeded de nem találom sehol a hexa fájlt .
(#) Gyimate válasza brugo hozzászólására (») Aug 27, 2012 /
 
Ha neked a HEX fájl kell, akkor ne a Build-re kattints hanem a Make project-re, ekkor elkészíti a HEX fájlt. Ezt megtalálod az MPlab 8.85-ben is. Nekem minden probléma nélkül vitte az MPLAB X-el is, esetleg nézd meg, hogy a mappák jól vannak-e beállítva.
(#) tomat5 hozzászólása Aug 29, 2012 /
 
Sziasztok!
Lehet, hogy triviális dolgot kérdezek, de egyszerűen nem jövök rá, hogy mi a probléma. 16F628a-t programozok.
  1. #FUSES HS,WDT,NOPROTECT,NOBROWNOUT,MCLR


Kell még valami ezen kívül, hogy működjön az MCLR. Eddig nem volt gond, most pedig az van, hogy az MCLR láb állapotától függetlenül elindul a pic programozás után azonnal. A lábon mértem a szintet, az OK. Mindegy neki, hogy alacsony vagy magas, ketyeg. Több hobbiprojektet elkövettem ezzel a típussal és eddig nem volt ilyen problémám. A másik gondom, hogy a wdt sem működik. Ha jól gondolom elégnek kellene lenni a WDT fuse-nak és egy setup_wdt()-nek.
Köszi a válaszokat.
(#) sysy válasza tomat5 hozzászólására (») Aug 29, 2012 /
 
Fordítás után az MPLAB Configure menüje alatt a Configuration bits alatt nézd meg, hogy tényleg be van-e állítva a megfelelő paraméter. Az ablak első részén be kell pipálni a Configuration Bits in code checkbox-ot.
Következő: »»   79 / 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