Učenje C preko foruma

Vse o programiranju na in za PC

Moderatorji: Kroko, tilz0R

Učenje C preko foruma

OdgovorNapisal/-a SamoBr » 16 Sep 2016, 09:33

Ne znam C-ja, pa bi se rad kaj naučil. Pravzaprav sem na forum prišel prav zato. Bil zelo vesel Krokotovega poizkusa, da bi na forumu imel šolo C-ja, pa je žal propadlo.

Prosim, če mi poveste ali imam prav
tale #if tu ni C ampak nek ukaz prevajalniku, ki potem upošteva ali pa ne del napisanega programa ???
SamoBr
 
Prispevkov: 2798
Pridružen: 14 Jun 2015, 14:45
Zahvalil se je: 129 krat
Prejel zahvalo: 251 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 48

Re: Pogojnik #ifdef

OdgovorNapisal/-a tilz0R » 16 Sep 2016, 09:34

Drži.

Drugače pa ni nujno, da jo ima samo Kroko. Ni samo on tisti, ki obvlada C na tem forumu, lahko se tudi kdo drugi opogumi, samo ne vem, če je smisel tega.
Tutorialspoint ima vse in še več o C-ju.

Smiselno je tukaj postavljati vprašanja, ki niso tam jasna, ker mogoče niti ne veš kaj iščeš v angleščini in bo tukaj kdo vedel odgovor.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1815
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 229 krat
Prejel zahvalo: 509 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Pogojnik #ifdef

OdgovorNapisal/-a SamoBr » 16 Sep 2016, 09:41

Ma ima smisel. Ker ko nič ne veš, je dobro, da nekdo začne. Ko se navadiš nekaj osnov in imaš občutek, da bi lahko - šele potem sploh lahko kaj vprašaš. Dokler nimaš problema nimaš kaj vprašat. Če ne znaš nič sploh ne prideš do problema, ker si cel problem.

Ne znam razložiti tega. Vi ki znate tega ogromno pa sploh ne morete razumet enega ki je danes začel.
SamoBr
 
Prispevkov: 2798
Pridružen: 14 Jun 2015, 14:45
Zahvalil se je: 129 krat
Prejel zahvalo: 251 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 48

Re: Pogojnik #ifdef

OdgovorNapisal/-a IgorK » 16 Sep 2016, 13:36

Zakaj bi nekaj delali, kar je že narejeno? Obstaja kar veliko knjig on začetnih do nadaljevanlnih in res ne vidim smisla, da se C začneš učit na forumu. Pisali bomo samo o tem, kar že piše v knjigah oziroma na internetu.
Čisti začetnik mora najprej vzet knjigo v roke in se naučit zakaj se sploh gre.
Ko pa zadeve predela in začne sestavljati svoje programe, potem je čas za spraševanje na forumu.
IgorK
 
Prispevkov: 566
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 4 krat
Prejel zahvalo: 105 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 10

Re: Pogojnik #ifdef

OdgovorNapisal/-a SamoBr » 19 Sep 2016, 00:48

No tole ste pa povsem narobe zastavili.Če bi bilo tako kot pravite potem bi bila vsa predavanja nesmiselna in nepotrebna. Firme nebi delale webinarjev in seminarjev in celo tale forum je nesmiselen, ker itak vse piše v knjigah.

To kar je Kroko začel ima še kako smisel! Tudi odziv je bil. Samo škoda, ko mi imel časa, da bi nadaljeval. Iz njegovega pisanja je tudi sedaj slutiti, da je na tesnem s časom. Ampak saj znamo potrpeti, samo fino bi bilo, če bi se kaj naprej premaknilo. Saj mislim, da je folk gledal tudi knjige in primere.

Jaz sem poskušal tukaj ampak sem zaradi obveznega logina in reklam potem na e-mail obupal.
SamoBr
 
Prispevkov: 2798
Pridružen: 14 Jun 2015, 14:45
Zahvalil se je: 129 krat
Prejel zahvalo: 251 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 48

Re: Pogojnik #ifdef

OdgovorNapisal/-a IgorK » 19 Sep 2016, 11:05

Forum ni webinar ali seminar, tukaj se piše. In kaj naj drugega piše o začetkih C-ja kot to, kar je že stokrat napisano? Poanta foruma je, da sprašuješ če ti kaj ni jasno.
Knjige (navadne ali elektronske) so pa osnova iz katere črpaš. Po tvoji logiki knjig v šolah ne rabimo, ker itak imamo predavanja?
IgorK
 
Prispevkov: 566
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 4 krat
Prejel zahvalo: 105 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 10

Re: Pogojnik #ifdef

OdgovorNapisal/-a mujo » 19 Sep 2016, 11:58

Rad bi se nekaj naučil, ampak ti je težko izpolniti en obrazec za registracijo. Bolj bednega izgovora ne moreš rečti? Če te motijo reklame (ki so verjetno samo novice, z linkom za odjavo), si pač ustvari še en email naslov za te zadeve. Ali ti bo potem spet izgovor nekaj drugega?

Spletne učilnice/predavanja so super zadeva (cursera, udacity, edX, ...). Sploh če so zraven tudi domače naloge/izpiti. Ampak velja enako kot vseposod - če ne vložiš nič truda se neboš nič naučil.

SamoBr je napisal/-a:tale #if tu ni C ampak nek ukaz prevajalniku

Ta #if je navodilo za C predprocesor. C predprocesor pregleda in pripravi izvorno kodo za C prevajalnik. Če pogoj drži potem bodo vrstice kode vključene v prevajanje, če ne pa ne bodo (ali pa bo vključeno tisto kar je v #else bloku).
mujo
 
Prispevkov: 734
Pridružen: 21 Jan 2015, 10:50
Kraj: MB
Zahvalil se je: 1 krat
Prejel zahvalo: 150 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 18

Re: Pogojnik #ifdef

OdgovorNapisal/-a jmivsek » 19 Sep 2016, 13:33

Krokotova forumska C šola je že fajn stvar, ker gotovo marsikoga opogumi, da se sploh loti programiranja v C. Kasneje pa bo že sam nadaljeval tudi s pomočjo knjig. Je torej dopolnitev k knjigam in ostalim virom znanja o C.

