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. Aluksi ja toisaalta Qt:tä, jolla voi myös tehdä softaa esimerkiksi sulautettuun linux:iin.

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 binäärilukujen lukujen muokkaamiseen ja loogisiin funktioihin.

Loogiset operaatiot kahdeksanbittisillä luvuilla

Loogiset operaatiot biteittäin

Loogiset operaattorit

Vertailuoperaattorit

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. Esimerkki TyoSaie.zip

Perusasioita Arduinon käyttöön

CANiin perustuvat väylät

Harjoituksia CAN:lla