Pogramuje tu niekto v MPLAB X IDE v cecku?
Moderátori: psichac, Moderátori
-
- Ultimate člen
- Príspevky: 4421
- Dátum registrácie: 09 Apr 2008, 00:00
- Bydlisko: Wicklow, Irsko
- Vek: 47
Pogramuje tu niekto v MPLAB X IDE v cecku?
Cavte,
Najde sa tu niekto kto robi v MPLAB X IDE a citi sa v tom doma?
Potrebujem vysvetlit par veci, co neviem najst na internete. Aby sme nezabijali cas vypisovanim, a je to rychlejsie, preferoval by som rozhovor cez skype, alebo nieco podobne v com sa da nazdielat PC orazovka (ja budem zdielat). Ak vas cas je drahy tak tu "vyuku" aj zaplatim. To nie je problem. Moja priorita je usetrit cas.
Dajte mi prosim vediet tu alebo cez SS.
Dakujem.
Najde sa tu niekto kto robi v MPLAB X IDE a citi sa v tom doma?
Potrebujem vysvetlit par veci, co neviem najst na internete. Aby sme nezabijali cas vypisovanim, a je to rychlejsie, preferoval by som rozhovor cez skype, alebo nieco podobne v com sa da nazdielat PC orazovka (ja budem zdielat). Ak vas cas je drahy tak tu "vyuku" aj zaplatim. To nie je problem. Moja priorita je usetrit cas.
Dajte mi prosim vediet tu alebo cez SS.
Dakujem.
0
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Ahoj,
Ja by som sa chcel spýtať, či ti nie je jasné niečo konkrétne alebo všeobecne. Vlastne je to len NetBeans IDE nad kompilátorom. V konečnom dôsledku asi jediná výhoda je možnosť natívneho debugovania.
Ak by si mal nejaké konkrétne otázky, môžme ich prípadne doriešiť cez SS.
Andy
Ja by som sa chcel spýtať, či ti nie je jasné niečo konkrétne alebo všeobecne. Vlastne je to len NetBeans IDE nad kompilátorom. V konečnom dôsledku asi jediná výhoda je možnosť natívneho debugovania.
Ak by si mal nejaké konkrétne otázky, môžme ich prípadne doriešiť cez SS.
Andy
0
-
- Ultimate člen
- Príspevky: 4421
- Dátum registrácie: 09 Apr 2008, 00:00
- Bydlisko: Wicklow, Irsko
- Vek: 47
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Robim projekt do skoly a zaroven sa ucim C-ko (skocil som do vody a ucim sa plavat) a tlaci ma cas (ako vdy). Niekedy mam zopar otazok a potreboval by som ich vysvetlit a cez forum by to okolo vela vypisovania a problem ktory sa da prediskutovat do 15 min (popripade ukazat cez nazdielanu obrazovku), by cez forum trvalo 2-3 dni nekonecneho vypisovania, pretoze pocas vysvetlovania sa objavia dalsie podotazky a toto sa v rozhovore > da ihned vysvetlit.
Napr. teraz konkretne by som potreboval vysvetlit ako sa v MPLAB X IDE vytvori funkcia ktora sa ulozi mimo main.c ale vola sa v main.c Na youtube kazdy ma volane funkcie v main.c Lenze ja takych funkcii budem mat viac a kvoli prehladnosti main.c ich tam nechcem mat, tak to chcem dat do samotnych xxx.c xxx.h suborov, popripade istu skupinu funkcii do jedneho xxx.c a xxx.h
Povedal by som co potrebujem vysvetlit, dohodneme si cas, a ked treba ukazat priamo v PC cez neaky program (napr. teamviewer) sa to vysvetli. A samozrejme nechcem to len za dakujem.
Napr. teraz konkretne by som potreboval vysvetlit ako sa v MPLAB X IDE vytvori funkcia ktora sa ulozi mimo main.c ale vola sa v main.c Na youtube kazdy ma volane funkcie v main.c Lenze ja takych funkcii budem mat viac a kvoli prehladnosti main.c ich tam nechcem mat, tak to chcem dat do samotnych xxx.c xxx.h suborov, popripade istu skupinu funkcii do jedneho xxx.c a xxx.h
Povedal by som co potrebujem vysvetlit, dohodneme si cas, a ked treba ukazat priamo v PC cez neaky program (napr. teamviewer) sa to vysvetli. A samozrejme nechcem to len za dakujem.
0
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Aj som si myslel, ze to nebude mat suvis len s MPLAB, ale konkretne Cckom. Nakolko ako som spominal, MPLAB je len IDE a samotne programovanie mozes robit v comkolvek inom.
Ok, tak sa mozes ozvat cez SS a doriesime zvysok .
Ok, tak sa mozes ozvat cez SS a doriesime zvysok .
0
-
- Ultimate člen
- Príspevky: 4421
- Dátum registrácie: 09 Apr 2008, 00:00
- Bydlisko: Wicklow, Irsko
- Vek: 47
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Diki moc, ozvem sa coskoro.
Teraz robim plosak na RTC. Prave som sa 2 hodiny trapil ako vytlacit negativ z Eagle pouzitim CAM procesora. Uz som to asi rok a pol nerobil a zabudol som. Uz som na to prisiel. Neobi sa to cez CAM procesor, ale cez export image. Asi mi pamat starne....
Teraz robim plosak na RTC. Prave som sa 2 hodiny trapil ako vytlacit negativ z Eagle pouzitim CAM procesora. Uz som to asi rok a pol nerobil a zabudol som. Uz som na to prisiel. Neobi sa to cez CAM procesor, ale cez export image. Asi mi pamat starne....
0
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Cčko překládá program postupně, jak prochází zdrojový soubor. Tudíž pokud napíšeš kód takhle :romiadam napísal: ↑04 Jún 2022, 15:28Napr. teraz konkretne by som potreboval vysvetlit ako sa v MPLAB X IDE vytvori funkcia ktora sa ulozi mimo main.c ale vola sa v main.c Na youtube kazdy ma volane funkcie v main.c Lenze ja takych funkcii budem mat viac a kvoli prehladnosti main.c ich tam nechcem mat, tak to chcem dat do samotnych xxx.c xxx.h suborov, popripade istu skupinu funkcii do jedneho xxx.c a xxx.h
Kód: Vybrať všetko
int main( void )
{
MojeFunkce();
}
void MojeFunkce( void )
{
// kód funkce
}
Musíš doplnit tzv. funkční prototyp :
Kód: Vybrať všetko
void MojeFunkce( void );
Výsledek pak vypadá nějak takhle :
Kód: Vybrať všetko
void MojeFunkce( void );
int main( void )
{
MojeFunkce();
}
void MojeFunkce( void )
{
// kód funkce
}
Kód: Vybrať všetko
void MojeFunkce( void )
{
// kód funkce
}
Pak máš 2 možnosti :
1 - Funkční prototyp necháš tam, kde je. To je však řešení jen pro případ, že víš, že tyhle funkce už nikdy nikde nepoužiješ. Což je nepravděpodobné hlavně v případě, že si třeba píšeš knihovnu pro nějaký displej apod.
2 - Vložíš funkční prototyp do souboru "SouborMychFunkci.h" a ten vložíš pomocí direktivy #include do programu.
Soubory *.c a *.h bývá zvykem nechat vždy u sebe.
Jednotlivé soubory pak vypadají nějak takto -
Main :
Kód: Vybrať všetko
#include "SouborMychFunkci.h" // s uvozovkama
int main( void )
{
MojeFunkce();
}
Kód: Vybrať všetko
void MojeFunkce( void );
Kód: Vybrať všetko
void MojeFunkce( void )
{
// kód funkce
}
1. #include "soubor.h"
2. #include <soubor.h>
Rozdíl je v tom, že #include s uvozovkama hledá nejdřív v adresáři projektu a pak teprve v knihovnách překladače, tak #include s <> hledá pouze v knihovnách překladače.
Podobné je pak použití proměnných, myslím hlavně těch globálních, použitých ve tvých funkcích :
SouborMychFunkci.c :
Kód: Vybrať všetko
int PromennaSouboruMychFunkci;
int PromennaViditelnaJenVTomtoSouboru;
void MojeFunkce( void )
{
// kód funkce
PromennaSouboruMychFunkci = něco ... ;
PromennaViditelnaJenVTomtoSouboru = něco ... ;
}
SouborMychFunkci.h :
Kód: Vybrať všetko
extern int PromennaSouboruMychFunkci;
void MojeFunkce( void );
0
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
A za chvilu je tu ze mu nejde priradit hodnota k tej premenej
0
-
- Ultimate člen
- Príspevky: 4421
- Dátum registrácie: 09 Apr 2008, 00:00
- Bydlisko: Wicklow, Irsko
- Vek: 47
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
alu,
dakujem pekne za vystiny vyklad. Ten zaciatok som vedel z ucebnic C, ale ten koniec mi pomohol.
Takze to zopakujem, ci som to pochopil:
v main c chcem vypocitat vykon R=U/I kde pre tento priklad bude U a I integer a R moze byt integer ale aj float. A chcem to zavolanim funkcie Vyp_Vykonu.
v main.c pred void main(void) definujem globalne premenne
vytvotim si v projekte vykon.h subor kde napisem toto:
a este vytvorim si v projekte vykon.c subor kde napisem toto:
Takto by to slo? Ak by bol vysledok integer, nebude to vadit ze ho vykon.c vracia ako float? ALebo treba to neako inak?
dakujem pekne za vystiny vyklad. Ten zaciatok som vedel z ucebnic C, ale ten koniec mi pomohol.
Takze to zopakujem, ci som to pochopil:
v main c chcem vypocitat vykon R=U/I kde pre tento priklad bude U a I integer a R moze byt integer ale aj float. A chcem to zavolanim funkcie Vyp_Vykonu.
v main.c pred void main(void) definujem globalne premenne
Kód: Vybrať všetko
float R;
uint8_t U;
uint8_t I;
void main(void)
{
R = Vyp_Vykonu(U, I) // zavolanie funkcie vypocet vykonu
}
Kód: Vybrať všetko
#ifndef VYKON_H
#define VYKON_H
float Vyp_Vykonu (int a, int b);
#endif
Kód: Vybrať všetko
int a; // lokalna premenna
int b; // lokalna premenna
float Vyp_Vykonu (int a, int b);
return (float)(a / b);
0
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
-
- Ultimate člen
- Príspevky: 2582
- Dátum registrácie: 20 Júl 2010, 00:00
- Bydlisko: okolie KE
- Vek: 27
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
V main.c chýba include.
Ten posledný je syntaktický nezmysel. Je tam prototyp funkcie a o riadok neskôr neočakávaný return.
Lokálne premenné sa deklarujú vnútri tela funckie, inak je to stále globálna premenná akurát deklarovaná v inom súbore.
int / int je int, potom sa to pretypuje. Syntakticky je to dobre, akurát výsledok bude kus iný ako očakávate. Treba pretypovať argumenty ešte pred ich vydelením(hoc aj dátový typ argumentov ako vyššie).
Ten posledný je syntaktický nezmysel. Je tam prototyp funkcie a o riadok neskôr neočakávaný return.
Kód: Vybrať všetko
float ComputePower(float u, float y)
{
return u/i;
}
int / int je int, potom sa to pretypuje. Syntakticky je to dobre, akurát výsledok bude kus iný ako očakávate. Treba pretypovať argumenty ešte pred ich vydelením(hoc aj dátový typ argumentov ako vyššie).
0
-
- Ultimate člen
- Príspevky: 4421
- Dátum registrácie: 09 Apr 2008, 00:00
- Bydlisko: Wicklow, Irsko
- Vek: 47
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Nechapem,
To sa neda v urobit ze Integer / integer = float? kvoli uspore pamate
Ak mam U a I definovany ako integer a vysledok je float tak to musim definovat U a I ako float?
Cislo U=20 a I=6 ako integer zoberie 1+1byte z pamate. Float is potrebuje 4 +4 byte teda az 8 byte. Ako sa da usetrit pamat.
EDIT:
nasiel som to tu: https://stackoverflow.com/questions/162 ... et-a-float
To sa neda v urobit ze Integer / integer = float? kvoli uspore pamate
Ak mam U a I definovany ako integer a vysledok je float tak to musim definovat U a I ako float?
Cislo U=20 a I=6 ako integer zoberie 1+1byte z pamate. Float is potrebuje 4 +4 byte teda az 8 byte. Ako sa da usetrit pamat.
EDIT:
nasiel som to tu: https://stackoverflow.com/questions/162 ... et-a-float
0
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Bavíme sa o 8-bitovom MCU, hej? Tam je float pomerne drahý, ak to nemá FPU. Nie som si istý načo chceš použiť float (väčšinou sa tomu v takomto prípade snaž vyhnúť), ale bežne sa to robí tak, že sa drží desatinná časť oddelene. Pracuje sa s tým pomocou / a %. Pripadne variant dva, kde výsledok pred return-om prenásobíš 1.0 .
0
-
- Ultimate člen
- Príspevky: 2582
- Dátum registrácie: 20 Júl 2010, 00:00
- Bydlisko: okolie KE
- Vek: 27
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Ja som to myslel takto:výsledok pred return-om prenásobíš 1.0
Kód: Vybrať všetko
float ComputePower(int u, int i)
{
return (float)u / y;
0
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
K souboru "vykon.c" :
Proměnné "a" a "b" se nedefinují, protože "a" a "b" jsou parametry funkce Vyp_Vykonu a ty se deklarují v této funkci.
float Vyp_Vykonu (int a, int b); - tohle je prototyp funkce (se středníkem). Takhle napsaná patří do .h souboru (to máš správně).
Tady ji musíš zapsat :
Co se typů týká, tak INT *(/) INT je vždy INT.
Počítání s float u jednočipů je velice náročné, tak se používají různé triky a počítá se s INT 16 nebo INT 32 - podle toho jak velký, případně jak přesný výsledek potřebuješ.
Například 1,37 zapíšeš jako 137 (INT) a víš, že máš 2 desetinná místa.
Pokud pak násobíš 1,37*2,59 - pak násobíš 137*259 a víš, že dostaneš 4 desetinná místa, takže výsledek ještě musíš vydělit 100.
1,37*2,59 = 3,5483 a na 2 desetinná místa je to 3,55 (se zaokrouhlením)
Výpočet :
137*259 = 35483 - abysme se dostali na požadovaný tvar, musíš přišíst 50 a vydělit 100.
35483 + 50 = 35533 / 100 = 355 -> 3,55.
Když dělíš, musíš počítat s tím, že potřebuješ získat výsledek na 2 desetinná místa.
1,37/2,59 = 0,52895 => 0,53
137/259 -> 137 je třeba dostat na 4 desetinná místa a kvůli zaokrouhlení přidat 50
Tedy 13750/259 = 53 => 0,53.
Pozor - u záporných čísel musíš těch 50 odečítat.
U sčítání a odečítání posun řádu řešit nemusíš.
Doufám, že jsem to vysvětlil dostatečně jasně.
Kód: Vybrať všetko
int a; // lokalna premenna
int b; // lokalna premenna
float Vyp_Vykonu (int a, int b);
return (float)(a / b);
float Vyp_Vykonu (int a, int b); - tohle je prototyp funkce (se středníkem). Takhle napsaná patří do .h souboru (to máš správně).
Tady ji musíš zapsat :
Kód: Vybrať všetko
float Vyp_Vykonu (int a, int b)
{
return (a/b);
}
Počítání s float u jednočipů je velice náročné, tak se používají různé triky a počítá se s INT 16 nebo INT 32 - podle toho jak velký, případně jak přesný výsledek potřebuješ.
Například 1,37 zapíšeš jako 137 (INT) a víš, že máš 2 desetinná místa.
Pokud pak násobíš 1,37*2,59 - pak násobíš 137*259 a víš, že dostaneš 4 desetinná místa, takže výsledek ještě musíš vydělit 100.
1,37*2,59 = 3,5483 a na 2 desetinná místa je to 3,55 (se zaokrouhlením)
Výpočet :
137*259 = 35483 - abysme se dostali na požadovaný tvar, musíš přišíst 50 a vydělit 100.
35483 + 50 = 35533 / 100 = 355 -> 3,55.
Když dělíš, musíš počítat s tím, že potřebuješ získat výsledek na 2 desetinná místa.
1,37/2,59 = 0,52895 => 0,53
137/259 -> 137 je třeba dostat na 4 desetinná místa a kvůli zaokrouhlení přidat 50
Tedy 13750/259 = 53 => 0,53.
Pozor - u záporných čísel musíš těch 50 odečítat.
U sčítání a odečítání posun řádu řešit nemusíš.
Doufám, že jsem to vysvětlil dostatečně jasně.
0
-
- Ultimate člen
- Príspevky: 4421
- Dátum registrácie: 09 Apr 2008, 00:00
- Bydlisko: Wicklow, Irsko
- Vek: 47
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Super triky pre zjednodusenie pocitania. Len nechapem preco prave 50. To je konstanta pre hocijake cisla alebo ta 50-ka od niecoho zavisi? Medzitym skusim na to prist sam.
0
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Ta 50-ka je polovina 100-ky, kterou dělíš a pomáhá ke správnému zaokrouhlení čísla :
15678/100 = 156 (celé samozřejmě v INT) => 1,56
Jenže 1,5678 zaokrouhleno na 2 desetinná místa je 1,57 a ne 1,56
(15678+50)/100 = 15728/100 = 157 => 1,57
Když budeš počítat s jedním desetinným místem násobíš/dělíš 10 a zaokrouhluješ přičítáním/odečítáním 5.
Když budeš počítat se třemi desetinnými místy násobíš/dělíš 1000 a zaokrouhluješ přičítáním/odečítáním 500.
atd.
A ještě něco, co vyplinulo z diskuze :
je rozdíll mezi return (float)(a / b); a return (float)a / b;.
return (float)(a / b); - vydělí se a/b => INT/INT => výsledek je INT a ten se převede na FLOAT - ztráta desetinných míst.
return (float)a / b; - nejdříve se a převede na float a pak se dělí FLOAT/INT => výsledek je FLOAT - desetinná místa zůstávají.
Pokud začínáš s C, pak Tě ještě upozorním na jednu věc - pořadí operací :
Vyzkoušej si B = ++A; a pak B = A++;.
B = ++A; => provede se A=A+1, pak B = A.
B = A++; => provede se B = A, pak A=A+1.
Pár důležitých rad pro přehlednost a čitelnost programu
1) Proměnné nazývej smysluplně :
int i; vs. int Idx; - u Idx víš, že jde o nějaký index (třeba pro smyčku apod.)
int d; vs. int DelayCountdown; - pokud nazveš proměnnou d, tak za rok nebudeš vědět, co má ta proměnná na starosti, pokud jí nazveš DelayCountdown, tak víš, že je to odpočítávání pro nějaké zpoždění.
2) Nikdy nepiš konstanty přímo do programu, ale definuj je na začátku :
Podíváme se na (15678+50)/100 z textu výše. Můžeš to napsat tak, jak jsem to uvedl v příkladu nebo
Stačí přepsat jedno jediné číslo a máš hotovo...
Výsledek by pak vypadal místo (15678+50)/100 takto (15678+Zaokrouhleni)/NasobitelDelitel.
A představ si, že budeš chtít změnit počet desetinných míst ve výpočtech. Nemusíš hledat v celém programu, kde je použité 100 a 50, nespleteš se a ne každá 100 nebo 50 bude ta, co chceš změnit. S nadefinovanýma konstantama se změní co chceš v celém programu a jen tam, kde je to správně.
Další tipy zase až někdy příště.
15678/100 = 156 (celé samozřejmě v INT) => 1,56
Jenže 1,5678 zaokrouhleno na 2 desetinná místa je 1,57 a ne 1,56
(15678+50)/100 = 15728/100 = 157 => 1,57
Když budeš počítat s jedním desetinným místem násobíš/dělíš 10 a zaokrouhluješ přičítáním/odečítáním 5.
Když budeš počítat se třemi desetinnými místy násobíš/dělíš 1000 a zaokrouhluješ přičítáním/odečítáním 500.
atd.
A ještě něco, co vyplinulo z diskuze :
je rozdíll mezi return (float)(a / b); a return (float)a / b;.
return (float)(a / b); - vydělí se a/b => INT/INT => výsledek je INT a ten se převede na FLOAT - ztráta desetinných míst.
return (float)a / b; - nejdříve se a převede na float a pak se dělí FLOAT/INT => výsledek je FLOAT - desetinná místa zůstávají.
Pokud začínáš s C, pak Tě ještě upozorním na jednu věc - pořadí operací :
Vyzkoušej si B = ++A; a pak B = A++;.
B = ++A; => provede se A=A+1, pak B = A.
B = A++; => provede se B = A, pak A=A+1.
Pár důležitých rad pro přehlednost a čitelnost programu
1) Proměnné nazývej smysluplně :
int i; vs. int Idx; - u Idx víš, že jde o nějaký index (třeba pro smyčku apod.)
int d; vs. int DelayCountdown; - pokud nazveš proměnnou d, tak za rok nebudeš vědět, co má ta proměnná na starosti, pokud jí nazveš DelayCountdown, tak víš, že je to odpočítávání pro nějaké zpoždění.
2) Nikdy nepiš konstanty přímo do programu, ale definuj je na začátku :
Podíváme se na (15678+50)/100 z textu výše. Můžeš to napsat tak, jak jsem to uvedl v příkladu nebo
Kód: Vybrať všetko
#define NasobitelDelitel (100)
#define Zaokrouhleni (NasobitelDelitel/2)
Výsledek by pak vypadal místo (15678+50)/100 takto (15678+Zaokrouhleni)/NasobitelDelitel.
A představ si, že budeš chtít změnit počet desetinných míst ve výpočtech. Nemusíš hledat v celém programu, kde je použité 100 a 50, nespleteš se a ne každá 100 nebo 50 bude ta, co chceš změnit. S nadefinovanýma konstantama se změní co chceš v celém programu a jen tam, kde je to správně.
Další tipy zase až někdy příště.
0
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
len tak mimo toho co uz bolo spomenute:
nikoho netankuje ze chceme pocitat vykon ako P=U/I?
nikoho netankuje ze chceme pocitat vykon ako P=U/I?
0
-
- Ultimate člen
- Príspevky: 2582
- Dátum registrácie: 20 Júl 2010, 00:00
- Bydlisko: okolie KE
- Vek: 27
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Tu je vidno, že tá funkcia má v skutočnosti počítať odpor, v takom prípade vzorec sedí.void main(void)
{
R = Vyp_Vykonu(U, I) // zavolanie funkcie vypocet vykonu
}
0
-
- Ultimate člen
- Príspevky: 4421
- Dátum registrácie: 09 Apr 2008, 00:00
- Bydlisko: Wicklow, Irsko
- Vek: 47
Re: Pogramuje tu niekto v MPLAB X IDE v cecku?
Ospravedlnujem sa.
V programe pocitam vykon, lenze otazka skor bola mierena na delenie dvoch integerov (ci z toho dostanem float) a tak som to doplietol.Programoval som vykon P = U * I a potom ma napadlo ze ako sa to robi pri deleni, tak som si otvoril forum a v otazke som zacal pisat vykon lenze som sa chcel pytat na delenie a prehodilo sa mito v hlave a neskontroloval som si to po sebe.
Takze slovo vykon nahradte odporom.
R = Vyp_Odporu(U, I)
0
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 10 Odpovedí
- 848 Zobrazení
-
Posledný príspevok od používateľa budvar10
-
- 5 Odpovedí
- 1672 Zobrazení
-
Posledný príspevok od používateľa pocitujlasku
-
- 6 Odpovedí
- 769 Zobrazení
-
Posledný príspevok od používateľa pocitujlasku
-
- 11 Odpovedí
- 1773 Zobrazení
-
Posledný príspevok od používateľa miroja
-
- 3 Odpovedí
- 760 Zobrazení
-
Posledný príspevok od používateľa martin knocik