This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
et:programming:c:crashcourse [2015/02/19 16:18] – raivo.sell | et:programming:c:crashcourse [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 48: | Line 48: | ||
</ | </ | ||
- | ~~PB~~ | + | < |
===== Andmed ===== | ===== Andmed ===== | ||
Line 185: | Line 185: | ||
==== Võrdlused ==== | ==== Võrdlused ==== | ||
- | Arvude väärtuste võrdlemisel saadakse loogilised väärtused. Võrdlustehted on samaväärsus (==), erinevus (!=), suurem (>), suurem-võrdne (>=), väiksem (<) ja väiksem-võrdne (<=). Näide kasutamisest: | + | Arvude väärtuste võrdlemisel saadakse loogilised väärtused. Võrdlustehted on samaväärsus (==), erinevus (!=), suurem (>), suurem-võrdne (> =), väiksem (<) ja väiksem-võrdne (< =). Näide kasutamisest: |
<code c> | <code c> | ||
Line 228: | Line 228: | ||
<code c> | <code c> | ||
- | // Kahe int tüüpi parameetriga | + | // Kahe int tüüpi parameetriga |
- | // Funktsioon | + | int sum(int a, int b) { |
- | int sum(int a, int b) | + | |
- | { | + | |
// Kahe arvu liitmine ja summa tagastamine | // Kahe arvu liitmine ja summa tagastamine | ||
return a + b; | return a + b; | ||
Line 237: | Line 235: | ||
// Ilma parameetrite ja tagastatava väärtuseta funktsioon | // Ilma parameetrite ja tagastatava väärtuseta funktsioon | ||
- | void power_off(void) | + | void power_off(void) { |
- | { | + | |
} | } | ||
</ | </ | ||
Line 248: | Line 245: | ||
int y = 3; | int y = 3; | ||
- | // Liitmisfunktsiooni väljakutsumine | + | // Liitmisfunktsiooni väljakutsumine, kus parameetriteks |
- | // Parameetriteks | + | |
x = sum(y, 5); | x = sum(y, 5); | ||
- | // Väljalülitamise funktsiooni väljakutsumine | + | // Väljalülitamise funktsiooni väljakutsumine, parameetrid |
- | // Parameetrid | + | |
power_off(); | power_off(); | ||
</ | </ | ||
Line 404: | Line 399: | ||
==== sprintf ==== | ==== sprintf ==== | ||
- | sprintf funktsioon toimib sarnaselt C-keeles üldlevinud printf funktsiooniga. Erinevuseks on funktsiooni tulemuse väljastamine puhvrisse (märgimassiivi), | + | sprintf funktsioon toimib sarnaselt C-keeles üldlevinud printf funktsiooniga. Erinevuseks on funktsiooni tulemuse väljastamine puhvrisse (märgimassiivi), |
Näide 1: | Näide 1: | ||
Line 439: | Line 434: | ||
| %X | Heksadetsimaalarv| 0x3F | | | %X | Heksadetsimaalarv| 0x3F | | ||
- | ===== Üldised utiliidid ===== | + | Standardteegi päisefailides stdio.h, stdlib.h ja string.h on veel terve hulk erinevaid funktsioone erinevate teksti-operatsioonide teostamiseks. Näiteks on võimalik nendega teksti muundada arvudeks, tekste liita ja võrrelda, tekstist märke otsida jpm. |
- | Standard teegi päisefailides stdio.h, stdlib.h ja string.h on veel terve hulk erinevaid funktsioone erinevate teksti-operatsioonide teostamiseks. Näiteks on võimalik nendega teksti muundada arvudeks, tekste liita ja võrrelda, tekstist märke otsida jpm. | + | ===== Juhuarvud ===== |
- | + | ||
- | ==== random | + | |
Juhuarvude genereerimine ei olegi AVR kontrolleril väga lihtne. Esmalt tuleb juhunumbrigeneraator seemendada arvuga, mille alusel genereeritakse suvaliste numbrite jada. Sama numbri järgi genereeritakse alati sama jada, seega suurema juhuslikkuse saavutamiseks on kasulik seemendus teha arvuga, mis ei ole alati sama - näiteks kasutada selleks kellaaega või lahti ühendatud ADC sisendist väärtust. | Juhuarvude genereerimine ei olegi AVR kontrolleril väga lihtne. Esmalt tuleb juhunumbrigeneraator seemendada arvuga, mille alusel genereeritakse suvaliste numbrite jada. Sama numbri järgi genereeritakse alati sama jada, seega suurema juhuslikkuse saavutamiseks on kasulik seemendus teha arvuga, mis ei ole alati sama - näiteks kasutada selleks kellaaega või lahti ühendatud ADC sisendist väärtust. | ||
Line 454: | Line 447: | ||
int x = 1 + (rand() % 16); | int x = 1 + (rand() % 16); | ||
</ | </ | ||
- | |||
- | Põhjalikuma inglisekeelse kirjelduse C keele funktsioonide kohta leiab aadressilt: | ||
- | [[http:// |