forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Programování uC Microchip v C
Jdi na stránku Předchozí  1, 2, 3 ... 8, 9, 10, 11  Další
 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip
 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 892

PříspěvekZaslal: 25 září 2012, 10:16    Předmět: Citovat

No prave bojujem s prekladacom CCSC http://www.ccsinfo.com/downloads.php nejako mi nejde spojit hlavny subor c s dalsim ktory sa sklada z *.h a *.c, proste v diasembleri to nevidim navyse velkost prelozeneho kodu je nejaka velka na to ze tam nieje t dalsia cast. Prekladac mam implementovany v MPLAB

Prosim ak niekto ma urobeny nejaky program v tomto prekladaci a prostredi.
Ci by mi neposkytol na nahliadnutie ako to ma vyzerať hlavne sa to musi skadat aspon s dvoch suborov *.C. dakujem
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
MiloPS3
Profesionál
Profesionál


Založen: 24.12.2008
Příspěvky: 887
Bydliště: LAZNE KYNZVART

PříspěvekZaslal: 25 září 2012, 19:05    Předmět: Citovat

cau, tet sem to zmastil ... snad ti to pude spustit


test.rar
 Komentář:

Stáhnout
 Soubor:  test.rar
 Velikost:  21.19 kB
 Staženo:  313 krát


_________________
PIC,ASM / C , Mplab + CCS C Compiler


Naposledy upravil MiloPS3 dne 25 září 2012, 19:40, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 892

PříspěvekZaslal: 25 září 2012, 19:36    Předmět: Citovat

Cestou ti nieco vypadlo.... zatial som to nechal tak a nahadzal vsetko do jedneho C cka prehlad minimalny .... Nejak mi ten prekladac nesedi.

Potreboval by som poradit ako zapisat text do flash a potom ho vypisat na displej, zatial som prisiel na nieco take nepekne
kód:
   const char cstring[6]={"a1wire"};
a vsak neviem ako sa dostat k tomu co je v flash, wrdata=*cstring nefunguje v inom prekladaci pekne funguje nieco take
kód:
lcd_string("1wire"); 

void lcd_string(char *text)
{
   char c;
   while ( (c = *text++) )  wrdata(c);
}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
MiloPS3
Profesionál
Profesionál


Založen: 24.12.2008
Příspěvky: 887
Bydliště: LAZNE KYNZVART

PříspěvekZaslal: 25 září 2012, 19:50    Předmět: Citovat

aktualizoval sem prilohu..
_________________
PIC,ASM / C , Mplab + CCS C Compiler
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 892

PříspěvekZaslal: 25 září 2012, 21:10    Předmět: Citovat

hm dik za inspiraciu, nema mat kazde Ccko svoj hlavickovy subor ? ... vzdavam to ... je velmi tvrdohlavy...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 25 září 2012, 22:12    Předmět: Citovat

To není dobrý příklad... Takto projekt z více souborů rozhodně vypadat nemá.

Ve čtvrtém postu je příklad. Sice pro AVR, ale to jistě snadno upravíš.
http://forum.mcontrollers.com/viewtopic.php?t=2055&postdays=0&postorder=asc&start=0

Ten překladač nemám, ale kdyby jsi vložil svůj projekt, mohl bych se alespoň podívat, jesli je správně sestaven.

Co se týká nadměrné velikosti kódu, v GCC to bývají vypnuté optimalizace nebo "dead code removal" (záležitost nejen překladače, ale i linkeru). Třeba tam taky takové možnosti máte.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
MiloPS3
Profesionál
Profesionál


Založen: 24.12.2008
Příspěvky: 887
Bydliště: LAZNE KYNZVART

PříspěvekZaslal: 26 září 2012, 16:40    Předmět: Citovat

to byla jen ukazka ze to de , CCS neni tvrdohlavy , jen musis vedet jak na nej..

kdyz tam budu mit 10 *.C a 10*.H a z kazdyho budu neco potrebovat tak se z toho picnu ... , ?

_________________
PIC,ASM / C , Mplab + CCS C Compiler
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 26 září 2012, 17:11    Předmět: Citovat

Pokud bys z každýho něco potřeboval vkládat, tak to máš špatně sestavený a dřív či později narazíš na problém. Jediný co můžeš v .c souboru potřebovat je jiný .h. Žádné vkládání .c souborů ani výkonný kód v .h nepřipadá v úvahu. Před sebou mám program sestavený z mých 31 souborů (moduly od výrobce mcu nepočítám, to by přidalo dalších 30) a není v tom žádný problém ani zmatek. To by se ale v žádném případě nedalo říct, kdyby byl projekt sestaven blbě. Pravděpodobnost, že by fungoval, by nebyla velká.

V souborech .h je pouze popis toho, co umí soubor .c. Soubor .c se smí v projektu nacházet POUZE 1x (vložení pomocí include vytváří jeho kopie), jinak si připravuješ velice těžko odhalitelné chyby v podobě překrytí proměnných, jejich viditelnosti a podobně.

Když tedy máš např. soubor uart.c, k němu patří soubor uart.h. Do .c poté, co ho vytvoříš, už nijak nevrtáš a taky by z něho nemělo být přímo nic vidět pro ostatní soubory. Vše, co uart.c poskytuje k dispozici musí být popsáno v uart.h.
Ten si poté když je potřeba vložíš do main.c a tomu to stačí. Nepotřebuje vědět, jak funkce pracuje, potřebuje znát pouze její parametry, návratovou hodnotu a jmého. O to, aby to vše nakonec fungovalo se postará linker. A právě linkeru můžeš vytvořit problém vkládáním .c souborů s kódem místo .h obsahujících pouze popis.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 892

