abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 21:21 | Nová verze Ladislav Hagara | Komentářů: 0
včera 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 1
6.12. 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 25
6.12. 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (8%)
 (5%)
 (3%)
Celkem 785 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: i2c_smbus_read_byte_data

Konqui avatar 2.12.2007 09:12 Konqui | skóre: 18 | blog: Konqui | Rožnov pod Radhoštěm
i2c_smbus_read_byte_data
Přečteno: 580×
Zdravím.mám problém při kompilování nasledujícího kousku kódu
/* compass.c
#include  <errno.h>
#include  <string.h>
#include  <stdio.h>
#include  <stdlib.h>
#include  <unistd.h>
#include  <fcntl.h>
#include  <linux/i2c-dev.h>

/* Note that the documentation for the compass states its address as 0xC0.
 * However, this includes the low bit which specifies read or write.
 * Linux i2c does not include this bit in this address, so the actual
 * address is 0xC0 shifted down, 0x60.
 */
#define CMPS03_ADDR 0x60

/* The important registers on the compass. Internal/test registers omitted. */
#define CMPS03_SOFTWARE_REVISION 0x0
#define CMPS03_BEARING_BYTE 0x1
#define CMPS03_BEARING_WORD_HIGH 0x2
#define CMPS03_BEARING_WORD_LOW 0x3
#define CMPS03_CALIBRATE_CMD 0xF

int main(int argc, char *argv[]) {
   char *end;
   int res,file;
   int e1;
   char filename[20] ;
   long funcs;
    
   int heading_byte, heading_word_h, heading_word_l;
   int bearing_long, bearing_degrees;
   
   sprintf(filename,"/dev/i2c-0");
   if ((file = open(filename,O_RDWR)) < 0) {
     e1 = errno;
     if (e1 != ENOENT) {
       fprintf(stderr,"Error: Could not open file '%s' : %sn",
               filename,strerror(e1));
       if(e1 == EACCES)
         fprintf(stderr,"Run as root?n");
     }
   } 
   
   
   /* Get software revision number */
   res = i2c_smbus_read_byte_data(file, CMPS03_SOFTWARE_REVISION);
   if (res < 0) {
     printf("Cannot read software revision leveln");
   } else {
     printf("Software revision level: %02xn", res);
   }
   
   /* Loop and read from the compass. */
   while (1) {
     /* The heading byte is 0-255 for the 360 degrees. */
     heading_byte = i2c_smbus_read_byte_data(file, CMPS03_BEARING_BYTE);
     if (heading_byte < 0) { printf("Error reading from compass."); exit(1);}
     
     /* The high resolution heading is given in two registers, and is 10 * the 
      * heading in degrees, ie 359.9 degrees reads as 3599. */
     heading_word_h = i2c_smbus_read_byte_data(file, CMPS03_BEARING_WORD_HIGH);
     if (heading_word_h < 0) { printf("Error reading from compass."); exit(1);}
     heading_word_l = i2c_smbus_read_byte_data(file, CMPS03_BEARING_WORD_LOW);
     if (heading_word_l < 0) { printf("Error reading from compass."); exit(1);}
     
     /* Combine the two bytes, and get the heading in degrees. */
     bearing_long = heading_word_h * 256 + heading_word_l;
     bearing_degrees = bearing_long / 10;
     
     printf("Bearing: %d \n", bearing_degrees);
     
     /* Wait for a while. */
     usleep(200000);
   }
}
Kompilace vyhodí vždy tyto chyby:
[honza@AMD2000 ~]$ cc i2c.c
i2c.c:97:2: warning: no newline at end of file
/tmp/ccNQKa9S.o: In function `main':
i2c.c:(.text+0xbe): undefined reference to `i2c_smbus_read_byte_data'
i2c.c:(.text+0xfb): undefined reference to `i2c_smbus_read_byte_data'
i2c.c:(.text+0x12f): undefined reference to `i2c_smbus_read_byte_data'
i2c.c:(.text+0x163): undefined reference to `i2c_smbus_read_byte_data'
collect2: ld returned 1 exit status
Nevíte někdo co s tím?
Open/save dialogy z GTK+ jsou nejkřiklavější ukázkou toho nejdebilnějšího software, co vůbec může existovat.

Odpovědi

2.12.2007 20:06 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: i2c_smbus_read_byte_data
No chybí tě deklarace funkce "i2c_smbus_read_byte_data" takže ti asi chybí nějakej hlavičkový soubor, nebo používáš špatnou knihovnu kde se ta funkce jmenuje jinak.
2.12.2007 20:10 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: i2c_smbus_read_byte_data
PS. Nemá tam být include <linux/i2c.h>
e.lisak avatar 2.12.2007 22:22 e.lisak | skóre: 23
Rozbalit Rozbalit vše Re: i2c_smbus_read_byte_data
podle te posledni radky to vypada spise na chybejici knihovny
(collect2: ld returned 1 exit status)

zkuste pridat parametr -li2c (nebo neco v tom smyslu - pridani i2c knihovny)

Konqui avatar 5.12.2007 09:15 Konqui | skóre: 18 | blog: Konqui | Rožnov pod Radhoštěm
Rozbalit Rozbalit vše Re: i2c_smbus_read_byte_data
Při přidání parametru cc -li2c řekne, že daný parametr nezná.Nemáte nějaké jiné nápady?
Open/save dialogy z GTK+ jsou nejkřiklavější ukázkou toho nejdebilnějšího software, co vůbec může existovat.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.