This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| et:software:homelab:library:usb [2015/05/04 11:35] – tekitatud raivo.sell | et:software:homelab:library:usb [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| - | ===== Andmetüübid | + | ===== Funktsioonid |
| + | * **void usb_init()** | ||
| + | USB virtuaalse jadapordi seadistamine. Selles režiimis seatakse USB jaoks vajalik taktsagedus ning käivitatakse USB sisend/ | ||
| + | * **uint8_t usb_get_status()** | ||
| + | Kontrolli, kas USB ühendus on loodud. | ||
| + | * tagastab 1 kui USB on ühendatud, 0 kui ei ola | ||
| - | ===== Funktsioonid ===== | + | * **void usb_send_char(char character)** |
| + | | ||
| + | * // | ||
| + | * **void usb_send_string(char *string)** | ||
| + | Teksti saatmise funktsioon. Parameetrid: | ||
| + | * //string// - Viit tekstile. Tekst peab lõppema binaarse 0 sümboliga. | ||
| + | | ||
| + | * **uint8_t usb_read_byte()** | ||
| + | Sisendpuhvrist sümboli lugemine. Enne lugemist peab veenduma, et puhvris on sümbol. | ||
| + | * Tagastab sümboli. | ||
| + | * Kui puhvrisse pole midagi tulnud, tagastatakse 255 | ||
| + | | ||
| + | * **void usb_task()** | ||
| + | USB töös hoidmise käsk. usb_task() tuleb programmi tsüklis välja kutsuda nii tihti kui võimalik. | ||
| ===== Näide ===== | ===== Näide ===== | ||
| + | Näitekood loob arvutiga virtuaalse jadaühenduse. Kood saadav arvutisse tagasi kõik sümbolid, mis kontrollerisse saadetakse. Lisaks sümboli '?' | ||
| <code c> | <code c> | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | int main(void) | ||
| + | { | ||
| + | // Käivita USB liides | ||
| + | usb_init(); | ||
| + | while(1) | ||
| + | { | ||
| + | char data = usb_read_byte(); | ||
| + | if(data != 0xFF) // Kui ei tulnud, tagastatakse 0xFF (-1) | ||
| + | { | ||
| + | usb_send_char(data); | ||
| + | } | ||
| + | // Hoia USB liides töös | ||
| + | usb_task(); | ||
| + | } | ||
| + | } | ||
| </ | </ | ||
| - | |||