PříspěvekZaslal: 28 září 2012, 11:48    Předmět: Citovat

ZAsielam ten zazrak dost veci tam je odkomentovanych kedze musim prejst s HItec prekladasca na CCS. pripomienky uvitam... a pytat odomna definovanie DEVICE tak ze mi to neprelozi.


mc.rar
 Komentář:

Stáhnout
 Soubor:  mc.rar
 Velikost:  32.19 kB
 Staženo:  318 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
MiloPS3
Profesionál
Profesionál


Založen: 24.12.2008
Příspěvky: 887
Bydliště: LAZNE KYNZVART

PříspěvekZaslal: 28 září 2012, 16:32    Předmět: Citovat

budes si to muset asi trochu jeste poopravit, moc sem to nestudoval ale kdyz mas pin nadefinovanej jako vstup tak ..
kód:
while(input(sdain));
v pripade vystupu bez LATx netusim

ten eror s DEVICE je kdyz mas vic *.C v Source Files....

me ten projekt od tebe nesel otevrit tak sem zalozil novej



1wire_PIC.rar
 Komentář:

Stáhnout
 Soubor:  1wire_PIC.rar
 Velikost:  36.09 kB
 Staženo:  306 krát


_________________
PIC,ASM / C , Mplab + CCS C Compiler


Naposledy upravil MiloPS3 dne 28 září 2012, 19:00, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 28 září 2012, 18:34    Předmět: Citovat

Soubory *.h nemají ochranu proti vícenásobnému vložení (doplněno).

Makra se píšou velkými písmeny (jinak je to nepřehledné).
Parametrická makra musejí být důsledně závorkována.

Neuškodilo by si zvyknout na jeden formátovací styl a ten dodržovat, tohle je celkem chaos.
Nic nevracející funkce (void) nemusí mít "return", lze ho však použít např. pro předčasné ukončení fce.

Jsou-li některé definice globální (potřeb ve více souborech), je vhodné si je dát do samostatného .h souboru a dle potřeby ho vkládat (každý .h nemusí mít svůj .c).

V souborech se podívej po po textech "todo" - jsou tam nějaké komentáře a návrhy.
Soubor ddd.h není nikde použit (ani použití zakomentováno). Každopádně je v něm výkonný kód - ten tam nemá co dělat.
Soubor převeden na .c a vytvořen .h. Tento programový modul sám o sobě však nemá smysl - nepůjde přeložit, patrně byl součástí jiného souboru (využívá definice z 1wire_PIC.c - spouštěcího souboru).

Některé soubory mají globální proměnné definované v .h souborech. Zcela špatně. Když už musí být proměnná globální a viditelná ve všech souborech (rozhodně nedoporučuji), deklaruje se v patřičném .c a do .h souboru se vloží s prefixem "extern" (nevytvoří novou proměnnou v každém souboru, pouze jim řekne, že už někde je a linker si ji najde).

Tento rozoraný projekt nejspíš přeložit nepůjde. Možná by bylo vhodnější sem dát na inspekci něco jednoduššího a podle toho pak upravovat ten větší projekt (nemám nainstalováno vaše IDE a překladač abych to uvedl do přeložitelného stavu).



1wire_PIC.zip
 Komentář:

Stáhnout
 Soubor:  1wire_PIC.zip
 Velikost:  10.45 kB
 Staženo:  331 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 892

PříspěvekZaslal: 28 září 2012, 19:00    Předmět: Citovat

Ok dakujem zatial, zajtra sa do toho pustim a zavesim tu nieco snad prelozitelne.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
MiloPS3
Profesionál
Profesionál


Založen: 24.12.2008
Příspěvky: 887
Bydliště: LAZNE KYNZVART

PříspěvekZaslal: 28 září 2012, 19:05    Předmět: Citovat

to co tet upravil piityy mas dany v projektu a jde to prelozit , priloha v prispevku 28 září 2012, 16:32

akorad je tam 27 hlaseni..

_________________
PIC,ASM / C , Mplab + CCS C Compiler
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 892

PříspěvekZaslal: 29 září 2012, 9:07    Předmět: Citovat

Uz som to nejako urobil aby to chodilo. Kontrolne otazky, ked chccem pridat nejake podprogramy ktore su v inom C subore, musim v hlavnom C nalinkovat H aj C, doteraz som bol v tom ze staci H, je pravda ze som maval C v zlozke source C.
CCS neumoznuje vypisovanie textu priamo z ROM ? ale musim zvlast kopirovat do ram pripadne ukladat priamo v ram ?.
By ma zaujimala nejaka vyhoda oproti Htech kompileru lebo zatial vidim same minus, vsetko sa robi komplikovane.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 29 září 2012, 17:58    Předmět: Citovat

Vždy se vkládá pouze .h soubor. V něm jsou (musí být) všechna potřebná data pro použití veřejných funkcí vytvořených v .c.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip Časy uváděny v GMT + 2 hodiny
Jdi na stránku Předchozí  1, 2, 3 ... 8, 9, 10, 11  Další
 
Strana 9 z 11
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)