MIKRO KNJIGA
    od 1984. god.

    Prikaži 6 puta
    veću sliku


    C programiranje za Arduino: AVR mikrokontroleri i Atmel Studio
    Dodaj u podsetnik - Wish List
    Tehnologija se konstantno menja. Novi mikrokontroleri postaju dostupni svake godine. Ono što je ostalo isto je programski jezik C koji se koristi za programiranje ovih mikrokontrolera. Ako želite da naučite ovaj standardni jezik da biste programirali mikrokontrolere, onda je ova knjiga za vas!

    Arduino je hardverska platforma koja se koristi za učenje C programskog jezika, jer su Arduino pločice dostupne širom sveta i sadrže popularne AVR mikrokontrolere kompanije Atmel.

    Atmel Studio se koristi kao razvojno okruženje za pisanje programa u jeziku C za AVR mikrokontrolere. To je potpuno integrisano razvojno okruženje (IDE) koje koristi GCC C softverske alatke za AVR mikrokontrolere i može se besplatno preuzeti.

    • Započnite učenje programiranja još u prvom poglavlju
    • Nije potrebno nikakvo iskustvo u programiranju
    • Učite radeći – ukucajte i pokrenite primere programa
    • Zabavan način da naučite C programski jezik
    • Idealno za hobiste koji se bave elektronikom, studente i inženjere koji žele da nauče C programski jezik u ugrađenom okruženju na AVR mikrokontrolerima
    • Koristite besplatni Atmel Studio IDE softver za Windows
    • Pišite C programe za 8-bitne AVR mikrokontrolere koji se nalaze na Arduino Uno i MEGA pločicama
    • Primeri koda rade na pločicama Arduino Uno i Arduino MEGA 2560, a mogu biti prilagođeni i za rad na drugim AVR mikrokontrolerima ili pločicama
    • Koristite AVR Dragon programer i debager u kombinaciji sa okruženjem Atmel Studio da biste debagirali programe pisane u C jeziku

    O autoru

    Warwick A. Smith živi u Južnoj Africi i radi kao inženjer elektrotehnike i programer ugrađenih sistema. Warwick je najprodavaniji autor knjiga “Programming for Embedded Microcontrollers”, “ARM Microcontroller Interfacing” i “Open Source Electronics on Linux”.

    Sadržaj

    Uvod, 17
    Učenje jezika C, 17
    Ciljna publika, 17
    AVR mikrokontroleri, 17
    AVR arhitektura, 18
    Tehnički termini, 18
    Ugrađeni sistemi, 18
    Tehnički termini, 18
    Odabir ugrađenog sistema na kojem ćete učiti jezik C, 19
    Zašto treba da koristite programski jezik C?, 20
    Preduslovi, 21
    Zahtevi hardvera, 21
    Arduino pločica, 21
    Uređaj za programiranje, 22
    Pristup koji je korišćen u ovoj knjizi, 23
    Nekoliko dobrih saveta, 24
    Prateće datoteke i veb sajt za podršku, 24

    Poglavlje 1 • Vaš prvi program u jeziku C, 25
    1.1 • Preuzimanje i instaliranje Atmel Studia, 25
    1.1.1 • Preuzimanje Atmel Studia, 25
    1.1.2 • Instaliranje Atmel Studia, 26
    1.2 • Preuzimanje i instaliranje emulatora terminala, 26
    1.3 • Instaliranje datoteka šablona, 26
    1.4 • Povezivanje hardvera, 27
    1.5 • Kako se kreiraju programi u jeziku C, 27
    1.6 • Početak programiranja, 27
    1.6.1 Kreiranje novog projekta iz datoteka šablona, 28
    1.6.2 • Izrada projekta, 32
    1.6.3 • Problemi sa izradom i rešenja, 32
    1.6.4 • Učitavanje i pokretanje programa, 32
    1.6.5 • Problemi i rešenja prilikom učitavanja i pokretanja programa, 34
    1.7 • O vašem prvom C programu, 34
    • 5
    1.8 • Analiziranje programa, 35
    1.8.1 • Znakovi i stringovi, 35
    1.8.2 • Funkcije, 36
    1.8.3 • Naredbe programa, 37
    1.8.4 • Pretprocesorske naredbe, 37
    1.8.5 • Znakovi za belinu u tekstu, 37
    1.8.6 • Završetak programa, 38
    1.9 • Vežbe, 38
    1.9.1 • Tri reda teksta, 38
    1.9.2 Pronađite greške, 38
    1.10 • Rešenja, 39
    1.10.1 • Rešenje za 1.9.1, 39
    1.10.2 • Rešenje za 1.9.2, 39
    1.11 • Rezime, 40

    Poglavlje 2 • Osnove programskog jezika C, 41
    2.1 • Ulaz, izlaz i promenljive, 41
    2.1.1 • Promenljive, 43
    2.1.2 • Dobijanje unosa od korisnika pomoću funkcije scanf(), 44
    2.2 • Tipovi promenljive, 47
    2.2.1 • Promenljive sa pokretnom tačkom, 48
    2.2.2 • Promenljive znaka, 48
    2.3 • Aritmetičke operacije, 49
    2.4 • Specifikatori širine polja, 51
    2.5 • Kompajliranje i povezivanje, 52
    2.6 • Greške i upozorenja, 53
    2.6.1 • Greška tokom kompajliranja, 54
    2.6.2 • Greške tokom povezivanja, 55
    2.7 • Vežbe, 56
    2.7.1 • Izračunavanja pomoću Omovog zakona, 56
    2.7.2 • Nazivi promenljivih, 57
    2.8 • Rešenja, 57
    2.8.1 • Rešenje za 2.7.1, 57
    2.8.2 • Rešenje za 2.7.2, 58
    2.9 • Rezime, 58
    • 6

    Poglavlje 3 • Operator poređenja i odluke, 61
    3.1 • Upoređivanje vrednosti, 61
    3.1.1 • Vrednost True i False, 61
    3.1.2 • Operatori poređenja u jeziku C, 62
    3.2 • Odluke, 63
    3.2.1 • Upotreba naredbe if za donošenje odluka, 63
    3.2.2 • Upotreba naredbe else u kombinaciji sa naredbom if, 64
    3.2.3 • Operatori = i ==, 65
    3.2.4 • Upotreba konstrukcije else – if u kombinaciji sa naredbom if, 67
    3.3 • Vežbe, 70
    3.3.1 • Poređenje promenljive, 70
    3.3.2 • Poređenje promenljive 2, 70
    3.4 • Rešenja, 70
    3.4.1 • Rešenje za vežbu 3.3.1, 70
    3.4.2 • Rešenje za vežbu 3.3.2, 71
    3.5 • Rezime, 72

    Poglavlje 4 • Petlja while i komentarisanje koda, 73
    4.1 • Petlja while, 73
    4.2 • Upotreba naredbe if unutar petlje while, 75
    4.3 • Igra “Pogodi broj”, 76
    4.4 • Povratak na primer programa za kontrolu temperature, 78
    4.5 • Komentarisanje programa, 79
    4.6 • Stil programiranja, 81
    4.6.1 • Postavke tabulatora u Atmel Studiu, 81
    4.6.2 • Odabir širine tabulatora, 81
    4.6.3 • Primeri uvlačenja koda, 82
    4.6.4 • Drugi aspekti stila programiranja, 84
    4.7 • Vežbe, 84
    4.7.1 • Oduzimanje, 84
    4.7.2 • Programska petlja, 85
    4.8 • Rešenja, 85
    4.8.1 • Rešenje za vežbu 4.7.1, 85
    4.8.2 • Rešenje za vežbu 4.7.2, 86
    4.9 • Rezime, 87
    • 7

    Poglavlje 5 • Funkcije, 89
    5.1 • Vaša druga funkcija, 89
    5.2 • Prosleđivanje podataka funkciji, 91
    5.3 • Prosleđivanje više vrednosti funkciji, 92
    5.4 • Prosleđivanje promenljive funkciji, 94
    5.5 • Vraćanje vrednosti iz funkcije, 95
    5.6 • Prosleđivanje vrednosti funkciji i vraćanje vrednosti, 96
    5.7 • Program za simulaciju trepćućeg LED-a, 97
    5.7.1 • Petlja while(1), 98
    5.7.2 • Tip podataka long, 98
    5.8 • Pretprocesorske naredbe, 99
    5.9 • Funkcije pozivaju funkcije, 103
    5.10 • Korićenje više izvornih datoteka, 103
    5.10.1 • Dodavanje nove C izvorne datoteke u Atmel Studio projekat .104
    5.10.2 • Projekat koji sadrži dve C datoteke izvornog koda, 104
    5.11 • Datoteke zaglavlja, 106
    5.12 • Kako su funkcije povezane sa datotekama povezivanja i biblioteke, 106
    5.13 • Vežbe, 107
    5.13.1 • Paralelno izračunavanje otpora u otporniku, 107
    5.13.2 • C datoteka formule za otpornik, 107
    5.14 • Rešenja, 108
    5.14.1 • Rešenje za vežbu 5.13.1, 108
    5.14.2 • Rešenje za vežbu 5.13.2, 109
    5.15 • Rezime, 110
    • 8

    Poglavlje 6 • Brojevni sistemi, 111
    6.1 • Osnove binarnog sistema, 111
    6.2 • Potreba za binarnim brojevima, 112
    6.3 • Brojevni sistemi, 112
    6.3.1 • Kratak pregled decimalnih brojeva, 112
    6.3.2 • Binarni brojevi, 113
    6.3.3 • Heksadecimalni brojevi, 116
    6.4 • Korišćenje heksadecimalnih brojeva u C programima, 122
    6.5 • ASCII alfanumerički kod, 125
    6.6 • Vežbe, 127
    6.6.1 Upišite heksadecimalni broj u port, 127
    6.7.1 • Rešenje za vežbu 6.6.1, 127
    6.7.2 • Rešenje za vežbu 6.6.2, 128
    6.8 • Rezime, 128

    Poglavlje 7 • Memorija i mikrokontroleri, 129
    7.1 Osnove memorije, 129
    7.1.1 ROM (Memorija samo za čitanje), 129
    7.1.2 RAM (Radna memorija), 129
    7.1.3 Podaci uskladišteni u memoriju, 129
    7.2 Pregled memorijskog čipa, 130
    7.3 • Kako mikroprocesori pristupaju memoriji i periferijama, 133
    7.4 • Pokazivači, 134
    7.5 • Više o C tipovima podataka, 138
    7.6 • Veličine memorije mikrokontrolera, 143
    7.7 • Rezime, 144
    • 9

    Poglavlje 8 – Pristup AVR portovima u C programu, 145
    8.1 • AVR pinovi i portovi, 145
    8.2 • Uključivanje i isključivanje LED-a na pločici, 148
    8.3 • Kontrolisanje LED-ova koji su povezani sa portom, 152
    8.3.1 • Povezivanje hardvera, 152
    8.3.2 • Započinjanje novog Atmel Studio projekta od nule, 155
    8.3.3 • Program za kontrolu porta LED-a, 157
    8.4 • Operatori uvećanja i umanjenja, 159
    8.4.1 • Prefiksno uvećanje i umanjenje, 159
    8.4.2 • Sufiksno uvećanje i umanjenje, 159
    8.5 • Rezime, 161

    Poglavlje 9 • I/O i mape memorije, 163
    9.1 • Ulazni pinovi, 163
    9.1.1 • Povezivanje prekidača sa pinom porta, 163
    9.1.2 • Očitavanje stanja prekidača u C programu, 164
    9.2 • Ulazni i izlazni pinovi porta koji se nalaze na istom portu, 166
    9.2.1 • Povezivanje prekidača i LED-a, 166
    9.2.2 • Programiranje prekidača i LED-a, 166
    9.2.3 • Operator konjukcije nad bitovima (AND), 167
    9.3 • Mapa memorije AVR mikrokontrolera, 169
    9.3.1 • Arhitektura memorije, 170
    9.3.2 • Programska memorija Flash, 170
    9.3.3 • Podaci memorije, 171
    9.4 • Rezime, 171
    • 10

    Poglavlje 10 • Prethodne revidirane teme o C programiranju, 173
    10.1 • Specifikatori formata, 173
    10.2 • Revidirani specifikatori širine polja, 173
    10.3 • Izlazne sekvence, 176
    10.4 • Petlje, 178
    10.4.1 Petlja while koja koristi naredbe break i continue, 178
    10.4.2 Petlja do – while, 180
    10.4.3 Petlja for, 181
    10.5 • Problem sa funkcijom printf() u ugrađenim sistemima, 182
    10.5.1 • Programiranje serijskog porta, 183
    10.5.2 • Pisanje funkcija serijskog porta, 184
    10.6 • Ugnežđene petlje i odluke, 188
    10.6.1 • Ugnežđavanje petlji, 188
    10.6.2 • Ugnežđavanje odluka, 189
    10.7 • Donošenje odluke pomoću naredbe switch, 191
    10.8 • Uslovni operator, 193
    10.9 • Funkcije i pokazivači, 194
    10.9.1 • Prosleđivanje adrese funkciji, 195
    10.9.2 • Vraćanje više vrednosti iz funkcije, 196
    10.10 • Promenljive i opseg primene, 197
    10.10.1 • Lokalne promenljive, 197
    10.10.2 • Globalne promenljive, 197
    10.11 • Statičke promenljive, 199
    10.12 • Tipovi podataka sa pokretnom tačkom, 200
    10.14 • Vežbe, 202
    10.14.1 • Odbrojavanje pomoću petlje for, 202
    10.14.2 • Kontrolisanje LED-a pomoću konstrukcije switch, 202
    10.15 • Rešenja, 202
    10.15.1 • Rešenje za vežbu 10.14.1, 202
    10.15.2 • Rešenje za vežbu 10.14.2, 203
    10.16 • Rezime, 204
    • 11

    Poglavlje 11 • Nizovi i stringovi, 205
    11.1 • Nizovi, 205
    11.2 • Stringovi, 209
    11.2.1 • Upisivanje u string, 210
    11.2.2 • Inicijalizovanje stringa, 212
    11.2.3 • Funkcije stringa C biblioteke, 213
    11.3 • Nizovi i adrese, 215
    11.3.1 • Adrese nizova i elemenata niza, 215
    11.3.2 • Prosleđivanje niza funkciji, 216
    11.4 • Stringovi kao pokazivači, 219
    11.5 • Upisivanje u string pomoću funkcije sprintf(), 219
    11.6 • Višedimenzionalni nizovi, 221
    11.7 • Vežbe, 227
    11.7.1 • Poruka za dugme, 227
    11.7.2 • Čekanje dugmeta, 227
    11.8 • Rešenja, 227
    11.8.1 • Rešenje za vežbu 11.7.1, 227
    11.8.2 • Rešenje za vežbu 11.7.2, 227
    11.9 • Rezime, 228

    Poglavlje 12 • Upravljanje bitom i logički operatori, 229
    12.1 • Upravljanje bitom pomoću operatora nad bitovima, 229
    12.1.1. • Zašto treba da koristimo operatore nad bitovima?, 231
    12.1.2 • Upotreba AND i OR operatora nad bitovima, 232
    12.1.3 • Upotreba NOT operatora nad bitovima, 234
    12.1.4 • Upotreba XOR operatora nad bitovima, 235
    12.1.5 • Operatori za pomeranje ulevo i udesno, 237
    12.1.6 • C operatori dodele, 238
    12.2 • Logički operatori, 239
    12.3 Prioritet operatora, 242
    12.4 • Upotreba unapred definisanih naziva bita pomoću operatora pomeranja, 243
    12.4.1 Unapred definisani nazivi bita u C kodu, 243
    12.4.2 Makro _BV() AVR mikrokontrolera, 246
    12.5 • Vežbe, 248
    12.5.1 • Ispisivanje binarnog broja, 248
    • 12
    12.6 • Rešenja, 248
    12.6.1 • Rešenje za vežbu 12.5.1, 248

    Poglavlje 13 • Programiranje hardvera, 251
    13.1 Hardverski tajmer/brojač, 251
    13.1.1 Zadato vreme kašnjenja tajmera, 253
    13.1.2 • Funkcija hardverskog tajmera, 256
    13.2 • Analogno-digitalni pretvarač (ADC), 257
    13.3 Nadzorni tajmer, 260
    13.4 • I/O portovi, 262
    13.4.1 • Funkcionalnost registra I/O porta, 262
    13.4.2 Registar za promenu stanja pina, 263
    13.4.3 • Aktiviranje pull-up otpornika, 264
    13.5 • Rezime, 266

    Poglavlje 14 • Debagiranje, 267
    14.1 • Konfigurisanje Arduino pločica radi debagiranja, 267
    14.2 • Debagiranje primera programa, 268
    14.3 • Isključivanje optimizacije kompajlera, 269
    14.4 • Aktiviranje režima debugWire na AVR-u, 269
    14.5 • Upotreba debagera, 271
    14.5.1 • Pokretanje debagera, 271
    14.5.2 Kretanje korak po korak i dodavanje praćenja, 271
    14.5.3 • Prikaz hardverskih registara, 271
    14.5.4 • Prikaz i modifikovanje vrednosti promenljivih i registra, 273
    14.5.5 • Prikaz promenljivih u memoriji, 273
    14.5.6 Zaustavljanje debagiranja i podešavanje tačaka prekida, 275
    14.5.7 Prikaz promena stanja pina, 276
    14.5.8 • Prikaz promena vrednosti promenljive i podešavanje
    uslovnih tačaka prekida, 276
    14.5.9 • Ulazak u funkciju, 277
    14.6 • Aktiviranje ISP-a na AVR-u i isključivanje debugWIRE-a, 278
    14.7 • Vežbe, 278
    14.8 • Rezime, 278
    • 13

    Poglavlje 15 • Prekidi, 279
    15.1 • Obrada prekida u C programu, 279
    15.2 • Korišćenje prekida tajmera, 279
    15.3 Prekid tajmera od jedne milisekunde, 282
    15.4 • Rezime, 284

    Poglavlje 16 • Kratak pregled C jezika, 285
    16.1 • Strukture, 285
    16.1.1 • Upotreba struktura u C programima, 285
    16.1.2 Inicijalizovanje struktura, 287
    16.1.3 • Pokazivači strukture, 288
    16.2 • Unije, 288
    16.3 • Nabrojani tip, 291
    16.4 • Deklarator typdef, 294
    16.5 • Specifikator memorijske klase, 294
    16.6 • Kvalifikatori tipa, 295
    16.7 • Naredba goto, 296
    16.8 • Lista svih C ključnih reči, 296
    16.9 • Još pretprocesorskih naredbi, 296
    16.10 Tipovi promenljive C99, 298
    16.11 Alternativna kontinuirana petlja, 299
    16.12 Rezime, 299

    Poglavlje 17 • C projekti, 301
    17.1 • Funkcije za drajver serijskog porta, 301
    17.1.1 • Napomene o dizajnu drajvera serijskog porta, 301
    17.1.2 • Kod za drajver serijskog porta, 302
    17.2 • Pretvaranje brojeva u stringove, 306
    17.2.1. • Korišćenje AVR C funkcija biblioteke, 306
    17.2.2 • Pisanje broja u funkcije za konverziju stringa, 309
    17.3 • Voltmetar, 314
    17.3.1 • Funkcije projekta voltmeter, 314
    17.3.2 • Kod projekta voltmeter, 314
    17.3.3 • Aktiviranje printf familije funkcija, 317
    17.3.4 • Princip operacije koda, 317
    • 14
    17.3.5 • Ispitivanje koda, 318
    17.3.6 • Tajmiranje koda, 320
    17.4 • Štoperica, 320
    17.4.1 • Hardver i kod projekta stopwatch, 320
    17.4.2 • Projektovanje štoperice, 324
    17.4.3 • Objašnjenje koda projekta stopwatch, 324
    17.5 • Koji je sledeći korak?, 328

    Dodatak A • ASCII tabela, 329

    Dodatak B • Mapiranje pinova porta za Arduino, 331
    B.1 • Arduino Uno, 331
    B.2 • Arduino MEGA, 332

    Dodatak C • Standardno I/O kolo za Arduino, 335
    C.1 • Arduino Uno, 335
    C.2 • Arduino MEGA, 336

    Dodatak D • Reference i izvori, 337
    D.1 • Veb sajt knjige i datoteke, 337
    D.2 • Tabele sa podacima i napomene o aplikaciji, 337
    D.3 • AVR reference C standardne biblioteke, 337
    D.4 • AVR forum, 337
    D.5 • Dodatni izvori, 337


    Detaljni podaci o knjizi
    Naslov: C programiranje za Arduino: AVR mikrokontroleri i Atmel Studio
    Izdavač: EHO
    Strana: 330 (cb)
    Povez: meki
    Pismo: latinica
    Format: B5
    Godina izdanja: 2017
    ISBN: 978-86-80134-08-6
    Naručite
    Cena:
    1.650,00 DIN
    Cena za inostranstvo:
    17,00 EUR
    Kom.:

    Naručite telefonom:
    +381 11 3055010
    +381 11 3055015





    Kupljeno uz ovu knjigu

    PHP i MySQL: razvoj aplikacija za veb, prevod 5. izdanja
    2520 din.

    Arduino uno: 45 projekata za početnike i stručnjake
    1700 din.

    Arduino: uvod u programiranje, prevod 2. izdanja
    1350 din.

    Programiranje na jeziku C (+ disketa)
    1170 din.

    Python kuvar, prevod 3. izdanja
    1980 din.

    Kontrola motora: Projekti za Arduino i Raspberry Pi
    1600 din.

    ESP8266 i MicroPython
    1200 din.

    Kako radi Linux: Šta bi svaki superkorisnik trebalo da zna
    1620 din.

    Operativni sistemi: teorija, praksa i rešeni zadaci
    2070 din.

    Naučite React, prevod drugog izdanja
    1260 din.

    Java JDK9: Kompletan priručnik, prevod 10. izdanja
    2700 din.

    Naučite veb dizajn, prevod 4. izdanja: Vodič kroz HTML, CSS, JavaScript i veb grafiku
    2610 din.

    Naučite programiranje
    1980 din.

    Nova pravila marketinga i odnosa s javnošću
    1170 din.

    Node.js, MongoDB i Angular: integrisane alatke za razvoj veb strana
    2400 din.

    WordPress 4.x u celosti
    1760 din.

    Linux s komandne linije
    1620 din.

    Misliti na jeziku C++ (+ CD)
    2250 din.

    Naučite WordPress
    1260 din.

    Gerila marketing
    1100 din.

    Ocene i mišljenja čitalaca
    Budite prvi koji će svoje mišljenje podeliti sa drugima (morate biti prijavljeni)


    Pitanja, odgovori, mišljenja...
    Prijavite se ovde i pošaljite vaša mišljenja i pitanja našim urednicima i čitaocima

    Poruku poslaoPoruka
    IDI NA VRH STRANE
    Ⓒ 1984-2019 Mikro knjiga