Torej Kroko, čakamo na nadaljevanje :)
Vem, da nič ne vem (Sokrat)
Uporabniški avatar
jmivsek
 
Prispevkov: 1086
Pridružen: 18 Jan 2015, 01:20
Kraj: Ajdovščina
Zahvalil se je: 1486 krat
Prejel zahvalo: 356 krat
Uporabnika povabil: S52O
Število neizkoriščenih povabil: 63

Re: Pogojnik #ifdef

OdgovorNapisal/-a SamoBr » 19 Sep 2016, 15:27

jmivsek je napisal/-a:Krokotova forumska C šola je že fajn stvar, ker gotovo marsikoga opogumi, da se sploh loti programiranja v C. Kasneje pa bo že sam nadaljeval tudi s pomočjo knjig. Je torej dopolnitev k knjigam in ostalim virom znanja o C.

Torej Kroko, čakamo na nadaljevanje :)
Res je. C se lahko naučiš na milion načinov. Forum ponuja neke vrste interaktivnost, In zato je to za mnoge lažje.
SamoBr
 
Prispevkov: 2798
Pridružen: 14 Jun 2015, 14:45
Zahvalil se je: 129 krat
Prejel zahvalo: 251 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 48

Re: Pogojnik #ifdef

OdgovorNapisal/-a tilz0R » 19 Sep 2016, 15:38

Forum vas lahko nauči takoimenovane "tips & tricks", nikakor pa ne osnov, ki jih najdeš na tutorials point.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1815
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 229 krat
Prejel zahvalo: 509 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Pogojnik #ifdef

OdgovorNapisal/-a IgorK » 19 Sep 2016, 17:04

Medtem, ko modruješ na forumu in čakaš, da ti bo nekdo nekaj serviral, bi že bil pri strukturah, če ne celo kazalcih :)
IgorK
 
Prispevkov: 566
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 4 krat
Prejel zahvalo: 105 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 10

Re: Učenje C preko foruma

OdgovorNapisal/-a s54mtb » 19 Sep 2016, 19:20

Vse skupaj res ni nek bav bav. Pred kaksnimi dvajsetimi leti sem se na poti domov ustavil pri Keilu. Malo smo debatirali in potem sem vprasal, ce mi lahko pove par osnov "c"-ja, saj sem takrat programirak le v asm51. V enem popoldnevu in po dveh bavarskih pivih je bilo vse jasno. Dober predavatelj lahko nadomesti marsikatero uro prwskanja po glavi.
Uporabniški avatar
s54mtb
 
Prispevkov: 11201
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1558 krat
Prejel zahvalo: 4061 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a SamoBr » 19 Sep 2016, 23:44

tilz0R je napisal/-a:Forum vas lahko nauči takoimenovane "tips & tricks", nikakor pa ne osnov, ki jih najdeš na tutorials point.

Ja, to čemur ti rečeš tips & tricks je eno - to čemur pa jaz rečem isto je pa drugo - vse je odvisno kaj je zate novo.
s54mtb je napisal/-a: V enem popoldnevu in po dveh bavarskih pivih je bilo vse jasno. Dober predavatelj lahko nadomesti marsikatero uro prwskanja po glavi.
To je prav gotovo res. Zato se mi je pa krokotov pristop zdel super. Se je prav čutilo, da je to neka pot, ki ti bo dala širino,...

Problem solved: pivo ob forumu je pa itak samoumevno (razen, če si v službi - smrc).
SamoBr
 
Prispevkov: 2798
Pridružen: 14 Jun 2015, 14:45
Zahvalil se je: 129 krat
Prejel zahvalo: 251 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 48

Re: Učenje C preko foruma

OdgovorNapisal/-a SolarCharger » 20 Sep 2016, 22:32

Kaj tu ni jasno ?
Po moje je tako, da Samo-ta motijo čisto druge stvari kot C.
Treba se je naučit novo okolje tega C. Pa vsak C ima drugačno okolje in vsako okolje je po svoje tricky. Nekdo, ki ni vajen novega okolja lahko izgubi celo uro časa, da prevede en majhen program. Pa kako se potem ta program prenese na mikrokontroler ? Tu je dosti načinov. Vse to pa je na začetku strašno moteče.

Od C-ja je pa tistega kar je potreba, da nekdo pokaže toliko kot je kroko pokazal. Naprej imaš pa knjige in še bolje primere na internetu. Meni so všeč tile: https://www.tutorialspoint.com/learn_c_ ... s_in_c.htm
Mi gremo dalje.
SolarCharger
 
Prispevkov: 1077
Pridružen: 20 Jan 2015, 21:58
Zahvalil se je: 86 krat
Prejel zahvalo: 101 krat
Uporabnika povabil: borisz
Število neizkoriščenih povabil: 53

Re: Učenje C preko foruma

OdgovorNapisal/-a IgorK » 20 Sep 2016, 23:02

V enem popoldnevu in po dveh bavarskih pivih je bilo vse jasno.


Verjetno je bilo jasno to, da se moraš tega čimprej naučit. Ker rad bi videl tistega, ki mu je v enem popoldnevu pri C-ju vse jasno.
IgorK
 
Prispevkov: 566
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 4 krat
Prejel zahvalo: 105 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 10

Re: Učenje C preko foruma

OdgovorNapisal/-a tilz0R » 20 Sep 2016, 23:08

Ok, dost imam jamračev, za to obstaja skupina na FB, JAMRANJE ;)

Torej, če se vas nabere 10, ki vas C zelo zanima, vam pripravim tutorial tukaj v pisni obliki z primeri, kako pointerji in unije delajo in zakaj so pointerji za moje pojme najmočnejše orodje v C-ju, ki se mi zdi, da je najtežje razumljivo (dejansko je precej enostavno). Ostalo se da naučiti online precej enostavno.

Pa še sproti vam razložim, za katere 3 namene se uporablja volatile spremenljivka ter za katere se uporablja static.

Nekje do sobote ga spišem, če vas bo dovolj.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1815
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 229 krat
Prejel zahvalo: 509 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a VolkD » 20 Sep 2016, 23:40

tilz0R je napisal/-a:Ok, dost imam jamračev, za to obstaja skupina na FB, JAMRANJE ;)

