Mikrokontrolleri?

Anonyymi

Ehdotuksia:
Mikäs olisi paras/hyvä kontrolleri jossa vähintään 18kpl lähtöjä kaikki muut inputit outputit plussaa, hyvä dokumentaatio ja mielellään suomeksi. Ja tietysti joku kehitysympäristö Mint tai Ubuntu olisi plussaa. Pitäisi pystyä ohjaamaan pieniä servoja ehkä suoraan tai draiverien kautta.
-Eki

15

156

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Jos kyse on perinteisestä mikrokontrollerista, niin itse olen suosinut esim. alunperin Atmelin (nyk. Microchip) ATMEGA -sarjaa, esim. ATMEGA328. Jos haluat enemmän muistia, niin tuosta on hienompia versioita kuten ATMEGA648 tai ATMEGA1288.

      Logiikkana nimeämisessä on se, että viimeinen "8" kertoo kyseessä olevan 8-bittinen mikrokontrolleri ja alkuosan numero kertoo ohjelmamuistin määrän kilotavuina.

      Huom: tavu=8 bittiä, mutta ohjelmamuistissa mittayksikkönä onkin sana = 16 bittiä.

      Eli siis ATMEGA328:ssa on 32 kilotavua ohjelmamuistia mutta se vastaa 16 kilosanaa. Tuossahan useimmat käskyt ovat pituudeltaan 16 -bittisiä ja jotkut 32 -bittisiä.

      Huomaa myös, että kun osoiteavaruus kasvaa yli 64 K, niin osoittamiseen ei enää riitäkään 16 bittiä. Ja etumerkillisten eli relatiiviten osoitustapojen kohdalla raja tulee ainakin teoriassa vastaan jo 32K kohdalla, joskin JOS ko. kontrolleri toimii ns. "wrap around" -periaatteella, niin silloin tuo raja on oikeasti 64K eikä 32K.

      Halvin on varmaan Bebekin myymä aivan toisenlainen kontrolleri piirilevyineen;
      hinta 10€, 32-bit kontrolleri, mutta tuon 32-bittisen assembly -kieli vaikutti vaikeasti ymmärrettävältä. ATMEGA -sarjassa assembly on melko selkeää, vaikka käskyt eroavat PC:ssä käytetyn Intel / AMD -prosessorien käsyjen kanssa käytetystä.

      Tuossa 32-bittisessä Bebekin myymässä STM halpiksessa tuettu kieli on vain C, mutta ATMEGA:n kanssa voi koodata assemblyllä (erityisesti keskeytysaliohjelmien kanssa hyödyllistä) sekä Freepascalilla.

      JOS hyväksyt C-kielen ohjelmointikieleksi, niin tässä em. Bebekin myymä tuote:
      http://bebek.fi/kauppa/lisatiedot.php?&tuote_id=18032

      Tosin: Ainakin Helsingin Bebekin myymälän aukioloajat ovat nykyään hyvin rajoitettuja joten tarkista netistä tai soita, ettet tee turhaa reissua ja kauppa on suljettu.

      • Anonyymi

        Tulipa tarkistettua netistä:

        "Helsingin myymälämme on suljettu."

        eli Bebek palvelee vain Lahdessa sekä postimyyntinä.
        Lahti ( Hirsimetsäntie 26 ):
        Ma-pe klo 9-17
        Sähköposti: [email protected]
        Puhelin: 050 4704941

        Ainahan tuota voi yrittää löytää esim. Parcosta - tosin en tiedä myyvätkö tuota vai keskittyvätkö Raspberry Pi -tuotteisiin (ATMEGAa luulisi sieltäki löytyvän).


      • Anonyymi

        Miksei voisi STM32:sta, joka on ARM, ohjelmoida assemblyllä? Sehän on konekieli, johon kaikki ohjelmointikielet käännetään ennen muistiin siirtoa.

        Tai ehkä parempi kysymys olisi, miksi joku haluaisi ohjelmoida assemblyllä.


      • Anonyymi
        Anonyymi kirjoitti:

        Miksei voisi STM32:sta, joka on ARM, ohjelmoida assemblyllä? Sehän on konekieli, johon kaikki ohjelmointikielet käännetään ennen muistiin siirtoa.

        Tai ehkä parempi kysymys olisi, miksi joku haluaisi ohjelmoida assemblyllä.

        "ehkä parempi kysymys olisi, miksi joku haluaisi ohjelmoida assemblyllä"

        No esim. itse koodaan ATMEGA -kontrollereille siten, että suurin osa ohjelmasta FreePascalilla, mutta keskeytysaliohjelmat assemblyllä.

        Miksikö?

        No, koska keskeytysaliohjelman ajankäyttö on syytä minimoida.

        Koska se on pois siitä, mitä pääohjelman käytettäväksi jää.
        Ja mikä pahinta, entä jos uusi keskeytys tulee (tai tulisi, jos keskeytykset olisi sallittu) ennen kuin edellistä keskeytystä palveleva keskeytysaliohjelma ehtii loppuun asti, eli CPU:sta riippuen yleensä joko IRET tai RETI ?

        Varsinkin viimemainittu on onneton tilanne, koska se johtaa vähintään uuden keskeytyksen viivästymiseen ja pahimmillaan siihen, että keskeytys jää kokonaan käsittelemättä.

        Mikrokontrolleri ei ole PC, vaan se suorittaa yleensä laiteläheistä tehtävää.

        Assemblyssä on mahdollista laskea kuinka monta kellosykliä keskeytysaliohjelma pahimmillaan kuluttaa (mikään muu ohjelmointikieli ei tue tätä), ja näin varmistua, että keskeytys ehditään käsitellä ennen seuraavan (kriittisen) keskeytyksen saapumista.

        Osaan muutamankin eri CPU:n ja mikrokontrollerin assembly-kieltä, esim. Z80, 80x86, ATMEGA328 -sarja jne. Näihin verrattuna tuo ARM vaikutti erittäin sekavalta.
        Myös silloisia Microchipin kontrollereita pidin ATMELin tuotteisiin verrattuna sekavalla assemblyllä varustetuksi... ja sitten Microchip osti kilpailijansa ATMELin.


        Ehkä koko ARM konekieltä ei ole suunniteltu lainkaan assemblyllä koodattavaksi, vaan lähinnä korkean tason kielten kääntäjien suunnittelijoiden referenssimateriaaliksi.


        Sitä voi kysyä, miksi joihinkin CPU / Mikrokontrollereihin laitetaan sekava assembly.


      • Anonyymi
        Anonyymi kirjoitti:

        "ehkä parempi kysymys olisi, miksi joku haluaisi ohjelmoida assemblyllä"

        No esim. itse koodaan ATMEGA -kontrollereille siten, että suurin osa ohjelmasta FreePascalilla, mutta keskeytysaliohjelmat assemblyllä.

        Miksikö?

        No, koska keskeytysaliohjelman ajankäyttö on syytä minimoida.

        Koska se on pois siitä, mitä pääohjelman käytettäväksi jää.
        Ja mikä pahinta, entä jos uusi keskeytys tulee (tai tulisi, jos keskeytykset olisi sallittu) ennen kuin edellistä keskeytystä palveleva keskeytysaliohjelma ehtii loppuun asti, eli CPU:sta riippuen yleensä joko IRET tai RETI ?

        Varsinkin viimemainittu on onneton tilanne, koska se johtaa vähintään uuden keskeytyksen viivästymiseen ja pahimmillaan siihen, että keskeytys jää kokonaan käsittelemättä.

        Mikrokontrolleri ei ole PC, vaan se suorittaa yleensä laiteläheistä tehtävää.

        Assemblyssä on mahdollista laskea kuinka monta kellosykliä keskeytysaliohjelma pahimmillaan kuluttaa (mikään muu ohjelmointikieli ei tue tätä), ja näin varmistua, että keskeytys ehditään käsitellä ennen seuraavan (kriittisen) keskeytyksen saapumista.

        Osaan muutamankin eri CPU:n ja mikrokontrollerin assembly-kieltä, esim. Z80, 80x86, ATMEGA328 -sarja jne. Näihin verrattuna tuo ARM vaikutti erittäin sekavalta.
        Myös silloisia Microchipin kontrollereita pidin ATMELin tuotteisiin verrattuna sekavalla assemblyllä varustetuksi... ja sitten Microchip osti kilpailijansa ATMELin.


        Ehkä koko ARM konekieltä ei ole suunniteltu lainkaan assemblyllä koodattavaksi, vaan lähinnä korkean tason kielten kääntäjien suunnittelijoiden referenssimateriaaliksi.


        Sitä voi kysyä, miksi joihinkin CPU / Mikrokontrollereihin laitetaan sekava assembly.

        Monipuolisemman prossun assembly on tietysti monimutkaisenpaa. Simulaattorilla voi katsoa kuinka monta sykliä kestää, jos ei osaa tuotettua assemblya lukea. Riippuen mitä tekee voi keskeytyksiin tulla monimutkaisia rakenteita kielestä riippumatta, jolloin on mahdotonta laskea syklejä kaikkiin tilanteisiin.

        Itse osaan assemblya kohtuudella lukea, mutta teen lähes kaiken C:llä. Joskus on tarpeen laittaa yksittäisiä assemblyrivejä sekaan (lähinnä "nop" tai io-pinnin tilan muutos), mutta kokonaista keskeytysrutiinia en ole sillä tehnyt.

        En tunne juuri STM32:sta, mutta yleensä tuollaisissa on mahdollisuus määritellä eri prioriteettejä keskeytyksille, jolloin ne aikakriittisimmät tulevat tehtyä oikeaan aikaan muista riippumatta. Tietysti pitää osata koodata niin, ettei alemman prioriteetin keskeytyksen keskeytys riko koko hommaa, mutta siihen ei assemblyä tarvita.


      • Anonyymi
        Anonyymi kirjoitti:

        Monipuolisemman prossun assembly on tietysti monimutkaisenpaa. Simulaattorilla voi katsoa kuinka monta sykliä kestää, jos ei osaa tuotettua assemblya lukea. Riippuen mitä tekee voi keskeytyksiin tulla monimutkaisia rakenteita kielestä riippumatta, jolloin on mahdotonta laskea syklejä kaikkiin tilanteisiin.

        Itse osaan assemblya kohtuudella lukea, mutta teen lähes kaiken C:llä. Joskus on tarpeen laittaa yksittäisiä assemblyrivejä sekaan (lähinnä "nop" tai io-pinnin tilan muutos), mutta kokonaista keskeytysrutiinia en ole sillä tehnyt.

        En tunne juuri STM32:sta, mutta yleensä tuollaisissa on mahdollisuus määritellä eri prioriteettejä keskeytyksille, jolloin ne aikakriittisimmät tulevat tehtyä oikeaan aikaan muista riippumatta. Tietysti pitää osata koodata niin, ettei alemman prioriteetin keskeytyksen keskeytys riko koko hommaa, mutta siihen ei assemblyä tarvita.

        "Monipuolisemman prossun assembly on tietysti monimutkaisenpaa."

        huono tekosyy.

        Vaikka erilaisia assemblykäskyjä olisi jopa 2000, se ei sinänsä tee asiaa monimutkaiseksi.
        Kyse ei siis tuossa ARMissa ole siitä, että käskyjä olisi liikaa, vaan siitä, että olemassaolevien käskyjen nimet (engl. "mnemonic") ovat täysin poikkeavia kaikista muista mikroprosessoreista tai -kontrollereista minkä kanssa olen ikinä ollut tekemisissä (Z80, x86, atmel avr, tai edes Intel 8051) .

        Lisäksi on outoa, jos 32 -bit kontrollerissa ei ole 32 -bittistä load -käskyä, vaan sen sijasta loadhi ja loadlo, kumpikin lataa (joko ylemmät tai alemmat) 16 bittiä kerrallaan täyden 32 bitin sijasta.

        Iso suunnitteluero, vertaa vaikkapa Z80 -käskyt:

        LD HL, 1234h

        Jos nyt oikein muistan, niin Z80 sallii myös LD BC, FF82h

        Ja tuon on 8 -bittinen CPU, mutta niin vaan sallii 16 -bittisen datan lataamisen kerralla rekisteripariin.

        Käsittämätöntä söhellystä, jos 32- bit CPU ei osaa ladata 32 bittiä kerralla, vaan on pakko jakaa tuo 32 bitin lataaminen ala -ja yläosaan.


      • Anonyymi
        Anonyymi kirjoitti:

        "Monipuolisemman prossun assembly on tietysti monimutkaisenpaa."

        huono tekosyy.

        Vaikka erilaisia assemblykäskyjä olisi jopa 2000, se ei sinänsä tee asiaa monimutkaiseksi.
        Kyse ei siis tuossa ARMissa ole siitä, että käskyjä olisi liikaa, vaan siitä, että olemassaolevien käskyjen nimet (engl. "mnemonic") ovat täysin poikkeavia kaikista muista mikroprosessoreista tai -kontrollereista minkä kanssa olen ikinä ollut tekemisissä (Z80, x86, atmel avr, tai edes Intel 8051) .

        Lisäksi on outoa, jos 32 -bit kontrollerissa ei ole 32 -bittistä load -käskyä, vaan sen sijasta loadhi ja loadlo, kumpikin lataa (joko ylemmät tai alemmat) 16 bittiä kerrallaan täyden 32 bitin sijasta.

        Iso suunnitteluero, vertaa vaikkapa Z80 -käskyt:

        LD HL, 1234h

        Jos nyt oikein muistan, niin Z80 sallii myös LD BC, FF82h

        Ja tuon on 8 -bittinen CPU, mutta niin vaan sallii 16 -bittisen datan lataamisen kerralla rekisteripariin.

        Käsittämätöntä söhellystä, jos 32- bit CPU ei osaa ladata 32 bittiä kerralla, vaan on pakko jakaa tuo 32 bitin lataaminen ala -ja yläosaan.

        Sanoisin, että ARM:ssa on asiat paremmin noiden asm-komentojen osalta: Käskyissä on rakennetta mukana ja koska se on RISC-prosessori, assembler on helppo oppia. Vähän eroa siinä toki on, koska käyttää ns. triplettejä käskyissä eli tulosta ei välttämättä talleteta src tai dest rekisterien päälle, vaan voi olla joku kolmas tulokselle - yleensä mikä tahansa rekisteri. Myöskin ehdolliset käskyn suorittamiset voivat aluksi vähän hämätä - näillä minimoidaan branch-käskyjä ja niihin tottuu.
        Samoin, käskystöstä ei löydy perinteisiä push ja pop-käskyjä, vaan niissä on mukana tieto, kuinka monta rekisteriä palautetaan "rekisteritiedoston siirtona" - 32 rekisteristä voi siis palauttaa esim. 16 aliohjelmista paluun yhteydessä ja 16 on automaattisesti scratch-pad rekistereitä alirutiinille. Mitään ret-käskyä ei ole vaan paluu tapahtuu ylikirjoittamalla PC-rekisteri. Palautuksen kannalta ainoa asia, mikä rajaa lo- ja hi- palautusta on kytketyn muistin bittisyys, ts. siirto tapahtuu muistin maksiminopeudella. Sama koskee myös hi- ja lo- osan 32-bittisestä rekisteristä latausta, koska prosessori käyttää pipeline-tekniikkaa: assembler on ehkä hieman höttöä risc-tyyliin, mutta yhtään kellosykliä ei silti hukata. En muista, mistä versiosta alkaen käyttöön tuli MMU-yksikkö, jolloin siirrot muistin ja prosessorin välillä saattoivat olla 32-bittisiä. Idea kuitenkin oli sama kuin PC:ssä, eli hyödynnettiin saatavilla olevia 8/16 bittisiä muisteja jotta järjestelmä pysyi halpana toteuttaa. Prosessorista(MMU:n kanssa) siis löytyy 32-bittiseen lataamiseen käsky kyllä, mutta jos ei ole muistinhallintayksikköä välissä tekemässä 8/16 bittisistä fetch-komennoista muistille 32 bittisiä siitä ei ole mitään hyötyä - vie vaan turhia transitoreita core:ssa ja komento on täten poistettu näistä pienemmistä arm:eista..
        Voisi siis saivarrella, että muistiväylän ollessa 16-bittinen, prossu olisi myös ollut 16-bittinen, mutta kykeni silti 32 bittisiin operaatioihin sisäisesti.


    • Anonyymi

      Jos käyttää atmega - prosessoria niin ohjelmointi onnistuu myös Arduinon ohjelmointikielellä.

      Prossu kannattaa valita niin että sille löytyy ilmainen tai työnantajan maksama kehitysympäristö ja lisäksi netistä yhteisö, joka kyseistä prossua käyttää. Se helpottaa huomattavasti siinä vaiheessa kun hommat eivät etene ja kysymyksiin pitäisi löytyä vastauksia.

      • Anonyymi

        Kiitos näistä tähänastisista vinkeistä vastanneille.. Entäpä tämä paljon mainostettu Raspberry Pi .
        Mitä sillä on eroa perinteisiin konrolleihin?

        Löytyykö näistä vähintään se 18 lähtöä joita voisi käyttää servojen ohjailuun?
        -Eki


      • Anonyymi
        Anonyymi kirjoitti:

        Kiitos näistä tähänastisista vinkeistä vastanneille.. Entäpä tämä paljon mainostettu Raspberry Pi .
        Mitä sillä on eroa perinteisiin konrolleihin?

        Löytyykö näistä vähintään se 18 lähtöä joita voisi käyttää servojen ohjailuun?
        -Eki

        Raspberryn eri versioissa on erilaisia määriä gpio (general purpose input output) pinnejä, mutta juuri nyt se ei ole hyvä valinta heikon saatavuutensa ja nousseen hintanta vuoksi. Jos tarvitset kontrollerissa ethernet tai wlan liitäntää ja linux - käytis on plussaa niin sitten ehkä. Sillonkin ongelmaa voi tuottaa se, että ohjausohjelmistosi ja raudan välissä on käyttöjärjestelmä aiheuttamassa satunnaisia viiveitä. Se käyttis ei yleensä ole RTOS eli reaaliaikainen raudan ohjaamiseen nimenomaisesti suunniteltu käyttöjärjestelmä.

        Yleensä esimerkiksi 3d - printtereissä käytetään raspberryn tms ja stepperimoottoreiden ohjainten välissä jotakin tarkoitukseen pyhitettyä prossua, jonka ei tarvitse miettiä mitään muuta kuin ajoitukseltaan oleellisia asioita. Jos prossu on monimutkaisempi (32bit) niin siinä voi olla joku RTOS apuna.

        Jos sinulla ei ole kova kiire servojen ohjauksessa niin spi - väylän kautta saa minkä tahansa prosessorin ulostulojen määrää kasvatettua.


      • Anonyymi
        Anonyymi kirjoitti:

        Raspberryn eri versioissa on erilaisia määriä gpio (general purpose input output) pinnejä, mutta juuri nyt se ei ole hyvä valinta heikon saatavuutensa ja nousseen hintanta vuoksi. Jos tarvitset kontrollerissa ethernet tai wlan liitäntää ja linux - käytis on plussaa niin sitten ehkä. Sillonkin ongelmaa voi tuottaa se, että ohjausohjelmistosi ja raudan välissä on käyttöjärjestelmä aiheuttamassa satunnaisia viiveitä. Se käyttis ei yleensä ole RTOS eli reaaliaikainen raudan ohjaamiseen nimenomaisesti suunniteltu käyttöjärjestelmä.

        Yleensä esimerkiksi 3d - printtereissä käytetään raspberryn tms ja stepperimoottoreiden ohjainten välissä jotakin tarkoitukseen pyhitettyä prossua, jonka ei tarvitse miettiä mitään muuta kuin ajoitukseltaan oleellisia asioita. Jos prossu on monimutkaisempi (32bit) niin siinä voi olla joku RTOS apuna.

        Jos sinulla ei ole kova kiire servojen ohjauksessa niin spi - väylän kautta saa minkä tahansa prosessorin ulostulojen määrää kasvatettua.

        Jos et ole koskaan tehnyt mitään kontrollerilla, niin kannattaa aloittaa jollakin arduinolla tmv. laitteella. ARM-pohjainen STM32 ja sen CUBE-ympäristö on ehkä hiukan vaativa, koska sen toimintaan saattaminen on kohtuullisen iso prosessi. Dokumentaatio on periaatteessa olemassa, mutta vaatii aika usein esimerkkikoodin katselemista silti. Periaatteessa SDK:ssa on javalla toteutettu C-koodigeneraattori, josta klikkaillaan oikea prosessori ja sitten valitaan pinnien toiminnat GUI:n avulla - totesin tämän vaan aika ikäväksi ja kömpelöksi tavaksi tuottaa koodia ja lopulta löysin Makefile-pohjaisen käännösympäristön github:sta, jota joutuu käsin editoimaan tosin, mutta parin tunnin opetusvideoita youtube:sta katseltuani se on itse asiassa toimivampi. CUBE:n käytön opettelu kannattaa, sillä siellä on melkein kaikelle toiminnolle valmista koodia ja esim. keskeytysohjatun sarjaporttiajurin toteuttaminen omaan ohjelmaan on pikku juttu. Nykyäänhän tuolle on joku uudempikin systeemi olemassa joten sitä voi kannattaa vilkaista myös jos jotain uutta aikoo opetella.
        STM32:t ja Megat on aivan eri tasolla suorituskyvyltään ja STM32:lle RTOS voi olla ihan järkevä vaihtoehto, sille voi saada jopa moniajoa toteutettua. Oikeastaan hiukan kärjistettynä STM32 on yhden arm(4)-coren raspi max. 100MHz taajuudella, kun raspissa taisi olla 4 corea ja 1.2GHz taajuus ja hiukan uudempi arm(v7?)-arkkitehtuuri.


      • Anonyymi
        Anonyymi kirjoitti:

        Kiitos näistä tähänastisista vinkeistä vastanneille.. Entäpä tämä paljon mainostettu Raspberry Pi .
        Mitä sillä on eroa perinteisiin konrolleihin?

        Löytyykö näistä vähintään se 18 lähtöä joita voisi käyttää servojen ohjailuun?
        -Eki

        " Raspberry Pi" - tutustu myös aiheeseen:

        https://ultibo.org/

        Tuo Raspberry Pi ei ole ihan perinteinen kontrolleri, mutta tuo ultibo ei ole käyttöjärjestelmä, vaan työväline, jolla voi kirjoittaa yhden tarkoituksen sovelluksen, jota suoritetaan suoraan prosessorilla ilman erillistä käyttöjärjestelmää. Tuosta rakenteesta johtuen myös I/O -porttien suora käsittely on mahdollista, toisin kuin suojatun tilan käyttöjärjestelmissä, jossa usein sovelluksien oikeudet käyttää I/O -portteja on estetty.


      • Anonyymi
        Anonyymi kirjoitti:

        Jos et ole koskaan tehnyt mitään kontrollerilla, niin kannattaa aloittaa jollakin arduinolla tmv. laitteella. ARM-pohjainen STM32 ja sen CUBE-ympäristö on ehkä hiukan vaativa, koska sen toimintaan saattaminen on kohtuullisen iso prosessi. Dokumentaatio on periaatteessa olemassa, mutta vaatii aika usein esimerkkikoodin katselemista silti. Periaatteessa SDK:ssa on javalla toteutettu C-koodigeneraattori, josta klikkaillaan oikea prosessori ja sitten valitaan pinnien toiminnat GUI:n avulla - totesin tämän vaan aika ikäväksi ja kömpelöksi tavaksi tuottaa koodia ja lopulta löysin Makefile-pohjaisen käännösympäristön github:sta, jota joutuu käsin editoimaan tosin, mutta parin tunnin opetusvideoita youtube:sta katseltuani se on itse asiassa toimivampi. CUBE:n käytön opettelu kannattaa, sillä siellä on melkein kaikelle toiminnolle valmista koodia ja esim. keskeytysohjatun sarjaporttiajurin toteuttaminen omaan ohjelmaan on pikku juttu. Nykyäänhän tuolle on joku uudempikin systeemi olemassa joten sitä voi kannattaa vilkaista myös jos jotain uutta aikoo opetella.
        STM32:t ja Megat on aivan eri tasolla suorituskyvyltään ja STM32:lle RTOS voi olla ihan järkevä vaihtoehto, sille voi saada jopa moniajoa toteutettua. Oikeastaan hiukan kärjistettynä STM32 on yhden arm(4)-coren raspi max. 100MHz taajuudella, kun raspissa taisi olla 4 corea ja 1.2GHz taajuus ja hiukan uudempi arm(v7?)-arkkitehtuuri.

        Saisikohan tuota STM32:ta (siis tämä:

        http://bebek.fi/kauppa/lisatiedot.php?&tuote_id=18032

        )

        jotenkin koodattua FreePascalilla (tai Ultibolla ) ?

        Tuli ostettua tuo, koska sen hinta (10 €) oli erittäin edullinen kokonaisesta kortista, eli hinta sisältää sekä prosessorin että piirilevyn oheiskomponentteineen).

        Jos tuota saisi ohjelmoitua joko FreePascalilla tai Ultibolla niin soveltuisi varmasti hyvin moneen tarkoitukseen, joko sellaisenaan, tai kytkettynä lisäpiirikorttiin, jolla sovelluskohtaista muuta elektroniikkaa, jota tuo STM sitten ohjaisi.


      • Anonyymi
        Anonyymi kirjoitti:

        Saisikohan tuota STM32:ta (siis tämä:

        http://bebek.fi/kauppa/lisatiedot.php?&tuote_id=18032

        )

        jotenkin koodattua FreePascalilla (tai Ultibolla ) ?

        Tuli ostettua tuo, koska sen hinta (10 €) oli erittäin edullinen kokonaisesta kortista, eli hinta sisältää sekä prosessorin että piirilevyn oheiskomponentteineen).

        Jos tuota saisi ohjelmoitua joko FreePascalilla tai Ultibolla niin soveltuisi varmasti hyvin moneen tarkoitukseen, joko sellaisenaan, tai kytkettynä lisäpiirikorttiin, jolla sovelluskohtaista muuta elektroniikkaa, jota tuo STM sitten ohjaisi.

        Väittäisin, että kaukana ei ainakaan tuen osalta olla: free pascalista saa version arm v3:lle ainakin, tuo linkissäsi oleva on ilmeisesti v4 prosessori. Lisäksi on v6/raspi tuki. Eli luultavasti joutuu itse kääntämään kääntäjän, mikä ei ole tämän mukaan kovin vaikea operaatio:
        https://wiki.freepascal.org/TARGET_Embedded
        Eri asia sitten on, kuinka paljon joutuu näkemään vaivaa jos haluaa cube-f4:n tyylisen tukikirjaston: Riittääkö .h tiedostojen kääntäminen pascaliksi? Ilmankin toki pärjää..


    • Anonyymi

      Ok. Kiitos kaikille infosta. Täytyy tutustua paremmalla ajalla näihin juttuihin, nyt lomille lomsis...
      -Eki

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Jos tienaaminen koneella kiinnostaa niin lue!

      Olen kerrännyt muutaman linkin kyselysivustoille. Vastaa kyselyihin ja tienaa rahaa! Minimikotiutus on sivuilla 10e ja v
      Työ ja opiskelu
      39
      10596
    2. Olenko joka hetki

      Ajatuksissasi?
      Ikävä
      37
      2391
    3. Mies kateissa Lapualla

      Voi ei taas! Toivottavasti tällä on onnellinen loppu. https://poliisi.fi/-/mies-kateissa-lapualla
      Lapua
      36
      2326
    4. Onko kaivattusi perään

      Moni muukin?
      Ikävä
      95
      1711
    5. Olen aina vain

      Ihmeissäni siitä että oletko niin tosissani minusta? Mitä muut ajattelisi meistä?
      Ikävä
      51
      1270
    6. Joo nyt mä sen tajuan

      Kaipaan sua, ei sitä mikään muuta ja olet oikea❤️ miksi tämän pitää olla niin vaikeaa?
      Ikävä
      83
      1232
    7. Olipa ihana rakas

      ❤️🤗😚 Toivottavasti jatkat samalla linjalla ja höpsöttelykin on sallittua, kunhan ei oo loukkaavaa 😉 suloisia unia kau
      Ikävä
      5
      1155
    8. Kansanedustaja Teemu Keskisarja ei osallistu Linnan juhliin vaan natsikulkueeseen

      Kerääkö poliisi taas natsiliput pois osallistujilta?
      Maailman menoa
      265
      983
    9. Nainen jos pitää sanoa

      Ne huonot puolet mitä omaat niin kestätkö kritiikin.
      Ikävä
      52
      956
    10. Kumpi teistä rakastui ensin?

      Sinä vai kaipaamasi henkilö (jos siis tunteet ovat molemminpuolisia)? Tai jos kyse ei ole vielä rakkaudesta, niin kumpi
      Ikävä
      36
      737
    Aihe