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 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.

Harj. 1 Tee Qt:llä esimerkki, jossa lasket yhteen kaksi kahdeksan bittistä etumerkillistä lukua. Tee tarkastukset, etteivät luvut pääse "vuotamaan yli". 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ä.

Harj. 2 Tee Qt:llä esimerkki, jossa teet JA- TAI- Ehdoton TAI ja EI operaatiot.  Tee harjoitus 2.

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

Harj. 3 Tee Qt:llä esimerkki JA-, TAI ja Ehdoton TAI vertailuoperaatiot kahden muuttujan välillä.

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