Torej, če se vas nabere 10, ki vas C zelo zanima, vam pripravim tutorial tukaj v pisni obliki z primeri, kako pointerji in unije delajo in zakaj so pointerji za moje pojme najmočnejše orodje v C-ju, ki se mi zdi, da je najtežje razumljivo (dejansko je precej enostavno). Ostalo se da naučiti online precej enostavno.

Pa še sproti vam razložim, za katere 3 namene se uporablja volatile spremenljivka ter za katere se uporablja static.

Nekje do sobote ga spišem, če vas bo dovolj.
Bom zelo vesel razlog je preprost - ne spremljam FB :)
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 41688
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 9037 krat
Prejel zahvalo: 5139 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a Kroko » 21 Sep 2016, 01:12

SolarCharger je napisal/-a:... lahko izgubi celo uro časa, da prevede en majhen program...

Ne vem, ali naj se jokam ali smejem. Jaz sem "izgubil" tedne, če ne mesece.

tilz0R, s54mtb in še kdo imajo povsem prav. Kdor ima voljo ima dovolj resursov, da se nauči. Žal je preveč takih, ki bi sicer radi znali, ne bi pa za to nič naredili. S takimi se trudit je povsem brez veze saj se nikoli ne bodo naučili.

Moja "mala šola" bi morala do sedaj tudi še nekaj naučiti. Kdor se ne strinja z zgoraj napisanim naj mi na ZS pošlje nekaj vrstic SVOJE kode in opiše, kaj naredijo. Naj vam ne bo nerodno, nobenemu se ne bom smejal. Mogoče pa me prepričate o nasprotnem.
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4774
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 681 krat
Prejel zahvalo: 1653 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a zanka » 21 Sep 2016, 11:00

Tudi jaz bi rad znal C in se učil. V bistvu ga znam, ampak človek nikoli ne zna česar koli dovolj dobro.

Je pa čisto res to, kar pravi Kroko: vsi bi radi znali, vendar za to ne bi nič naredili. Povsod je tako, tudi v šolah.
Uporabniški avatar
zanka
 
Prispevkov: 2571
Pridružen: 17 Mar 2016, 01:16
Zahvalil se je: 113 krat
Prejel zahvalo: 254 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 50

Re: Učenje C preko foruma

OdgovorNapisal/-a Proteus » 21 Sep 2016, 11:06

Pred časom je Aly pripravil predavanje na temo STM32. Pripravil je celo namenske module in kaj je bil rezultat tega? Kopica PCB-jev obdanih s prahom.

Kroko je dobro povzel bistvo problema: "brez muje se še čevlja ne obuje".

Znanje C je samo en del problema pri obvladovanju programiranja uC.
A za branje reference manualov z nekaj sto stranmi bo tudi potrebna šola? Tukaj ni prav nič nenavadnega, da te ena sama periferna enota zafrkava dneve in dneve. Vedno se seveda najdejo tudi izjeme, kot sta SolarCharger, ki za to potrebuje 1. uro in s54mtb dve bavarski pivi.

Nekateri pač mislijo, da jih bo takšna WEB šola v nekaj urah povzdignila v master of programming in to brez truda. Malce zajebancje na forumu pa bo šlo vse samo v glavo. Če nekdo nima niti toliko volje, da se samostojno nauči osnov C (pri tonah info na netu), potem ZAGOTOVO nima osnovnih predispozicij za branje kakšnega referenc manuala.

Mimogrede, zato tudi je Arduino tako popularen, z instant rešitvami nudi najhitrejšo pot do cilja.
Uporabniški avatar
Proteus
 
Prispevkov: 2841
Pridružen: 18 Jan 2015, 01:31
Kraj: Planet Zemlja
Zahvalil se je: 292 krat
Prejel zahvalo: 593 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 107

Re: Učenje C preko foruma

OdgovorNapisal/-a s54mtb » 21 Sep 2016, 12:27

Proteus je napisal/-a:Pred časom je Aly pripravil predavanje na temo STM32. Pripravil je celo namenske module in kaj je bil rezultat tega? Kopica PCB-jev obdanih s prahom.




Kakor kje/kdo. Jaz sem s pomočjo tistega modula pričel razvoj za vsaj 3 večje projekte. Če bi jih imel na zalogi, bi jih uporabil že kar take, saj imajo speljano vse ven in je za kako manjšo serijo primeren že kar tak. Tudi za učenje C bi bil tak modul več kot dobrodošel. Imam pa še par tiskanin viška od tegale projekta: http://e.pavlin.si/2016/02/29/mini-cw-k ... acon-v1-1/ Prvim trem, ki bi tole uporabili za praktično učenje "C"-ja jim podarim kit komplet z vsem materialom.

Tule je pa še DIY tiskanina: http://e.pavlin.si/2016/02/03/stm32f070 ... ototyping/
Uporabniški avatar
s54mtb
 
Prispevkov: 11201
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1558 krat
Prejel zahvalo: 4061 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a Cloud » 21 Sep 2016, 14:27

s54mtb je napisal/-a:
Proteus je napisal/-a:Pred časom je Aly pripravil predavanje na temo STM32. Pripravil je celo namenske module in kaj je bil rezultat tega? Kopica PCB-jev obdanih s prahom.




Kakor kje/kdo. Jaz sem s pomočjo tistega modula pričel razvoj za vsaj 3 večje projekte. Če bi jih imel na zalogi, bi jih uporabil že kar take, saj imajo speljano vse ven in je za kako manjšo serijo primeren že kar tak. Tudi za učenje C bi bil tak modul več kot dobrodošel. Imam pa še par tiskanin viška od tegale projekta: http://e.pavlin.si/2016/02/29/mini-cw-k ... acon-v1-1/ Prvim trem, ki bi tole uporabili za praktično učenje "C"-ja jim podarim kit komplet z vsem materialom.

Tule je pa še DIY tiskanina: http://e.pavlin.si/2016/02/03/stm32f070 ... ototyping/


Tole bi me zanimalo. Se spravljam že nekaj časa učiti C in v zadnjih nekaj dneh imam kar nekaj zagona za to :mrgreen:
Cloud
 
Prispevkov: 2007
Pridružen: 18 Mar 2015, 09:24
Kraj: Ljubljana
Zahvalil se je: 65 krat
Prejel zahvalo: 199 krat
Uporabnika povabil: BraneZ
Število neizkoriščenih povabil: 13

