programovanie v c

C,C++,C#

Moderátori: psichac, Moderátori

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2567
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: programovanie v c

Príspevok od používateľa maskrtnik01 » 29 Dec 2019, 20:14

Pre mňa by bola samovražda napísať v asm vlastné atoi/itoa zo štandardných C knižníc.
0

Používateľov profilový obrázok
feros
Stály člen
Stály člen
Príspevky: 414
Dátum registrácie: 23 Sep 2010, 00:00
Bydlisko: okres Nitra

Re: programovanie v c

Príspevok od používateľa feros » 29 Dec 2019, 21:34

V asm máte všetko pod kontrolou, ale v skutočnosti to znamená že všetko pod kontrolou mať musíte lebo dokonalejší chaos ako asm len tak nevytvorite.
V asm som strávil zároveň spústu času nad naprogramovaním drobností ( a + b/c = d ) ktoré v xc neriešim.
Môžem sa sústrediť na to čo má vec robiť a nie na to ako to spraviť, a to že je program niekedy väčší ako keď ho napíšem v asm ( čo často nie je pravda ) sa dnes dá pohode vyriešiť cez nové mcu.
Pre mňa je len škoda že Raspberry Pi nespravili ľudia z arduina.
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6203
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: programovanie v c

Príspevok od používateľa pocitujlasku » 30 Dec 2019, 06:41

asm nie je chaos.
ja som rad, ze raspberry nerobili ludia z arduina. Ked som v nom nedavno skusal veci, tak som narazil na niekolkorocny bug, ktory mi prekazil moje plany a potvrdil to, ze nikdy sa na nic nespoliehaj. Totiz maju tam chybu v tcp, kedy jednoducho male tcp packety sa stratia. co je nepripustne. a ja 2 dni hladam chybu v mojom kode.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

Používateľov profilový obrázok
feros
Stály člen
Stály člen
Príspevky: 414
Dátum registrácie: 23 Sep 2010, 00:00
Bydlisko: okres Nitra

Re: programovanie v c

Príspevok od používateľa feros » 30 Dec 2019, 10:08

Myslel som to skôr tak, že ja som dúfal že prepojenie hardwaru a pc bude minimálne na úrovni arduina, teda vývojové prostredie, knižnice, ovládanie pinou priamo v min. us.
Zatiaľ je pre mňa RB úspešným marketingovým projektom u ktorého žiadne skutočné použitie pre mňa nie je.
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6203
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: programovanie v c

Príspevok od používateľa pocitujlasku » 30 Dec 2019, 12:05

no vidis a pre mna je to super vec, vyvojove prostredie je tam viac nez dobre, ci uz perl, python, c, .net core...
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

slonik
Okoloidúci
Okoloidúci
Príspevky: 39
Dátum registrácie: 19 Dec 2019, 22:01
Bydlisko: Žilina

Re: programovanie v c

Príspevok od používateľa slonik » 08 Feb 2020, 23:01

poradil by mi niekto?
Som začiatočník a len sa učím v "C" tak ak sa pýtam hlúpo alebo neznalo vopred sa ospravedlňujem.
používam PIC16F v mblab
potrebujem spraviť túto rovnicu.
L=(0,4x(R1/R2))^-1,431
môj kód vyzerá takto

Kód: Vybrať všetko

    P=R1/R2;
    n=0.4*P;
    H =  pow ( n,-1.431);
no ... nefunguje .... na displeji mi ukáže nuly .... zrejme je problém že exponent je záporné číslo ... to je zrejme asi prvý problém ktorý mám. Dosadil som rôzne čísla s kladným exponentom pre skúšku správnosti ale stále mi zobrazuje nulu aj keď je výsledok celé kladné číslo. No problém ale bude asi aj v zaokrúhľovaní ... keď už v prvom výraze dostanem číslo napríklad 0,687 tak to berie ako nula a výsledok je potom nula. Alebo výsledok rovnice je 0,687 tak mi vypíše nulu.
Ja viem že je niekde chyba v mojej nevedomosti ale ak by bol ochotný mi niekto poradiť bol by som vďačný....
0

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1148
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: programovanie v c

