Raspberry Pi a programování v C

Michal

Raspberry Pi a programování v C
« kdy: 18. 05. 2013, 15:51:03 »
Dobrý den,

koupil jsem si Rapsberry PI model B a chtěl bych si pomocí GPIO naprogramovat komunikaci s čidlem. Vím, že vychozí programovací jazyk je Python, ale já bych raději programoval v C-cku. Mohl by mi někdo poradit co všechno si musím nainstalovat za soft? Existuje něco jako Eclipse nebo Netbeans?
« Poslední změna: 20. 05. 2013, 12:35:13 od Petr Krčmář »


Jose D

  • *****
  • 901
    • Zobrazit profil
Re:Rapsberry PI - programování
« Odpověď #1 kdy: 18. 05. 2013, 16:10:31 »
Staci gcc a nejaky editor.

Uplne nerozumim tve otazce, Eclipse a Netbeans samozrejme existuji..

Nicmene instalovat je na raspberry je imho kravina.. IDE si nech na desktopu a zdrojaky pushuj pres scp do raspberry kde nad nima poustej gcc.

Re:Rapsberry PI - programování
« Odpověď #2 kdy: 18. 05. 2013, 16:11:52 »
A proc shanite neco jako Eclipse a NetBeans a nepouzijete primo treba Eclipse nebo NetBeans? Pokud to chcete napsat v C, napiste to. Zadny "vychozi programovaci jazyk" pro Paspberry PI neexistuje. Je to proste nermalni pocitac akorat misto platformy Intel kterou asi znate je tam ARM a bezi v tom opet normalni operacni system jako mate na PC - akorat opet pouze pro jiny procesor. Obvykle se na Raspberry pouziva Debian.

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Rapsberry PI - programování
« Odpověď #3 kdy: 18. 05. 2013, 16:27:40 »
Existuje přímo edice Eclipse, která je již předkonfigurovaná na to, aby se v ní dalo programovat v C a C++. http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/junosr2

3ugeene

Re:Rapsberry PI - programování
« Odpověď #4 kdy: 18. 05. 2013, 16:30:26 »
já to dělám tak, že se tam naSCPuju přes nějakej klient (v mým případě CyberDuck) a otevírám soubory v Sublime Text 2 pro editaci na mým notebooku,  dál si otevřu konzoli, na který se naSSHčkuju na raspberry a upravený soubory spouštím


petík

Re:Rapsberry PI - programování
« Odpověď #5 kdy: 18. 05. 2013, 17:09:22 »
Pro přístup k pinům GPIO lze použít:
a) knihovnu http://www.airspayce.com/mikem/bcm2835/
b) přímý přístup k registrům - http://elinux.org/RPi_Low-level_peripherals#C_2 - pro zápis a
http://stackoverflow.com/questions/15934388/reading-pin-level-raspberry-pi pro čtení
c) zápisem a čtením souborů v adresáři /sys/class/gpio
http://elinux.org/RPi_Low-level_peripherals#Bash_shell_script.2C_using_sysfs.2C_part_of_the_raspbian_operating_system

b) by mělo být nejrychlejší, c) mi připadá ideálně přenositelné, a) snad podporuje i nějaké složitější věci než čtení a zápis booleanu na pin

Pro programování na rpi doporučuju vim, pokud nepatří k oblíbeným editorům, tak bych asi nasdílel nějaký adresář a editoval v něm na PC, přes ssh pouštěl překlad a zkoušel.

Jenda

