This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:software:homelab:library:pin [2010/02/12 11:56] – mikk.leini | et:software:homelab:library:pin [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| * **//pin//** \\ Viigu registrite ja bitimaski hoidmise struktuurne andmetüüp. // | * **//pin//** \\ Viigu registrite ja bitimaski hoidmise struktuurne andmetüüp. // | ||
| + | |||
| + | ===== Konstandid ===== | ||
| + | * **// | ||
| + | * **//LED0, LED1, LED2, LED3//** - Kodulabori kasutajaliidese plaadi LEDid numbrite järgi | ||
| + | * **//S0, S1, S2, S3//** - Kodulabori kasutajaliidese plaadi nupud ning S0 nupp kontrollerplaadil | ||
| ===== Funktsioonid ===== | ===== Funktsioonid ===== | ||
| Line 32: | Line 37: | ||
| * //pin// - Viigu muutuja. | * //pin// - Viigu muutuja. | ||
| * Tagastab tõeväärtuse. | * Tagastab tõeväärtuse. | ||
| + | * **//bool button_read(pin pin)//** \\ Viigu sisendi oleku lugemine läbi lüliti väreluse filtri ja selle tagastamine. Filtreerimine toimub minimaalselt 8 ms ja maksimaalselt 100 ms jooksul - olenevalt sellest, kui kiiresti lüliti värelemine lõppeb. Kui värelemine 100 ms jooksul ei lõpe, siis funktsioon tagastab //false//. Funktsioon kasutab tarkvaralist pausi funktsiooni viite teegist. Parameetrid: | ||
| + | * //pin// - Viigu muutuja. | ||
| + | * Tagastab 1 kui nupp on vajutatud. | ||
| + | * Tagastab 0 kui nupp ei ole vajutatud. | ||
| + | * **//void led_on(pin pin)//** \\ Süütab valgusdioodi väljundis. Parameetrid: | ||
| + | * //pin// - Viigu muutuja. | ||
| + | * **//void led_off(pin pin)//** \\ Kustutab valgusdioodi väljundis. Parameetrid: | ||
| + | * //pin// - Viigu muutuja. | ||
| ===== Näide ===== | ===== Näide ===== | ||
| Line 65: | Line 77: | ||
| </ | </ | ||
| + | led_on, led_off, button_read käskude kasutamise näide. | ||
| + | <code c> | ||
| + | #include < | ||
| + | |||
| + | // Kodulabori nupud ja LEDid on teegis eeldefineeritud | ||
| + | // ja neid pole vaja uuesti defineerida | ||
| + | |||
| + | int main(void) | ||
| + | { | ||
| + | // Viigu väljundiks seadistamine | ||
| + | pin_setup_output(led_green); | ||
| + | |||
| + | // Viigu pull-up takistiga sisendiks seadistamine | ||
| + | pin_setup_input_with_pullup(S1); | ||
| + | |||
| + | // Lõputu tsükkel | ||
| + | while (true) | ||
| + | { | ||
| + | // Kui nupp on vajutatud, süüta LED, vastasel juhul kustuta | ||
| + | if(button_read(S1) == true) | ||
| + | led_on(led_green); | ||
| + | else | ||
| + | led_off(led_green); | ||
| + | } | ||
| + | } | ||
| + | </ | ||