Kasutaja tarvikud

Lehe tööriistad


kursused:2021:c_back_to_basics

C Back to Basics

Üldine

Palun andke osalusest teada täites lehe lõpus olev registreerimisvorm. Lisaks tõmmake alla vajalik tarkvara, samuti lehe lõpus.

Kursuse eesmärk on tutvustada sardsüsteemide tarkvaraarendust. Teemad, mida katame:

  • Pointerid ja massiivid.
  • Funktsioonide inimlik kasutus.
  • Struktuurid.
  • Interrupt-d.

Lisa sessioonidega katame ka järgmisi teemasi:

  • RTOS: mis on ja kuidas-kus kasutada FreeRTOS näitel.
  • C++: miks võiks mõelda C++-i kasutamisele ja mida see paremaks teeb.

Kursus on ehitatud üles 8×8 LED maatriksi juhtimisele. Ehk siis: kõigi sessioonide eesmärk on midagi seal lahendada ja sellele maatriksile „lisa funktsionaalsust“ anda. Lõppseis võiks olla selline, et me saame arvutist anda suvalise teksti, mille STM trükib rulluva tekstina sellele 8×8 maatriksile.

Ülesehituse kohta nii palju, et kui sind otseselt need põhisessioonide osad ei huvita, aga soovid lisasessioonidega liituda, siis nii pidi on võimalik. Et saad osa võtta ainult FreeRTOS-i osast või C++-i osast. Samuti ei pea lisasessioonidest osa võtma, kui ei ole huvi.

Eeltingimused

Oskad mingil tasemel C-d kirjutada. Ehk siis, umbes adud, mis on muutujad, if-else laused, tsükklid. Kui ei ole kindel, siis võta ühendust ja vaatame, kuda aidata saab.

Ajakava

Töö on jaotatud 3 põhisessiooni + 2 lisasessiooni. Iga sessioon võtab orienteeruvalt 2h aega. Mingid osad võivad jääda kodus/iseseisvalt lõpetada.

Sessioonide kaupa ülevaade:

  1. Tähed maatriksile.
    • Ülesande analüüs ja algoritmimine.
    • Massiivid ja viidad.
    • Semi-keerulisem control-flow.
    • Lõpp-seis: maatriks suudab kuvada tähti. Tähti saab anda stringina ette.
  2. Refaktoorimine: struktuurid ja non-blocking.
    • Rakendame struktuure (struct), et asju natukene paremaks teha.
    • Koodi funktsioonidesse löömine.
    • Teksti scrollimine interrupt-dega.
    • Lõpp-seis: main on mitte-blokeeriv ja tekst scrollib taimeri põhjal.
  3. Kuvame UART-st sisestatud teksti.'
    • UART-i Rx interruptide tööle saamine ja liidestamine main-ga.
    • Ringpuhvrid ja lipud.
    • Lõpp-seis: arvutist sisestatud tekst kuvatakse maatriksil väikese viivitusega.

Lisasessioonid:

  1. FreeRTOS:
    • Teeme tutvust ja viime koodi RTOS-i peale.
  2. C++:
    • Vaatame, kuidas lihtsaid C++-i komponente (objektid/klassid, std::array) kasutada C koodi lihtsustamiseks ja rohkem veakindlamaks tegemisel.

Graafik

  • Sessioon 0: 26.07 @ 18.30 (Sissejuhatav LED-i vilgutamine INSÜK-le)
  • Sessioon 1: 29.07 @ 18.30
  • Sessioon 2: 02.08 @ 18.30
  • Sessioon 3: 05.08 @ 18.30
  • Sessioon 4: 09.08 @ 18.30 (FreeRTOS)
  • Sessioon 5: 12.08 @ 18.30 (C++)

Registreerimine

Täida all olev Google Forms et registreeruda: https://forms.gle/M3ePv9QyRBV3mq2f7

Tarkvara

Vaja on tõmmata ja installida STM32CubeIDE. Lingi leiate siit.

Installige ära ja pange üks kord tööle. Muuga vaatame juba kursusel edasi.

Arraykursused/2021/c_back_to_basics.txt · Viimati muutnud: 2021/07/23 20:35 persoon erki.meinberg

Lehekülje tarvikud