Re: Učenje C preko foruma

OdgovorNapisal/-a eldi2011 » 21 Sep 2016, 14:47

Enega bi imel tudi jaz. Prihaja obdobje, ko bo več prostega časa. Bo pa verjetno še en kup vprašanj nastal iz tega....
Uporabniški avatar
eldi2011
 
Prispevkov: 2852
Pridružen: 05 Feb 2015, 01:50
Kraj: Domžale
Zahvalil se je: 1144 krat
Prejel zahvalo: 516 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 228

Re: Učenje C preko foruma

OdgovorNapisal/-a radix » 21 Sep 2016, 14:48

tilz0R je napisal/-a:Nekje do sobote ga spišem, če vas bo dovolj.
To bi me zanimalo.
radix
 
Prispevkov: 1469
Pridružen: 04 Feb 2015, 20:19
Kraj: Ljubljana
Zahvalil se je: 226 krat
Prejel zahvalo: 350 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 25

Re: Učenje C preko foruma

OdgovorNapisal/-a cimabella » 21 Sep 2016, 14:51

tilz0R, s54mtb, Proteus, zame je to preveč advanced. Priznam da mi učenje programiranja ne gre lahko v glavo in meni je bila precej všeč Krokotova Mala šola C, ker sem imela vsaj približno filing, to bo pa mogoče šlo. Nekaterim (ok, meni) manjka tisti del od nule do prvega programa, recimo, diode, ki utripa. Načeloma to 12 letnikom ne povzroča težav. Meni pa.

Zdaj predlagate učenje približno tako: To je skalpel, poglejte na you tube, kako se uporablja, zdaj pa kirurgu asistirat v operacijsko dvorano. Ta prva strežnica vas bo upravičeno vrgla ven, ker niste vstopili skozi filter. Jaz po drugi strani grem kamot za drugo asistenco, čeprav tega nisem počela že 10 let. Pa sam mal preštudiram kakšen manual.
Včasih človeku bolje služi sreča kot pamet.
cimabella
 
Prispevkov: 546
Pridružen: 23 Jan 2015, 16:49
Kraj: Gorenjska
Zahvalil se je: 53 krat
Prejel zahvalo: 457 krat
Uporabnika povabil: Nace
Število neizkoriščenih povabil: 85

Re: Učenje C preko foruma

OdgovorNapisal/-a tilz0R » 21 Sep 2016, 15:18

Cimabella, problem je potrebno razdeliti na 2 dela:
1. Dejansko znanje C-ja, da ko vidiš en C ukaz, da ti je jasno kaj naredi, recimo: a = b ? c : d; kaj takšen stavek naredi?
2. Uporaba tega za prižiganje LED in uporabo v MCU-jih pa zahteva drugačno znanje.

Tukaj se ne sme prehitevati, drugače nismo nič naredili. V tvojem primeru, bi za moje pojme najprej potrebovala znanje samega C-ja kot takšnega.

Video tutoriali tukaj so zelo dobri!
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1815
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 229 krat
Prejel zahvalo: 509 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a s54mtb » 21 Sep 2016, 15:44

Cloud, Eldi, cimabella... bom pripravil.

Poleg je potreben vmesnik za programiranje. Na ebayu so okrog 2-4 EUR. Komur ni težko, naj si naroči nekaj takega: http://www.ebay.de/itm/Neu-ST-Link-V2-M ... 1507212413
Jaz jih trenutno čakam (sem naročil 5 kos za test), bom pa vsaj upam, da v kratkem imel nekaj tega na zalogi.
Ostalo bomo sproti delali. Kroko tilz0r in jaz bomo napisali še kaj o C-ju. Kako to pljoščico oživet, pa bom odprl novo temo.

LP,
Mare
Uporabniški avatar
s54mtb
 
Prispevkov: 11201
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1558 krat
Prejel zahvalo: 4061 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a japina » 21 Sep 2016, 15:47

Jaz jih imam 20 :) ... dela. Če potrebuješ linux ali mac, potem uporabiš https://github.com/texane/stlink
japina
 
Prispevkov: 315
Pridružen: 28 Jan 2015, 21:16
Kraj: Šentrupert na Dolenjskem
Zahvalil se je: 53 krat
Prejel zahvalo: 28 krat
Uporabnika povabil: aly
Število neizkoriščenih povabil: 5

Re: Učenje C preko foruma

OdgovorNapisal/-a MarkoM » 21 Sep 2016, 15:55

cimabella je napisal/-a:tilz0R, s54mtb, Proteus, zame je to preveč advanced. Priznam da mi učenje programiranja ne gre lahko v glavo in meni je bila precej všeč Krokotova Mala šola C, ker sem imela vsaj približno filing, to bo pa mogoče šlo. Nekaterim (ok, meni) manjka tisti del od nule do prvega programa, recimo, diode, ki utripa. Načeloma to 12 letnikom ne povzroča težav. Meni pa.

Zdaj predlagate učenje približno tako: To je skalpel, poglejte na you tube, kako se uporablja, zdaj pa kirurgu asistirat v operacijsko dvorano. Ta prva strežnica vas bo upravičeno vrgla ven, ker niste vstopili skozi filter. Jaz po drugi strani grem kamot za drugo asistenco, čeprav tega nisem počela že 10 let. Pa sam mal preštudiram kakšen manual.

Saj je stvar podobna, mislim, da se tukaj zelo podcenjuje težavnost programiranja. Saj sintaksa je lahka, hudič je, ko je potrebno poznati toliko ostalih stvari, da narediš program uporaben na ciljni platformi. In tega znanja ne moreš požret tako, da enkrat na teden zvečer eno uro poslušaš oz. bereš tutorial. Enako se tudi kirurg ni naučil rezati tako, da je enkrat na teden poslušal predavatelja kako rezati. Mislim, da vsi tukaj iščete instant rešitev, kako se naučiti programirati. Brez kilometrine žal ne bo šlo. Naj pove tilz0R, kroko, kdorkoli, koliko ur programiranja ima za sabo, da je na takšnem nivoju. Če znaš uporabit if in for zanko še ne pomeni, da znaš programirati tako kot trdi marsikateri študent/diplomant, ki je poslušal predmet programiranje v obsegu 30ur.
MarkoM
 
Prispevkov: 971
Pridružen: 29 Jan 2015, 13:11
Kraj: Pohorje (Maribor)
Zahvalil se je: 127 krat
Prejel zahvalo: 218 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 18

Re: Učenje C preko foruma

OdgovorNapisal/-a jmivsek » 21 Sep 2016, 16:00

cimabella je napisal/-a:tilz0R, s54mtb, Proteus, zame je to preveč advanced. Priznam da mi učenje programiranja ne gre lahko v glavo in meni je bila precej všeč Krokotova Mala šola C, ker sem imela vsaj približno filing, to bo pa mogoče šlo. Nekaterim (ok, meni) manjka tisti del od nule do prvega programa, recimo, diode, ki utripa. Načeloma to 12 letnikom ne povzroča težav. Meni pa.

Se popolnoma strinjam. Celo zame, ki sem sicer dolgoleten programer (a ne v C), je bil Krokotov pristop prava vzpodbuda, da sem se lotil dalje sam. Pa tudi starost naredi svoje, pri 50-tih enostavno sprejemaš novosti drugače kot pri 20-tih.

Predlagam, da se za HW vzame Arduino, ker je najcenejši (3 eure) in je torej najhitreje dosegljiv. Na njem se učimo prvih korakov, kot se za elektronika spodobi, torej programiranje HW. Na Arduinu se programira v poenostavljenem C (oziroma delu C++). V naslednjem koraku bi morda razvili ter bi vsak zlotal kako namensko ploščico in jo sprogramiral, a res šele v drugem koraku.

Kaj pa posebej tečaj naprednih fint v C?

Kajti če začetnika učite na način, kot predlagate, dobite ven hekerja (v negativnem smislu), ne programerja, kateremu bi zaupal spisat kaj več od utripanja par ledic. Ni čudno, da se vsepovsod vse sesuva, od avtov naprej. Ampak tole je že za v drugo temo, se opravičujem :)
Vem, da nič ne vem (Sokrat)
Uporabniški avatar
jmivsek
 
Prispevkov: 1086
Pridružen: 18 Jan 2015, 01:20
Kraj: Ajdovščina
Zahvalil se je: 1486 krat
Prejel zahvalo: 356 krat
Uporabnika povabil: S52O
Število neizkoriščenih povabil: 63

Re: Učenje C preko foruma

OdgovorNapisal/-a zanka » 21 Sep 2016, 16:17

jmivsek je napisal/-a:Predlagam, da se za HW vzame Arduino, ker je najcenejši (3 eure) in je torej najhitreje dosegljiv. Na njem se učimo prvih korakov, kot se za elektronika spodobi, torej programiranje HW. Na Arduinu se programira v poenostavljenem C (oziroma delu C++).

Če se hoče naučiti C, bo potrebno Arduino IDE pustiti v miru.

Jaz sem začel učiti C za AVR z zgolj avr-gcc in avrdude.
Uporabniški avatar
zanka
 
Prispevkov: 2571
Pridružen: 17 Mar 2016, 01:16
Zahvalil se je: 113 krat
Prejel zahvalo: 254 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 50

Re: Učenje C preko foruma

OdgovorNapisal/-a s54mtb » 21 Sep 2016, 17:24

Mali cortex M0 z 20 pini je na farnellu 30 centov za 1 kos. Tiskanino naredis sam direkt za koncno aplikacijo brez nekih dodatnih headerjev za 'duino. Na koncu je v celoti to boljsa resitev.
Uporabniški avatar
s54mtb
 
Prispevkov: 11201
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1558 krat
Prejel zahvalo: 4061 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a VolkD » 21 Sep 2016, 17:31

s54mtb je napisal/-a:Mali cortex M0 z 20 pini je na farnellu 30 centov za 1 kos. Tiskanino naredis sam direkt za koncno aplikacijo brez nekih dodatnih headerjev za 'duino. Na koncu je v celoti to boljsa resitev.
Tudi mene bi zanimal tak pristop. Konec koncev je avr družina že v letih tako, da bi tudi sam rad prešaltal na kaj drugega.
Če jaz - star cepec - govorim o tem potem je res več kot očitno, da bi za tiste ki se učijo od nule bilo res potrebno, da jih ne obremenjujemo s tem kar je skoraj obsolete. In to ne glede na ceno.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 41688
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 9037 krat
Prejel zahvalo: 5139 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a jmivsek » 21 Sep 2016, 19:20

VolkD je napisal/-a:
s54mtb je napisal/-a:Mali cortex M0 z 20 pini je na farnellu 30 centov za 1 kos. Tiskanino naredis sam direkt za koncno aplikacijo brez nekih dodatnih headerjev za 'duino. Na koncu je v celoti to boljsa resitev.
Tudi mene bi zanimal tak pristop. Konec koncev je avr družina že v letih tako, da bi tudi sam rad prešaltal na kaj drugega.
Če jaz - star cepec - govorim o tem potem je res več kot očitno, da bi za tiste ki se učijo od nule bilo res potrebno, da jih ne obremenjujemo s tem kar je skoraj obsolete. In to ne glede na ceno.

Že že, a kot rečeno šele v drugem koraku. Za čisti začetek je itak vseeno, katera arhitektura se uporabi. Arduino je tu in zdaj, lahko začnemo takoj. Vzporedno se pa pripravi (ali dobavi) kaka ARM rešitev.
Vem, da nič ne vem (Sokrat)
Uporabniški avatar
jmivsek
 
Prispevkov: 1086
Pridružen: 18 Jan 2015, 01:20
Kraj: Ajdovščina
Zahvalil se je: 1486 krat
Prejel zahvalo: 356 krat
Uporabnika povabil: S52O
Število neizkoriščenih povabil: 63

Re: Učenje C preko foruma

OdgovorNapisal/-a tilz0R » 21 Sep 2016, 19:26

Ni res. Tam je C++, druga stvar.

Tukaj je pa itak zdej vsakih po malo.
Radi bi se naučili C, a forsira se Arduino tukaj, ki je v osnovi zgrešena logika C-ja, kjer ti ne vidiš main() funkcije, sploh pa C to ni.
Uporabljajo se tipi in implementacije ukazov in virtualnih operatorjev, ki so za poznavalca C-ja popolni nesmisel. Ko se tak uporabnik zave, kaj se spodaj dogaja na najnižjem nivoju na enem AVR-ju, mu je pomoje itak slabo.

