Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Peruskäsiteitä, joita tarvitaan rakennettaessa sulautettuihin järjestelmiin softaa

Tähän koneautomaation wikin osaan on kerätty perustietoa sulautetuista järjestelmistä ja niiden ohjelmoinnista. Koska tässä käsitellään perusteita, käytämme ohjelmistoympäristönä Arduinoa ja toisaalta Qt:tä, jolla voi myös tehdä softaa esimerkiksi sulautettuun linuksiin.

Jotta voisimme ymmärtää sulautettujen järjestelmien sielunelämää, tulee ymmärtää mitä tarkoitetaan binääri-, oktaali- ja heksaluvuilla. Kts lukujärjestelmät ja Lukujärjestelmistä ja kahden komplementeista.

Tee harjoitus 1.

Sulautettuja järjestelmiä ohjelmoidaan vieläkin C-kielellä ja näin on tehty jo lähes 50 vuotta. Siksi aluksi tutustutaan C-kielen avulla lukujen muokkaamiseen JA-, TAI- ja Ei funktioilla. Nämä voidaan ymmärtää Boolean operaatioiksi lukujen bittien välillä.

Tee harjoitus 2.

Miltei samankaltaisilla merkinnöillä voidaan vertailla if lauseissa lukuarvoja toisiinsa, mutta tällöin tarkoitus on aivan eri kts. vertailuoperaatiot

Monessa tapauksessa tavun tai sanan tietyt bitit pitää nollata, asettaa ykkösiksi tai vaihtaa päinvastaisiksi. Näitä toimenpiteitä kutsutaan yleisesti bittien maskaukseksi, esimerkkejä maskauksesta

Tee harjoitukset 3....9

Monesti ohjelmisto joudutaan jakamaan rinnakkain suoritettaviin osiin. Esimerkiksi, kun järjestelmässä on käyttöliittymä ja toimintoja, joilla ohjataan ja tai mitataan nopeita tapahtumia. Tällöin yhtenä vaihtoehtona on ohjelman jakaminen säikeisiin eli rinnakkaisiin samanaikaisesti suoritettaviin säikeisiin. 

Harjattoman DC-moottorin ohjaaminen Arduino kehitysalustan ja potentiometrin avulla.

Arduino Mega 2560 + CMR3000 gyro- + SCA3100 kiihtyvyysanturi

Arduino + PS2 ohjain

Arduino Uno + CAN Shield