Re:Rapsberry PI - programování
« Odpověď #6 kdy: 18. 05. 2013, 18:24:10 »
Pro přístup k pinům GPIO lze použít:
a) knihovnu http://www.airspayce.com/mikem/bcm2835/
b) přímý přístup k registrům - http://elinux.org/RPi_Low-level_peripherals#C_2 - pro zápis a
http://stackoverflow.com/questions/15934388/reading-pin-level-raspberry-pi pro čtení
c) zápisem a čtením souborů v adresáři /sys/class/gpio
http://elinux.org/RPi_Low-level_peripherals#Bash_shell_script.2C_using_sysfs.2C_part_of_the_raspbian_operating_system
Pokud čidlo komunikuje nějakým protokolem, který RPi podporuje hardwarově (UART, I2C, SPI), bude nejrychlejší - a hlavně tedy nejjednodušší a nejspolehlivější - použít danou hardwarovou implementaci. Většinou to funguje stylem, že řekneš „chtěl bych poslat těchto pár bajtů“ a pak už nic neřešíš.

Michal

Re:Rapsberry PI - programování
« Odpověď #7 kdy: 19. 05. 2013, 10:50:34 »
Ano to je přesně ono :) čidlo komunikuje přes SPI, který by mělo RPI umět a jsou pro to napsané knihovny, ale mám pocit že tvůrci upřednostňují programování právě v Pythonu. Já už skoro půl roku programuji MCU (ARM M0 a M3), takže přímý přístup k registrům MCU by pro mě taky nebyl problém :)
Z toho co jste mi tu napsali moc moudrý nejsem, pač nejsem vůbec kovaný v LINUXu. Šlo mi spíše o to, abych nabootoval do OS (Raspbian) a v něm měl nainstalované vývojové prostředí, nemusí to být přímo Eclipse nebo Netbeans, ale něco podobného co by zvýrazňovalo syntaxi a případně nějaký našeptávání.

petík

Re:Rapsberry PI - programování
« Odpověď #8 kdy: 19. 05. 2013, 13:45:31 »
Ta knihovna http://www.airspayce.com/mikem/bcm2835/ má pro SPI tyto funkce:
 extern void bcm2835_spi_begin(void);
 extern void bcm2835_spi_end(void);
 extern void bcm2835_spi_setBitOrder(uint8_t order);
 extern void bcm2835_spi_setClockDivider(uint16_t divider);
 extern void bcm2835_spi_setDataMode(uint8_t mode);
 extern void bcm2835_spi_chipSelect(uint8_t cs);
 extern void bcm2835_spi_setChipSelectPolarity(uint8_t cs, uint8_t active);
 extern uint8_t bcm2835_spi_transfer(uint8_t value);
 extern void bcm2835_spi_transfernb(char* tbuf, char* rbuf, uint32_t len);
 extern void bcm2835_spi_transfern(char* buf, uint32_t len);
 extern void bcm2835_spi_writenb(char* buf, uint32_t len);
Uvnitř to chodí přímo na registry.

Mě Raspberry Pi připadá na chod nějakého lepšího IDE málo výkonné (mám 256MB verzi :-() ale pro vim (http://www.vim.org/) je dostačující.
vim je ale dost nevhodný editor pro uživatele Windows - ovládání je velmi vzdálené tomu, na co jsou zvyklí.
Takže editaci bych doporučil provádět na PC třeba s Windows a třeba ve Visual Studiu.


Jose D

  • *****
  • 901
    • Zobrazit profil
Re:Rapsberry PI - programování
« Odpověď #9 kdy: 20. 05. 2013, 21:25:25 »
Šlo mi spíše o to, abych nabootoval do OS (Raspbian) a v něm měl nainstalované vývojové prostředí, nemusí to být přímo Eclipse nebo Netbeans, ale něco podobného co by zvýrazňovalo syntaxi a případně nějaký našeptávání.
Ano, tudy právě cesta nevede a Rpi na to není dělané. fullsize IDE si pusť na lokálu kde jsou na to prostředky a nebude se to dusit, tam si s ním klidně šeptej, a na raspbery posílej kód ke kompilaci.

ruda

Re:Raspberry Pi a programování v C
« Odpověď #10 kdy: 29. 05. 2013, 13:23:01 »
Vyzkoušejte fte ja ho používám i na SUSE a jsem spokojen.