C++ je "potuha" za nekoga, ki se uči. Ko enkrat veš kaj delaš (Kroko je takšen recimo), potem je C++ zakon zadeva, sploh pa še če nisi na MCU, potem je še boljše.

Zato ponavljam:
1. Začnite gledati videe (objavljen link od mene par postov zgoraj) in tutorialspoint spletno stran.
2. Čimdalj od Arduino okolja
3. Začnite v Windows/Linux/MAc (Whatever) okolju in poganjajte aplikacije na PC-ju. Ne direkt s siljenjem na MCU, sploh če o C-ju nimate pojma ali ga imate približno.
4. Vprašajte za nasvet glede konkretnega problem. Vprašanja v smislu "kje se naučiti C" bi morala biti prepovedana in sankcionirana.

Lep večer vsem skupaj.
Zadnjič spremenil tilz0R, dne 21 Sep 2016, 20:07, skupaj popravljeno 1 krat.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1815
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 229 krat
Prejel zahvalo: 509 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a jmivsek » 21 Sep 2016, 20:05

tilz0R je napisal/-a:Ni res. Tam je C++, druga stvar.

C++ je nadgradnja C. V njem lahko programiraš čisto navaden C. In ravno ta pristop so porabili pri Arduino, kjer v bistvu ne vidiš, da je odzad pravzaprav C++. Začetniku je pa ta razlika sploh neopazna.
Vem, da nič ne vem (Sokrat)
Uporabniški avatar
jmivsek
 
Prispevkov: 1086
Pridružen: 18 Jan 2015, 01:20
Kraj: Ajdovščina
Zahvalil se je: 1486 krat
Prejel zahvalo: 356 krat
Uporabnika povabil: S52O
Število neizkoriščenih povabil: 63

Re: Učenje C preko foruma

OdgovorNapisal/-a tilz0R » 21 Sep 2016, 20:07

jmivsek je napisal/-a:C++ je nadgradnja C. V njem lahko programiraš čisto navaden C. In ravno ta pristop so porabili pri Arduino, kjer v bistvu ne vidiš, da je odzad pravzaprav C++. Začetniku je pa ta razlika sploh neopazna.


Moj namen je dober tukaj ko pohejtam Arduino za začetnike. Če misliš drugače se motiš.
Sedaj pa ti dam nalogo, da mi v roku 3 min najdeš, kje ima Arduino main() funkcijo. Setup in Loop funkciji nista ravno pravilni način C-ja ;)
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1815
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 229 krat
Prejel zahvalo: 509 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a jmivsek » 21 Sep 2016, 20:16

tilz0R je napisal/-a:
jmivsek je napisal/-a:C++ je nadgradnja C. V njem lahko programiraš čisto navaden C. In ravno ta pristop so porabili pri Arduino, kjer v bistvu ne vidiš, da je odzad pravzaprav C++. Začetniku je pa ta razlika sploh neopazna.
Moj namen je dober tukaj ko pohejtam Arduino za začetnike. Če misliš drugače se motiš.
Sedaj pa ti dam nalogo, da mi v roku 3 min najdeš, kje ima Arduino main() funkcijo. Setup in Loop funkciji nista ravno pravilni način C-ja ;)

To je minimalna razlika, ki ne vpliva na učni proces. Pravzaprav ga izboljša, ker pove, da je treba najprej nastaviti, preden se lotiš izvajanja.

Rabimo nekoga z pedagoškimi izkušnjami, da nam pomaga najti najboljši pristop, taki ali drugačni hekerji se lahko pregovarjamo o tem v nedogled :)
Vem, da nič ne vem (Sokrat)
Uporabniški avatar
jmivsek
 
Prispevkov: 1086
Pridružen: 18 Jan 2015, 01:20
Kraj: Ajdovščina
Zahvalil se je: 1486 krat
Prejel zahvalo: 356 krat
Uporabnika povabil: S52O
Število neizkoriščenih povabil: 63

Re: Učenje C preko foruma

OdgovorNapisal/-a zanka » 21 Sep 2016, 20:32

jmivsek je napisal/-a:C++ je nadgradnja C.
Ni res. Podobnost med C++ in C je zgolj naključna.
Uporabniški avatar
zanka
 
Prispevkov: 2571
Pridružen: 17 Mar 2016, 01:16
Zahvalil se je: 113 krat
Prejel zahvalo: 254 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 50

Re: Učenje C preko foruma

OdgovorNapisal/-a Kroko » 21 Sep 2016, 20:51

tilz0R ima povsem prav.

Najprej se je treba naučiti nekaj osnov C-ja in to brez vsakega krmilnika.

Komentarji so še en dokaz, da je bila moja šola brez veze. V enem od postov smo si postavili GCC okolje, naredili smo prvi program,...
viewtopic.php?f=17&t=3075#p49899

Sedaj bi se spet vse prehitevalo. arduinoti, armi, programatorji,... s C-jem to nima veze.
Dokler se ne naučimo struktur in pointerjev ne bomo znali niti enega MCU registra prebrati ali nastaviti, dokumentacije ne bomo znali brati,... največ kar nam bo zneslo bo kakšen copy/paste.

Predlog - ponovite mojo malo šolo (GCC!!!), tilz0R je obljubil malce hitrejše nadaljevanje potem pa trening.

V naslednjem koraku se potem naučimo brati dokumentacijo in naredimo prvi program za MCU.
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4774
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 681 krat
Prejel zahvalo: 1653 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a s54mtb » 21 Sep 2016, 23:14

Kroko je napisal/-a:V naslednjem koraku se potem naučimo brati dokumentacijo in naredimo prvi program za MCU.


Hja, verjetno spet preveč industrijsko razmišljam in premalo na hobi nivoju. Sem pozabil, da se tu stvari dogajajo sekvenčno, jaz sem pa zmotno menil, da ko bo čas za drugi korak, bi lahko imeli že pripravljen teren. Ampak saj se ne mudi. Če ne bo letos, pa naslednje leto.... :_CR
Uporabniški avatar
s54mtb
 
Prispevkov: 11201
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1558 krat
Prejel zahvalo: 4061 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a Kroko » 21 Sep 2016, 23:32

Nič ni narobe, če se pripravi teren za drugi , tretji,... korak.

Problem je, da veliko ljudi C enači s programiranjem mikrokrmilnikov. Zato se je dosedaj vsak poskus učenja C-ja končal z "najbolj primerno" razvojno ploščico, C-ja pa se ni nihče naučil.

C se najlažje naučiš kar na PC-ju. To je edini način, da se lahko začne enostavno, s samo nekaj vrsticami.
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4774
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 681 krat
Prejel zahvalo: 1653 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a VolkD » 21 Sep 2016, 23:38

Kroko je napisal/-a:Problem je, da veliko ljudi C enači s programiranjem mikrokrmilnikov. Zato se je dosedaj vsak poskus učenja C-ja končal z "najbolj primerno" razvojno ploščico, C-ja pa se ni nihče naučil.

C se najlažje naučiš kar na PC-ju. To je edini način, da se lahko začne enostavno, s samo nekaj vrsticami.
No pa smo po moje odkrili vir večine težav ki jih imajo vsi pri tem. To dvoje je treba ločit.

Ljudje se loti(mo)jo nekaj sprogramirat na mikrokontrolerju pa sploh ne znajo jezika. Potem pa malo plonkanja pa malo primere na netu pa, ... porinejo skozi. No nazadnje pa sploh ne vedo zakaj stvar dela če nebi smela.
Malo me spominja na tole:

Saj v deželi katere jezik ne poznaš boš tudi dobil za jesti, vprašanje je le kaj bo to kar boš pojedel - zajčja pečenka ali kar tvoj pes ?
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 41688
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 9037 krat
Prejel zahvalo: 5139 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a MitjaN » 22 Sep 2016, 10:14

Pozdravljeni!

Po navadi bolj spremljam debate, tu pa se bom le oglasil, mogoče pripomorem k bolj jasni debati.

Težava je v tem, da je že programiranje precej širok pojem, programiranje mikrokrmilnikov pa je še bistveno širši. Že samo programiranje obsega:
- poznavanje sintakse (od osnovnih ukazov, do kompleksnih podatkovnih tipov in podatkovnih struktur, ...)
- poznavanje kompletnega procesa prevajanja programa (predprocesor, prevajalnik, zbirnik, povezovalnik, ...)
- poznavanje razvojnega okolja
- poznavanje podpornih orodji (knjižnice, orodja za statično analizo, orodja za nadzor verzij kode, ...)
- zanje načrtovanja arhitekture programa
- pisanje kode, razhroščevanje, testiranje, integracija, ponovno pisanje (po potrebi), optimizacija (po potrebi), pisanje dokumentacije
- vzdrževanje

Pa najbrž sem še kaj pozabil. Ampak mislim da dobro pokaže širino, ki je zahtevana.

Pri mikrokrmilnikih pa mora programer še bistveno bolje poznati kaj programira. Tako je treba še:
- poznati arhitekturo CPU-ja od MCU-ja (interna vodila, organizacija spomina, cevovod, prekinitvena enota in dogajanje ob prekinitvah, ...)
- poznati vse periferne enote, ki jih potrebujemo (komunikacijski vmesniki, ADC-ji, DAC-i, DMA, PWM, ...). Tako z programerskega vidika, kot tudi z električnega vidika. Tu je kar precej globine, še posebej, če si sam za vse (načrtovanje vezja in programiranje). Lep primer je ADC. Tipično ima ADC možnost nastavitve časa zajema. To naredimo v programu ob inicializaciji. Ampak pri nastavljanju tega moramo poznati interne parametre ADC-ja (velikost S/H kapacitivnosti, velikost parazitnih upornosti) ter zunanje parametre (vhodna impedanca v ADC).
- poznavanje zapisa in računanja s fiksno vejico
- in še mnogo drugih stvari

In kot se ugotavlja v tej debati se je hudičevo težko vse to učiti hkrati. In še toliko težje če se tega učiš na kakšnem hudičevo zmogljivem MCU-ju. Tam se zaradi zahtevnosti hitro poslužuješ kakšnih HAL knjižnic oziroma BSP-jev (Board Support Package), ki ti skrijejo kaj se dogaja v ozadju. Načeloma ni nič narobe s tem, vendar to po navadi tistega ki se uči lahko zmede, ker stvari niso zastavljene ustrezno s pedagoškega vidika. In tudi sicer postane to podobno kot, če se lotiš programiranja z Arduinotom.

Zaradi tega se je smiselno lotiti tega na način ki najbolj ustreza posameznikovemu predznanju. V grobem bi razdelil na te pristope:
- če imaš precej izkušenj s programiranjem mikrokrmilniku v zbirniku potem se lahko kar lotiš C-ja na mikrokrmilnkih. Nima smisla da premetavaš stringe in kazalce na PC-ju
- če imaš dobro predznanje elektronike in še nisi programiral, potem je po mojem mnenju Arduino odličen začetek za programiranje. Glede na predznanje je to bistveno bolje, kot da se učiš C na PC-ju, ki je za elektronika precej bolj abstrakten. Ko ti je koncept programiranja bolj jasen pa presedlaš na C.
- če znaš programirati PC (v katerem koli jeziku) in nimaš predznanja elektronike bi še vseeno priporočal Arduino. Razvojno okolje ima namreč veliko virov na spletu. Je bistveno bolj preprost s stališča elektronike. Tudi Raspberry PI ni slaba izbira. Ko ti je elektronika približno jasna pa presedlaš na C na MCU-jih

V vseh primerih je bolje, če imaš ciljno aplikacijo, ki bi jo rad naredil, saj je tako motivacija bistveno višja. Sicer je res, da se C-ja najhitreje naučiš s pisanjem programov za PC, vendar so tam primeri precej oddaljeni od programov in problemov, ki jih rešuješ z MCU-jem. Pogosto pa so tudi abstraktni. In tudi ko obvladaš programiranje na PC-ju, se moraš zavedati, da ko boš presedlal na MCU, boš moral svoje znanje razširiti najmanj z poznavanjem osnov povezovanja (linker) in še s čim drugim.

