www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 
Sponsored by SiOL

RPI in C

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Raspberry Pi sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3261
Aktiv.: 22.07
Kraj: Dragomer

PrispevekObjavljeno: Sob Jan 06, 2018 11:32 am    Naslov sporočila:  RPI in C Odgovori s citatom

Živijo v Novem Letu !

Raspberrypi je linux.
Naravni jezik v linuxu je C
Postavil sem si Raspberry pi, Python najdem, C-a pa ne. Je potrebno kaj posebnega instalirat, da se bom lahko igral v C-u?

Bodi tudi to leto plodno!

_________________
Charles Baudelaire:“Vragova največja zvijača je v tem, da je uspel prepričati svet, da ne obstaja.”
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mosqito
Član
Član



Pridružen-a: Čet 07 Apr 2016 23:22
Prispevkov: 485
Aktiv.: 21.30

PrispevekObjavljeno: Sob Jan 06, 2018 11:41 am    Naslov sporočila:   Odgovori s citatom

Jaz sem naredil po teh navodilih:
http://www.raspberry-projects.com/pi/category/programming-in-c

Delaš na PC/Windows v netbeans, pravajaš in poganjaš pa na daljavo, vključno z debugiranjem (lahko v kodi zz debugerjem nastaviš break pointe, gledaš vrednosti spremenljivk itd...).

Tu je en projekt, kjer sem to v praksi uporabil:
http://e.pavlin.si/2017/04/19/smart-nesting-box/

_________________
Bzzzzzz
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjanoksidian
Član
Član



Pridružen-a: Pet 11 Jul 2014 17:16
Prispevkov: 121
Aktiv.: 2.75
Kraj: Laško

PrispevekObjavljeno: Sob Jan 06, 2018 7:48 pm    Naslov sporočila:   Odgovori s citatom

C jezik (gcc) in seveda vse povezano z njim je v kateri koli izdaji linuxa (unix-a). Gre za izvedbo c-ja letnica 1978!!!!!. Vsi danes znani in bolj pomembni programi so prevajani v tem prevajalniku. Razni c++ so izvedeni in sami prevajalniki prevajani z osnovnim bcc prevajalnikom. V slovenski izdaji, ki jo jaz uporabljam in skrbim zanjo imam zato podprte samo vaje iz tega gcc-ja. Na tem forumu je več pod temo...
https://www.elektronik.si/phpBB2/viewtopic.php?t=46702

Slovensko šolsko-razvojno izdajo imam na naslovu(IP-ju)
http://89.212.21.12/

Pod Gcc je cca 40 vaj, ki se končajo z urejanjem, to so vsebine ki zaključujejo srednjo in višjo šolo.... Vse je v izvorni kodi, in se vidi kako se prevaja, kodo je možno tudi popravljati in če jo "popravimo" preveč povrniti v začetno delujoče stanje.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
mosqito
Član
Član



Pridružen-a: Čet 07 Apr 2016 23:22
Prispevkov: 485
Aktiv.: 21.30

PrispevekObjavljeno: Sob Jan 06, 2018 9:50 pm    Naslov sporočila:   Odgovori s citatom

To kar si navedel, je sicer res, samo nima nobene veze z vprašanjem, kako (v praksi) programirati v C-ju za R.pi.
_________________
Bzzzzzz
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1668
Aktiv.: 11.29
Kraj: Ig

PrispevekObjavljeno: Sob Jan 06, 2018 11:24 pm    Naslov sporočila:   Odgovori s citatom

Odpreš terminal in vtipkaš:

nano mojCprogram.c

vneseš
Koda:
#include <stdio.h>

int main(void) {
   printf("Hello world!");
   return(0);
}

in shraniš (ctrl-x) enter enter

vtipkaš ukaz gcc mojCprogram.c

počakaš

poženeš a.out

./a.out

in imaš...

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3261
Aktiv.: 22.07
Kraj: Dragomer

PrispevekObjavljeno: Ned Jan 07, 2018 9:55 am    Naslov sporočila:   Odgovori s citatom

Hvala vsem!

Sedaj se bom moral poglobiti v navodila. In seveda začeti z vajami. Nekoč sem nekaj malega že delal v C-u ampak na beagleboard-u, nekemu dragemu predhodniku RPI-a.
Tam je bil C že pri instalacijii sistema vgrajen in ga je bilo trega samo poklicati.

Zakaj rinem v C namesto da bi uporaabil Python?
Na beaglebourdu se uporabljal zelo prijazno orodje, ki se mu je tam reklo Shared Memory in je orodje za komunikacijo med različnimi, sicer samostojnimi taski. Enostavno definiraš spremenljivke v recimo dveh različnim programih kjer imata oba programa potem dostop do vsebin teh spremenljivk, lahko pišeta vanje, ali samo bereta,

Tega menda v Pythonu ni. Da bi pa to reševal preko datoteke na disku mi pa nekako ne gre. Saj imajo ti SD diski omejeno življensko dobo in često pisanje in popravljanje vsebine bi ta čas bistveno skrajšalo.

Bom javljal, kako mi gre in bil odprt za sugestije.

Boštjan, vesel sem, da si napisal šolo programiranja v slovenščini, ki je sicer pri računalničarjih zalo zapostavljena. Tisti povsod ne začetku "Hello, World" je tudi mene bodel v jezik. Jaz sem prevedel to kot "Hej, ljudje!" v vseh mojih programih, kjer začnem kaj delati.

Pozdrave vsem!

_________________
Charles Baudelaire:“Vragova največja zvijača je v tem, da je uspel prepričati svet, da ne obstaja.”
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vpeter
Član
Član



Pridružen-a: Pon 11 Jun 2012 16:05
Prispevkov: 259
Aktiv.: 3.74
Kraj: Maribor

PrispevekObjavljeno: Ned Jan 07, 2018 10:08 am    Naslov sporočila:   Odgovori s citatom

Python podpira deljen pomnilnik (shared memory). En hiter primer: https://blog.schmichael.com/2011/05/15/sharing-python-data-between-processes-using-mmap/
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3261
Aktiv.: 22.07
Kraj: Dragomer

PrispevekObjavljeno: Ned Jan 07, 2018 10:15 am    Naslov sporočila:   Odgovori s citatom

Hvala! To je prvi pozitiven odgovor na temp Shared memory v Pythonu.

Bom takoj odprl in si ogledal.

Hvala!

_________________
Charles Baudelaire:“Vragova največja zvijača je v tem, da je uspel prepričati svet, da ne obstaja.”
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3261
Aktiv.: 22.07
Kraj: Dragomer

PrispevekObjavljeno: Ned Jan 07, 2018 11:32 am    Naslov sporočila:   Odgovori s citatom

Hvala tudi tebi Gorazd!

Probal in res, C je vgrajen tudi v RPI in ni potrebna posebna instalacija.

Potrudil si se, da si mi vtipkal, kako preveriti in res hvala!

VS

_________________
Charles Baudelaire:“Vragova največja zvijača je v tem, da je uspel prepričati svet, da ne obstaja.”
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjanoksidian
Član
Član



Pridružen-a: Pet 11 Jul 2014 17:16
Prispevkov: 121
Aktiv.: 2.75
Kraj: Laško

PrispevekObjavljeno: Ned Jan 07, 2018 1:23 pm    Naslov sporočila:   Odgovori s citatom

mosqito je napisal/a:
To kar si navedel, je sicer res, samo nima nobene veze z vprašanjem, kako (v praksi) programirati v C-ju za R.pi.

Hm za enkrat imaš nekaj splošnih vaj.
Dodatno so dodane vaje za
GPIO
Mysql
urejanje (kar so malo bolj komplicirane splošne vaje)

Tako kot za vsak jezik velja, da se programi v osnovi ločijo na neskončno delujoče in dogodkovno usmerjene programe(se relativno hitro konča).

Ali napišeš npr python test.py ali npr test je vseeno, razen pri hitrosti odpiranja in izvajanja programa. Dejstvo je, da so izvorne kode npr hostapd, apache, Mysql itd napisane v tem jeziku, oz je bil jezik razvit za pisanje operacijskega sistema in ostalih aplikacij. Načeloma se danes uporablja python in gcc. Eden kot tolmač drugi kot prevajalnik. Kako pa prenašaš parametre v in iz programa in med npr php, python ali bcc to pa je pokazano v vajah. Če mene vprašaš so še naj obetavnejši programi ki kaj počnejo z GPIO. Tudi moraš razlikovat ali delaš za trg ali za poučevanje. Tu ima python prednost, ker ima napisanih veliko knjižnic, bcc je dober kadar se moraš pri projektu ubadati s hitrostjo in skrivanjem kode.... recimo Smile

Če boš napisal kako zanimivo vajo, jo zagotovo dodam na izdajo in v njej boš večno označen kot avtor.

Tu nekje med temi primeri se moraš poiskat Smile


Nazadnje urejal/a bostjanoksidian Ned Jan 07, 2018 2:59 pm; skupaj popravljeno 2 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
mosqito
Član
Član



Pridružen-a: Čet 07 Apr 2016 23:22
Prispevkov: 485
Aktiv.: 21.30

PrispevekObjavljeno: Ned Jan 07, 2018 1:50 pm    Naslov sporočila:   Odgovori s citatom

Vilko, preko diska lahko tudi delaš hitro in učinkovito, če uporabiš RAM-disk.
_________________
Bzzzzzz
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Raspberry Pi sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 2057 dni


Powered by phpBB © 2001, 2005 phpBB Group