Príspevok od používateľa Atlan » 09 Feb 2020, 06:16

Te premenee su char, int alebo float? Daj sem cely kod.
0

JohnnyElektro
Stály člen
Stály člen
Príspevky: 386
Dátum registrácie: 16 Júl 2019, 14:22

Re: programovanie v c

Príspevok od používateľa JohnnyElektro » 09 Feb 2020, 09:46

ja by som si tipol ze sa ti zaokruhlia na nulu po deleni alebo nasobeni 0.4, lebo mas celociselny typ na premennych. Skus
P=((float)R1)/((float)R2);
n=0.4*((float)P);
H = pow ( ((float)n),-1.431);
0

slonik
Okoloidúci
Okoloidúci
Príspevky: 39
Dátum registrácie: 19 Dec 2019, 22:01
Bydlisko: Žilina

Re: programovanie v c

Príspevok od používateľa slonik » 09 Feb 2020, 11:57

Vďaka chalani.
To mi stačí. Idem si naštudovať typové dáta premenných.....zrejme tam spočíva môj problém
ja mám všetky premenné definované ako uint8_t x.... resp. uint16_t y....
0

07spider70
Okoloidúci
Okoloidúci
Príspevky: 1
Dátum registrácie: 06 Feb 2020, 23:11

Re: programovanie v c

Príspevok od používateľa 07spider70 » 09 Feb 2020, 12:16

treba si pozrieť druhy premenných, je niekedy dobré použivať aj short, byte a podobné veci kvôli šetreniu pamäte, C je inak dosť zapeklitý jazyk, ale materiálov na učenie je našťastie k nemu dosť :D
0

Používateľov profilový obrázok
boraicho
Ultimate člen
Ultimate člen
Príspevky: 12407
Dátum registrácie: 03 Feb 2007, 00:00
Bydlisko: Prešov
Vek: 35
Kontaktovať používateľa:

Re: programovanie v c

Príspevok od používateľa boraicho » 04 Máj 2020, 19:24

Prosím Vás, mam taky problem, začal som pisať program a zistil som že mam problem.Neviem to vyriešiť.
Na procaku su pripojene 3 tlačitka 3 kontrolky takže:
použivam tlačitko 1 a 2 a prerušenia.
jednoducha vec
stlačim tlačitko 1 , dioda 1 na vystupe sa preklapa
stlačim tlačitko 2 , dioda 2 na vystupe sa preklapa
(plus časovač taky debounicng)

lenže v skotočnosti
stlačam tlačitko 1 preklapa sa dioda 1 všetko v poriadku
stlačam tlačitko 2 preklapa sa dioda 2 a náhodne sa preklapa aj dioda 1 to nieje v poriadku
Prečo sa to deje? neviem kde mam chybu.

Procesor je 16F18325 a program v linku https://textuploader.com/1qwup
nejake riešnie? vdaka
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1148
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: programovanie v c

Príspevok od používateľa Atlan » 04 Máj 2020, 19:37

Pullup rezistory mas aktivovame? 100n na napajacicj vyvodoch uP su? To else tam je snad zbytocne ci?

RMW problem na tychto uP uz nieje?
0

Používateľov profilový obrázok
boraicho
Ultimate člen
Ultimate člen
Príspevky: 12407
Dátum registrácie: 03 Feb 2007, 00:00
Bydlisko: Prešov
Vek: 35
Kontaktovať používateľa:

Re: programovanie v c

Príspevok od používateľa boraicho » 04 Máj 2020, 20:07

vnutorne nepouživam. mam externe puldown 4,7k tušim. a blokovanie a všetko je samozrejmosť.
else som vyhodil, nepomohlo....

RMW to mi niečo hovori, asi som to niekedy riešil, cez LATA? nepametam bolo to dávno.
problem je že mi vchádza do prveho prerušenia nerozumiem prečo.
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS

nop
Nový člen
Nový člen
Príspevky: 66
Dátum registrácie: 25 Sep 2010, 00:00
Bydlisko: Boskovice
Vek: 49

Re: programovanie v c

Príspevok od používateľa nop » 04 Máj 2020, 20:30

jak máš definovaný led1 ,led2 ? Mělo by to být jako LATA pro port A LATB pro port B.
0

Používateľov profilový obrázok
boraicho
Ultimate člen
Ultimate člen
Príspevky: 12407
Dátum registrácie: 03 Feb 2007, 00:00
Bydlisko: Prešov
Vek: 35
Kontaktovať používateľa:

Re: programovanie v c

Príspevok od používateľa boraicho » 04 Máj 2020, 21:05

aha , hned vyskušam!
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS

nop
Nový člen
Nový člen
Príspevky: 66
Dátum registrácie: 25 Sep 2010, 00:00
Bydlisko: Boskovice
Vek: 49

Re: programovanie v c

Príspevok od používateľa nop » 06 Máj 2020, 06:01

V C toho moc nepíšu ale obecně výstupy dávat na LAT registry a vstupy číst z PORT registrů.
0

Používateľov profilový obrázok
boraicho
Ultimate člen
Ultimate člen
Príspevky: 12407
Dátum registrácie: 03 Feb 2007, 00:00
Bydlisko: Prešov
Vek: 35
Kontaktovať používateľa:

Re: programovanie v c

Príspevok od používateľa boraicho » 06 Máj 2020, 09:47

vieš čo, mam pocit že pomohlo toto
že do prerušenia ISR som na koniec dal IOCCF=0;
lebo ked som kukal cez debuger, tak tie flagy IOCCFx sa same od seba zapinali aj bez toho aby som stlačal tlačitko, netušim prečo to robilo.
tak som dal na koniec ten IOCCF=0; a vyzera že to ide, ale dal som k tym IOCCF0==1 aj && tl1
pre istotu.
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS

Používateľov profilový obrázok
niki31
Stály člen
Stály člen
Príspevky: 172
Dátum registrácie: 05 Feb 2010, 00:00
Bydlisko: Žilinský kraj
Vek: 49

Re: programovanie v c

Príspevok od používateľa niki31 » 22 Jún 2020, 15:39

Vidím že stále panujú nejasnosti okolo LAT registrov, tak vedzte že:
Po odoslaní Byte na port, (či už zápisom do registra LAT alebo PORT alebo funkciou OutPort, atď.) tento Byte skončí vždy v registri LAT.
Všetky výstupné zápisy sú teda rovnocenné. To či sa hodnota bitu prenesie aj na pin, je závislé od nastavenia registra TRIS. V načítaní dát sú rozdiely. Pri načítaní LAT registra sa prečíta posledná hodnota dát ktorá bola odoslaná na výstup, bez ohľadu na skutočný stav portu. Pri načítaní z PORTu sa prečítajú skutočné hodnoty ktoré sú na pinoch. Relevantné dáta sú len z pinov ktoré sú v TRIS
nastavené ako vstup.

Kto toto vie nech sa nevzrušuje, kto nie nech sa doučí.
0
Niki31

Používateľov profilový obrázok
boraicho
Ultimate člen
Ultimate člen
Príspevky: 12407
Dátum registrácie: 03 Feb 2007, 00:00
Bydlisko: Prešov
Vek: 35
Kontaktovať používateľa:

Re: programovanie v c

Príspevok od používateľa boraicho » 01 Júl 2020, 19:15

Neviete niekto ako spraviť aby ked použivam delay čiže __delay_ms(); ale ten čo je v knižnici priamo zakomponovany,

tak som mohol počas chodu meniť jeho parameter , čiže čas?
čiže ak je kod takýto:
__delay_ms(100); tak všetko funguje

ale ked je kod takyto tak to nefunguje a neskompiluje program a nejake erory.
int cas=100;
__delay_ms(cas);

potrebujem potenciometrom meniť frekvenciu a v podstate je to jednoduchšie ako nastavovať timery. diky za radu.
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6203
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: programovanie v c

Príspevok od používateľa pocitujlasku » 01 Júl 2020, 19:36

tie nejake erory budu oznamovat kde je chyba, tak by bolo fajn ich sem skopirovat.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok