Priklady C - pre zaciatocnikov

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 05 Máj 2016, 21:36

neviem v tom najst nejaky system ale skusal som vselijake hausnumera a v retazci cisel je vzdy viac parnych cisel

edit: skusal som to vselijako zjednodusit... neuspech :-(
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 45

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 06 Máj 2016, 00:34

8O

Kód: Vybrať všetko

#include <stdio.h>

int main()
  {
    int i;

    printf("zadaj cislo: ");
    scanf("%d" ,&i);

    while(i!=1)
    {
      if(i&1)
      {
        i=(i<<3)-(i<<1)+2;
      }
        printf("%d \n",i>>=1);
    }      
    return 0;
  }
edit:
zjednodušenie je v tom, že počítaš pri nepár i*6+2 čo je 2*(i*3+1) a tlačíš vždy i/2

a ten zápis si vyhľadaj... násobenie mocninou 2

ak Ti ide o rýchlosť, tak toto Ti pomôže
0

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 45

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 06 Máj 2016, 08:02

Aby si zbytočne nezabíjal čas... dva príklady:
x...................13.....00001101
x*2...............26.....00011010....i<<1
x*4...............52.....00110100....i<<2
x*8...............104...01101000....i<<3
x*2^n..........................................i<<n

Všimni si binárny zápis, naschvál je pod sebou.

A druhý skoro zo základnej školy :-D
i*6 = i*(8 -2) = i*8 - i*2 = (i<<3) - (i<<1)

Zátvorky sú dôležité, lebo operátor bitového posunu má malú prioritu.
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 06 Máj 2016, 09:44

fu.. tak toto mi normalne vyrazilo dych 8O :oops: budem to asi nejaku dobu vstrebavat...
prisiel by som na to aj sam :idea: ...asi tak za 20-30 rokov ...ma to svoje vyhody rozmyslat v binarnej sustave
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 45

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 06 Máj 2016, 10:13

Ešteže na to prišli múdre hlavy pred nami a my sa to už len naučíme ;-) bitové operácie nájdeš aj v Heroutovi, ale vidí sa mi, že až niekde vzadu... Ale zjednodušenia si musíš oddrieť sám.

-- Spojený príspevok 06 Máj 2016, 09:22 --

Len ako zaujímavosť ... takto to ide v akejkoľvek číselnej sústave, lenže ako vieme, naše bežné PC a MCU pracujú s 0 a 1, preto je toto priama cesta bez omáčky.

i................. 00013
i*10.............00130
i*100...........01300
i*10^n..........toto neviem zapísať :-) ale vieš čo myslim

Ale odmalička fungujeme s desiatimi prstami, tak sa nám ľahšie rozmýšľa v 10kovej sústave.
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 06 Máj 2016, 18:06

dneska som si vyskusal citanie/zapisovanie so/do suboru ...dost strucna kapitola
premenna - FILE *
End of File (EOF), fopen(), fclose(), fprintf(), fscanf(), freopen()...

cez vikend budem asi trochu slopat, tak dufam ze nenastane reset a od pondelka sa ucim znovu chodit... :-)
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 45

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 06 Máj 2016, 18:14

Tak nazdravie! :partyman:
Tento víkend sa tiež asi nezdržím :-)
0

Používateľov profilový obrázok
Pozitron
Stály člen
Stály člen
Príspevky: 312
Dátum registrácie: 20 Dec 2011, 19:49

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Pozitron » 13 Máj 2016, 20:17

Už týždeň ste tu nič neprogramovali, tak vám posielam inšpiráciu naskenovanú z jednej knižky.
Prílohy
Začína to naspodku strany, tak to vyšlo ...
Začína to naspodku strany, tak to vyšlo ...
Časť kódu tu uvedená nie je v céčku, ale prečítať sa to dá
Časť kódu tu uvedená nie je v céčku, ale prečítať sa to dá
Grafy sú pekné
Grafy sú pekné
No a záver je povzbudzujúci
No a záver je povzbudzujúci
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 16 Máj 2016, 10:24

...veru nebol som tu dlho, mam novy OS - Ubuntu 16.04 (cinnamon) este to doladujem :-) trochu som laboroval, skusal som aj ine distra (fedora, debian, mint...ale vratil som sa k Ubuntu) uz coskoro sa znovu vrhnem na to
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 06 Jún 2016, 11:04

rad bych sa trochu posunul smerom k AVR :-) mam postavenu tuto dostku od luboss17

Obrázok

na autorovej webstranke ja aj kratky serial o AVR + priklady v C aj asm

napr:

Kód: Vybrať všetko

#include <avr/io.h>
#include <util/delay.h>

#define SETBIT(ADRESS,BIT) (ADRESS |= (1<<BIT))
#define CLRBIT(ADRESS,BIT) (ADRESS &= ~(1<<BIT))

int main()
{
	OSCCAL = 0xA0; //kalibracia oscilatora

	CLRBIT(DDRD,PD0); //tlacidlo na PD0 - ako vstup
	SETBIT(DDRC,PC0); //LED-ka na PC0 - ako výstup

	SETBIT(PORTD,PD0); //pull-up pre PD0
	SETBIT(PORTC,PC0); //led na zaciatku svieti

	while(1) //nekonecna slucka - beh programu
	{
		if (!(PIND & (1<<PD0))) //testovanie PD0 na log0 - tlacidlo stlacene
		{
			if (PINC & (1<<PC0)) CLRBIT(PORTC,PC0);
			else SETBIT(PORTC,PC0);
		}

		_delay_ms(220);
	}

	return 0;
}
niektore programi su skompilovane v avr studio pre m32

chcel bych sa to naucit sam skomlipovat a nahrat do mcu pomocou Code::Blocks (ten mam aj v Lin aj vo Win)
mam USBasp aj Dragon

vopred vdaka za rady :-)
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 07 Jún 2016, 11:53

kto mi napise jednoduchy programik na otestovanie funkcnosti displeja (16x4) na tej mojej doske?

je tam tento model s ST7066U
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa peterple » 07 Jún 2016, 21:09

Bola by veľká chyba keby ti to niekto napísal. Nemyslím si ale že začínaš dobre. Nejaké znalosti už máš. Skús ich použiť na úplne triviálne veci. Teda na blikanie s LEDkami. Nepozeraj ani veľmi po cudzích kódoch. Zvyčajne narazíš aj v úplných blbinách na veci ktoré asi ako začiatočník nechápeš. Napríklad tie makrá SETBIT a CLRBIT v predošlom príspevku. Oveľa lepšie je otvoriť si datasheet prislušného procesora a naštudovať z neho ako je možne pripojiť niekam LED a čo všetko treba nastaviť aby sa rozsvietila. Potom to naprogramovať.
Ak sa rozsvieti pokračovať ďalej, zložitejšími a zložitejšími blik efektami. To je niečo ako stupnice pre tých čo sa učia hrať na nejaký hudobný nástroj. Ak nemá človek v malíčku stupnice tak potom zahrať skladbu je v podstate nemožné.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 07 Jún 2016, 23:08

blikanie ledkou a podobne discipliny mam uz za sebou :-)
potreboval bych preverit funkcnost toho displeja, tie vzorove programy mi nejak nefunguju :-(
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa peterple » 08 Jún 2016, 21:34

Takže ak dokážeš blikať nezávisle štyrmi LED a ďalšími dvomi LED na tom istom porte, tak vieš riadiť aj displej. Najlepšie je si to napísať sám. Ono ti to najprv nepôjde, ale po mesiaci vlastných pokusom by si na to prišiel. Viem o čo hovorím. Mne to trvalo možno aj dva mesiace než som to pevne držal v rukách. Lenže to bolo v roku 1995. K dispozícii som mal datasheet v parierovej podobe, displej a nejaký MCU. Dnes sa opýtaš na internete a zvládneš to do troch dní. Tie skúsenosti ktoré pri tom získaš je to čo lepiči kódu nemajú.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 08 Jún 2016, 21:46

ak som spravil chybu pri stavbe tej dosky tak na to pridem po nejakej dobe(tak za pol roka hadam), chcel som len jednoduchy program (...hello world) abych preveril funkcnost, lebo sa mi to nezda... :-(
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
BFX
Ultimate člen
Ultimate člen
Príspevky: 2506
Dátum registrácie: 04 Sep 2013, 19:41
Bydlisko: Košice
Vek: 50

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa BFX » 08 Jún 2016, 21:55

Jedna rada , kup si aspon klon saleae lgockeho analyzatora pripadne nieco lepsie ak chces seriozne vyvijat taketo veci , lebo nikdy nevies ci mas napriklad zlu i2c adresu alebo posielas bludy.
S tym si budes absolutne isty co sa deje na dratoch a ak ti to sedi s datasheetom tak to chodit musi.
0
“Nice looking” circuit construction doesn't always equate to good circuit performance.
http://www.arrl.org/files/file/Product% ... pter_1.pdf
Na predaj: p-bfx-predava-kto-zavaha-prerobi-t41148.html

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa mato3000 » 08 Jún 2016, 21:57

druhá rada, vývojové prostriedky si kupuj , ušetríš tým kooopu času pre projekty a zbavíš sa neistoty, či si zle spravil dosku, či si to len zle naprogramoval. Proste hotová kvalitná doska ti ušetrí tak rok tápania a možno práve ten čas je tým rozhodujúci, že či sa tomu budeš venovať naďalej, alebo to zabalíš, lebo ti nebude nič fungovať.
0

Používateľov profilový obrázok
Najgel
Ultimate člen
Ultimate člen
Príspevky: 1695
Dátum registrácie: 02 Júl 2010, 00:00
Bydlisko: Námestovo, Žilina(škola)
Vek: 29

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Najgel » 08 Jún 2016, 22:06

Mato3k nehovorí do vetra, aj mne to hovoril, nepočúval som ho a doplatil som
0
Keď neodpisujem tak tu nie som, alebo som a neodpisujem :D

MPLAB & PIC
Texas Instruments DSP TMS320Fxxxxx
Tevo Tarantula 3D
Ponúkam 3D tlač.
Ponúkam návrh a vývoj elektroniky na zákazku.

UNIZA 5.ročník

Používateľov profilový obrázok
BFX
Ultimate člen
Ultimate člen
Príspevky: 2506
Dátum registrácie: 04 Sep 2013, 19:41
Bydlisko: Košice
Vek: 50

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa BFX » 08 Jún 2016, 22:08

Tak tak vlaste vyvojove dosky si moze dovolit iba ten, kto uz vie co robi. V zaciatkoch absolutne neodporucam.
0
“Nice looking” circuit construction doesn't always equate to good circuit performance.
http://www.arrl.org/files/file/Product% ... pter_1.pdf
Na predaj: p-bfx-predava-kto-zavaha-prerobi-t41148.html

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 08 Jún 2016, 22:14

ok, vdaka za vase cenne rady :-) idem tu dosku zahodit a objednam si novu :-) problem je vyrieseny...
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

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