Minne sijoitetaan *.h, jotta kääntäjä tajuaa sijainnin?
Arduino lib
nollasta
26<50
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 26
Vanhimmat
Nyt on siis kyse kosteusanturista DHT11 ja sen DHT11.h.
no toimihan se tietokone sähköllä
Jos et muuta tiedä niin samaan hakemistoon missä on *.c.
Kokeile vaikka sellaista sijaintia kuin /usr/lib/avr/include. Jos viitsit, niin Makefile:en voi lisätä myös omia kirjastoja varten oman polun, mistä hakea libit ja/tai include:t
No siellähän on kirjastoon lisäämiseen rutiini ohjelmassa. Kantapään kautta opittu.
Määrittelyt: "kirjasto.h" - hakee kansiosta missä itse käännettävä ohjelma on ja taas sieltä minne ohjelmistotyökalu/kääntäjä on kirjastonsa laittanut.
Juu. Lisäksi noihin kulmasuluissa oleviin voi lisätä tauhkaa, esim. jos haluat käyttää matikka kirjastoa, lisätään gcc -lmath -Lpath/to/math/lib. Tuo siis tarkoittaa, että em. polusta löytyy libmath.so t.vast. kirjasto. Saman asian tietenkin ajaa ln -s:llä tehdä ohjelman hakemistoon dynaaminen hakemistolinkki ja sitten viitata includessa aina "path/math.h". Tämä on kai se, miten kirjaston luontivaiheessa voi tehdä, kun vielä mietitään, mitä siellä kirjastossa oikein pitäisikään olla, ts. koodit eriytetään kirjastoon ja ohjelmaan erilleen..
Kyse oli Arduinon ohjelmoinnista ja se ei tapahdu gcc:n avulla vaan omalla ohjelmointiympäristöllä johon nuo ohjeet eivät päde.
http://www.arduino.cc/en/Main/Software
Lainausmerkit ' " ' ja kulmasulutko '<>' - jos ei toimi esittämälläni tavalla, niin silloin Arduino on syntaksin kanssa metsässä.
Millä perusteella metsässä ? Oletko yhtään tutustunut Arduinoon että tietäisit mistä on kyse ? Millä perusteella tuon syntaksin pitäisi päteä Arduinon kanssa ?
Arduino on hyllyssä ja nyt kyse ei ole arduinoista, vaan yleisesti C-kielen SYNTAKSISTA ja SITÄ olen käyttänyt jo aina tuolta DeSmetin - heti sen ilmestyttyä ( http://www.desmet-c.com/ ) - ajoilta ja sieltä tähän päivään ja tämän päivän C - niin Microsoftin kuin monen muunkin työkalut käyttänyt ja kokeillut.
Älä sekoita Arduinoa ja C-kielen yleistä syntaksia, kyse on eri asioista.
Pitihän se kokeilla ja niin se toimii Arduinonkin maailmassa:
#include "omalib.h"
Poimii käännettävän ohjelman juuresta niinkuin pitääkin ja sinne se tulee sijoittaakin, muuten se ei löydä sitä.
'Syntax_terror'-pojalla _vielä_ toivottoman pitkä matka edessä ..?
Tuo esimerkkisi toimii koska se on juuri niinkuin pitääkin Arduinolle(kin), moni C-kääntäjistä tuttu asia ei toimi eli Arduinon (ja sen IDE:n) kanssa ei kannata vedota C-kielestä eikä varsinkaan esim. GCC:stä opittuihin asioihin koska kyse on eri asioista. Taitaa "muistaisin" taaperolla tosiaan olla vielä toivottoman pitkä matka edessä ennenkuin oppii eri ympäristöjen erot ?
Narsistikin vielä - teillä on tulevaisuus takinkääntäjänä vihreitten poliitiikassa.
:)
Toisiasia on, että jos Arduinoon on sisällytetty ominaisuus C-kielestä - SE myös toimii kuin C-kielessä.
Tuolla ketjun alussa annettiin ohjeita sellaisiin C-kielen/kääntäjien ominaisuuksiin joita EI OLE sisällytetty Arduinoon. Mikä tuossa on niin vaikea ymmärtää ? Ihan turha urputtaa jostain C-kielen ja GCC kääntäjien ominaisuuksista kun ei vaivaudu edes tarkistaman onko kyseiset ominaisuudet sisällytetty Arduinoon. Eli ei kannata sotkea asioita keskenään kun kyse on eriasioista joilla on joitain yhtäläisyyksiä.
Sinulla olisi tosiaan loistava tulevaisuus vihreiden poilitiikassa, vähät faktoista ja niiden tarkistamisesta kunhan pääsee suoltamaan omia sekavia ajatuksiaan.
Se miten kääntäjä toimii ja ohjeita tottelee, on taas eri asia kuin kielen syntaksi - ei ole mitään tekemistä keskenään.
Lellanlettas sentään meidän poikasia.
Mikä ympäristö sulla on ajossa? En ole vielä kertaakaan joutunut turvautumaan arduinon kanssa muuhun kuin linux gcc:hen ja avrdude:en. Itse rakennettu värkki, eikä mikään valmiina kaupan hyllyltä saatava. Ohjelmointilaitteitakin on kolme: USB-tiny, sarjaporttipohjainen ja rinnakkaisportti versio.
Nuo ajoympäristöt tuppaavat nojautumaan Makefile:en ja gcc:hen alatasolla, joten riittää kun hallitsee nuo. Sen jälkeen on aivan sama, tukeeko IDE jotain ominaisuutta vai ei. Syntaktinen sokerikuorrutus kun tuppaa halkeilemaan heti ensimmäisestä käytöstä lähtien..
Arduino on täysin epästandardi, sitäkö yritit sanoa?
Miten niin epästandardi ? Mitä standardia sen pitäisi noudattaa tai mitä standardia se muka rikkoo ? Laitatko standardin tunnuksen (ISO-numero tms.) tai muuta vastaavaa tietoa, vaikka linkki määrittelyyn.
No oiskohan ihan vaikka ANSI C:
http://en.wikipedia.org/wiki/ANSI_C
Siis olettaen, että "Muistaisin" mainitsemat C-kielen perusjutut eivät jostain ihmeen syystä toimisikaan Arduino-ympäristössä. Itse en ole tehnyt mitään Arduinolla, mutta kylläkin AVR:llä ja lukuisilla eri C-kääntäjillä eri alustoilla. Ne eivät todellakaan ole vain gcc:ssä käytettyjä.
Arduino EI käytä ANSI C-määritystä eikä missään virallisilla Arduino sivuilla tai dokumenteissa sellaista väitetäkään. Ei siis ole mitään syytä miksi Arduinon pitäisi tuota noudattaa. Pikku vihje, älä sekoita Arduinoa ja C-kieltä tai C-ohjelmointia keskenään.
Arduinon kieli sisältää tosin OSITTAIN C-kielen piirteitä ja ominaisuuksia ja tämä ilmeisesti sekoittaa joitain ihmisiä kuten sinua.
Poimi minulle pätkä sellaista koodia Arduinon "kielestä", joka osoittaa sen olevan JOTAIN muuta kuin ANSI-C'tä?
Arduinon käyttämä kieli ei noudata ANSI-C:n määrityksiä kuten on jo tullut selvästi esille eli siis se ei ole ANSI-C'tä. Ei tuo nyt voi olla niin vaikea ymmärtää.
Esimerkki.
Kiiitoos!
Turhaan kyselet esimerkkiä, ei tuo typerys tuntisi ANSI-C koodia vaikka se tulisi vastaan ja sanoisi 'päivää'.