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 ... , 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: 889

PříspěvekZaslal: 29 září 2012, 18:14    Předmět: Citovat

Tak potom v h cku musi byt include jeho cecka?
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, 19:36    Předmět: Citovat

Nemusí, ani "nesmí". Překladač ví, že .h a .c se stejným jménem patří k sobě. Naopak .h soubor se vkládá do svého .c pokud je potřeba (bývají tam různé definice, které .c soubor potřebuje).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


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

PříspěvekZaslal: 30 září 2012, 11:16    Předmět: Citovat

Tak to vysvetlite prekladacu ze to tak ma byt, v Hlavnom*.C musim mat #include "lcd.c" inak to nechodi... v lcd.C zasa #include "lcd.h", a je aj ina moznost v hlavnom*.C mat lcd.h aj lcd.c
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: 30 září 2012, 18:19    Předmět: Citovat

Vtom případě je to blbě napsaný nebo je blbě nastavený IDE (který volá překladač), případně není zdroják přidán v projektu a IDE o něm neví (vloží ho tam až preprocesor).
Že je vložen lcd.h v lcd.c je vpořádku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
colombo
Profesionál
Profesionál


Založen: 11.4.2008
Příspěvky: 50

PříspěvekZaslal: 04 říjen 2012, 10:14    Předmět: Citovat

a máš to lcd přidané do projektu? v source files
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


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

PříspěvekZaslal: 05 říjen 2012, 22:23    Předmět: Citovat

Nie lebo sa to nepaci prekladacu tam je len hlavne cecko, ked to troska upravim dam to sem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


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

PříspěvekZaslal: 25 listopad 2012, 18:13    Předmět: Citovat

Som spät... prosim navod, lebo tak sa robit neda neviem spojazdnit prerusenie na 16f628A pomocou TMR0.

Urobim take veci: inicalixacia
kód:
 SETUP_TIMER_0(T0_INTERNAL);
   SETUP_TIMER_0(T0_DIV_256);

//hlavna slucka
   CLEAR_INTERRUPT(INT_TIMER0);
   ENABLE_INTERRUPTS(INT_TIMER0);
   ENABLE_INTERRUPTS(GLOBAL);

   delay_ms(300);
   delay_ms(300);
   delay_ms(300);
   DISABLE_INTERRUPTS(INT_TIMER0);

//program prerusenia to ani neregistruje prekladac a na adrese 0x4 ma  vyse nejaku slucku ci co ...proste nechapem prikladam realizaciu prerusenia

void timer0interrupt (void)
   {
   if(INTERRUPT_ACTIVE(INT_TIMER0))      // Was this a timer overflow?
      {
      s=~s;
      chybakomunikacie=1;
      error=0;
      CLEAR_INTERRUPT(INT_TIMER0);
      }
   }



TAk ze ak niekto ma funkcnu rutinu pre prelladac PICC tak by som poprosil.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
MiloPS3
Profesionál
Profesionál


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

PříspěvekZaslal: 25 listopad 2012, 18:29    Předmět: Citovat

kdyz si otevres help a najdes si #INT_xxxx tak zjistis ze preruseni se pise
kód:
#int_timer2  //timer0/timer1
void timer2interrupt()
{
}

_________________
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: 889

PříspěvekZaslal: 25 listopad 2012, 19:23    Předmět: Citovat

ja blbec.... ja som otvoril PDF od HItech compilera Embarassed
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 254
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 12 duben 2013, 12:46    Předmět: Citovat

Ahoj, nevím jak toto specifikovat do googlu.
Chci mezi sebu vynásobit 2 int čísla a výsledek by se mi měl uložit do proměnné long. Jenomže kompilátor C30 mi výsledek násobení ukládá jako int a horních 9 bitů výsledku zahodí.

kód:

unsigned int U_BAT;
unsigned long UBAT;
U_BAT = 740;

UBAT = U_BAT * 31439;


V MPLABu v okně Watch vidím, že mám UBAT reprezentován jako 32b registr, ale při vynásobení se naplní jen spodních 16b a zbytek se mi nikam neuloží a ztratí se.

Používám dsPIC33FJ16GS502
Děkuji

_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 12 duben 2013, 13:01    Předmět: Citovat

Možná by mohlo pomoct přetypování:

UBAT = (unsigned long)U_BAT * (unsigned long)31439;
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
MiloPS3
Profesionál
Profesionál


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

PříspěvekZaslal: 12 duben 2013, 15:22    Předmět: Citovat

no ,je to logicky , U_BAT je 8bit tak vysledek bude taky max 8bit
UBAT = (U_BAT * 31439); zapis to takle
U_BAT * 31439 -> vysledek se ti ulozi do U_BAT a ten pak do UBAT Idea

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

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 254
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 12 duben 2013, 16:26    Předmět: Citovat

Panda38: Díky moc, funguje. Přesně jsi pochopil co potřebuju.

MiloPS3: No mě to vůbec logický nepřijde, že když mezi sebou nasobím 2 16b čísla a chci je uložit jako 32b že to uloží opět jen jako 16b.
Protože, to samo dělám se sčítáním, tam to funguje samo a bez problémů.

_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
MiloPS3
Profesionál
Profesionál


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

PříspěvekZaslal: 12 duben 2013, 16:38    Předmět: Citovat

skouse si to s tema zavorkama ?
citace:
nasobím 2 16b čísla a chci je uložit jako 32b že to uloží opět jen jako 16b.
to je prave ono, neulozin se ti to do 32b ale nejdriv do 16b(U_BAT) a pak teprve do 32d proto se ti zdejchne nekam ten zbytek...
kdyz zapises U_BAT jako 32b tak to chodi,ze? , takze staci to dat do zavorek a nemusi mit U_BAT jako 32b,

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

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 12 duben 2013, 18:38    Předmět: Citovat

MiloPS3 asi jsem natrvdlý, ale vůbec jsem nepochopil o čem mluvíš. Very Happy Proč by to měly závorky ovlivnit?

Případně by to mělo fungovat i takhle:

UBAT = U_BAT;
UBAT *= 31439;
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

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 ... , 9, 10, 11  Další
 
Strana 10 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)