Programiranje mikrokrmilnikov

Opis predmeta

Predmet je logično nadaljevanje predmeta Osnove programiranja, čeprav ga je mogoče poslušati tudi neodvisno od Osnov programiranja. Razdeljen je na tri osnovne sklope:

-Uvod v jezik C s poudarkom na razlike med jezikoma C in JavaScript:

  -skriptni jeziki in prevajalniki

  -operacijski sistemi

  -operatorji

  -podatkovni tipi

  -objekti in spremenljivke

-Programski jezik C:

  -podatkovne strukture

  -programske tehnike

  -nižjenivojske operacije

-Učni sistem Arduino:

  -osnove vgrajenih sistemov

  -priklop in krmiljenje perifernih naprav

  -večopravilni sistemi in sistemi v realnem času

  -osnovni mehanizem prekinitev

Cilji in kompetence

Študenti bodo osvojili osnovno znanje programskega jezika C. Spoznali bodo osnovne principe delovanja mikrokrmilnikov, priključevanja naprav ter osnovnih načel sistemov v realnem času

Metode poučevanja in učenja

Predavanja, praktični prikazi, laboratorijske vaje, individualno delo z zahtevnejšimi študenti, uporaba spletnih tehnologij, domače naloge

Predvideni študijski rezultati

Po uspešno opravljenem modulu naj bi bili študenti zmožni:

-našteti in opisati osnovne komponente mikroračunalniškega sistema

-razložiti pomen in način delovanja osnovnih računalniških komponent

-pojasniti moteče fizikalne pojave, ki jih lahko obvladamo s programskimi rešitvemi

-prepoznati izzive, ki jih prinašajo vgrajeni sistemi, večopravilni sistemi in sistemi, ki delujejo v realnem času

-razviti preprost vgrajen sistem

-ovrednotiti pomen časovne in pomnilniške učinkovitosti programske rešitve

-zgraditi zanesljiv sistem, ki deluje v realnem času

-oceniti učinkovitost konkretne rešitve z vidika porabe sredstev, končne cene, pravilnosti, in zanesljivosti delovanja, ter možnosti vzdrževanja in nadgradnje

Reference nosilca

  1. KUNAVER, Matevž, BÜRMEN, Arpad, FAJFAR, Iztok. Automatic grammatical evolution-based optimization of matrix factorization algorithm, Mathematics. Apr.-1 2022, iss. 7, 1139, str. 1-22
  2. ŽIC, Mark, SUBOTIĆ, Vanja, PEREVERZYEV, Sergei, FAJFAR, Iztok. Solving CNLS problems using Levenberg-Marquardt algorithm : a new fitting strategy combining limits and a symbolic Jacobian matrix. Journal of electroanalytical chemistry. 1 Jun. 2020, vol. 866, 114171, str. 1-9
  3. BÜRMEN, Arpad, TUMA, Tadej, FAJFAR, Iztok. Meta-optimisation on a high-performance computing system. Elektrotehniški vestnik, ISSN 2232-3228. [English print ed.], 2012, vol. 79, no. 5, str. 231-236
  4. FAJFAR, Iztok, TUMA, Tadej, PUHAN, Janez, OLENŠEK, Jernej, BÜRMEN, Arpad. Towards smaller populations in differential evolution = K manjšim populacijam v diferencialni evoluciji. Informacije MIDEM, ISSN 0352-9045, sep. 2012, letn. 42, št. 3, str. 152-163
  5. FAJFAR, Iztok, PUHAN, Janez, TOMAŽIČ, Sašo, BÜRMEN, Arpad. On selection in differential evolution. Elektrotehniški vestnik, ISSN 2232-3228. [English print ed.], 2011, vol. 78, no. 5, str. 275-280
  6. PUHAN, Janez, BÜRMEN, Arpad, TUMA, Tadej, FAJFAR, Iztok. Teaching assembly and C language concurrently. International journal of electrical engineering education, ISSN 0020-7209, Apr. 2010, vol. 47, no. 2, str. 120-131

Temeljni viri in literatura

1. I. Fajfar, J. Olenšek: Osvojimo C – C89, C99 in primeri programiranja mikrokrmilnikov, Založba FE, 2020

2. S. G. Kochan: Programming in C (4th Edition), 2014

3. K. N. King: C Programming – A Modern Approach, 2008

4. H. Schildt: Teach Yourself C, McGraw-Hill, 1997

5. R. P. Halpern: C for Yourself: Learning C Using Experiments, Oxford University Press, 1997

5. How C Programming Works (www.howstuffworks.com)

6. Spletna stran, www.cprogramming.com

Bodi na tekočem

Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana

E:  dekanat@fe.uni-lj.si T:  01 4768 411