Ko pa se lotiš C-ja na MCU-jih pa so primeri, ki jih priloži proizvajalec MCU-ja odličen začetek. In če imaš dovolj predznanja lahko z viri na internetu (google, stack overflow, forumi proizvajalca, ...) lepo počasi napreduješ. Fino je če imaš nekoga, ki ga lahko vsake toliko kaj vprašaš, še bolje pa je če mu lahko pokažeš svoje rešitve, da se ne naučiš stvari delati narobe.

Po mojih izkušnjah je učenje C-ja na MCU-jih izvedljivo samo če imaš v naprej pripravljeno osnovno arhitekturo programa, skupaj z inicializacijo vsega potrebnega. Nato štartaš z rešitvijo osnovnega problema, tako da se spoznaš s sintakso, najbolj uporabljanimi ukazi in osnovnimi podatkovnimi tipi. Ko ti to gre pa se lotiš pisanja gonilnika za eno periferno enoto na podlagi zgleda za drugo periferno enoto (UART in SPI sta lepa dvojica. Ali pa ADC in CAP). Potem se pa lotiš kompleksnejših podatkovnih tipov. Vendar sam še nisem videl takega načina poučevanja ki bi ga lahko izvedel brez učitelja. To večinoma teče v majhnih skupinah in je časovno precej intenzivno.

In tu na forumu, bi se učili C na MCU-ju ljudje z različnimi predznanji. Seveda to ne bo šlo na en način.

Obvezno pa priporočam, da se hkrati s programiranjem naučiš še uporabe orodja kot je GIT.

Zdaj ko še enkrat berem vse skupaj, je mogoče malce nepovezano in brez udarnega zaključka, ampak enkrat je treba nehat.
MitjaN
 
Prispevkov: 88
Pridružen: 24 Feb 2015, 12:45
Zahvalil se je: 10 krat
Prejel zahvalo: 36 krat
Uporabnika povabil: aly
Število neizkoriščenih povabil: 7

Re: Učenje C preko foruma

OdgovorNapisal/-a VolkD » 22 Sep 2016, 10:41

@MitjaN :V 95% teksta se strinjam s teboj. Malo mi striže le pri Arduino.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 41688
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 9037 krat
Prejel zahvalo: 5139 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a IgorK » 22 Sep 2016, 10:52

Velika razlike je, če gre za amatersko rabo, ali pa se želimo poglobiti v C in MCU-je, kar bomo kasneje uporabljali za profi namene. V prvem primeru Arduino, v drugem pa lepo po vrsti od začetka.
IgorK
 
Prispevkov: 566
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 4 krat
Prejel zahvalo: 105 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 10

Re: Učenje C preko foruma

OdgovorNapisal/-a Kroko » 22 Sep 2016, 11:29

Jaz bi se izogibal besed profi in amatersko v tem kontekstu.
Tudi kakšen profi projekt ni nič drugega kot copy/paste koda ki dela, karkoli pač dela.
In pa amaterski projekt je lahko "narejen kot je treba", da ga avtor razume in da ima "nadzor" nad dogajanjem. (besedo avtor sem uporabil samo v tem drugem primeru)
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4774
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 681 krat
Prejel zahvalo: 1653 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Učenje C preko foruma

OdgovorNapisal/-a IgorK » 22 Sep 2016, 11:36

Amatersko in profi je treba razumet v kontekstu zakaj se uporablja. Nima smisla, da se nekdo, ki mu je cilj samo narediti nek projekt za lastne potrebe, poglobi v globine C-ja. Čas je dragocena dobrina (to zveš šele takrat, ko si star) in ga nima smisla izgubljat za študije nečesa, kar ne boš potreboval. Arduino je super okolje za amaterje. Če pa hočeš kaj več, potem pa knjige v roke.
IgorK
 
Prispevkov: 566
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 4 krat
Prejel zahvalo: 105 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 10

Re: Učenje C preko foruma

OdgovorNapisal/-a forest70 » 22 Sep 2016, 12:12

VolkD je napisal/-a:@MitjaN :V 95% teksta se strinjam s teboj. Malo mi striže le pri Arduino.


Saj načeloma ni nič narobe z Arduinom, vendar je pa važno s kakšnim pristopom boš le tega programiral.
1. Uporabil knjižnice - se pravi vključil nek black box, ki ne veš kaj točno dela in verjetno imel prej ali slej težave.
2. Čital datasheet in programiral klasično in imel nadzor nad tem kaj počneš.

Da ne bo pomote, v Arduino okolju se da klasično programirat, se prvi v klasičnem C-ju, ni mus, da je C++!
Nekdo bo rekel, da ni main() funkcije, saj je, samo jo ne vidiš, le ta pa pokliče loop() funkcijo kjer se pol vrti v neskončnost.
If you pay in bananas, you got monkeys.
Uporabniški avatar
forest70
 
Prispevkov: 2160
Pridružen: 14 Jan 2015, 01:11
Kraj: Koper
Zahvalil se je: 411 krat
Prejel zahvalo: 457 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 122

Re: Učenje C preko foruma

OdgovorNapisal/-a Kroko » 22 Sep 2016, 12:48

IgorK je napisal/-a:... poglobi v globine C-ja...

C sploh ni tako globok, kot si večina misli. Občutek globine dobiš, če pogledaš kakšno kodo, o kateri se ti na sanja kaj bi počela. Kakšna mikrokontrolerska knjižnica je lep primer.

Ravno zato je potrebno C spoznati kot preprosto (a učinkovito) orodje brez strašljivega balasta, ki s samim C nima veze.

Kar nekaj ljudi sem že izobrazil da so postali profesionalni programerji. Sicer ne C ampak Delphi in C#. Na "mojem" izobraževanju o objektnem programiranju se ugvarjamo z izdelavo igrice Asteroids. Čeprav ti programerji potem delajo poslovne aplikacije si je veliko lažje kot objekt predstavljati (in ga dojeti) tak vesoljski kamen kot pa dobavnico. Pa še zabavno je. Ko enkrat dojameš pa so tudi dobavnice preproste.

Tudi C na PC-ju je lahko zabaven. Saj ni potrebno, da utripa tista LEDica.
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4774
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 681 krat
Prejel zahvalo: 1653 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Naslednja

Vrni se na Programski jeziki

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost