====== USB ====== ===== Funktsioonid ===== * **void usb_init()** USB virtuaalse jadapordi seadistamine. Selles režiimis seatakse USB jaoks vajalik taktsagedus ning käivitatakse USB sisend/väljund viigud. * **uint8_t usb_get_status()** Kontrolli, kas USB ühendus on loodud. * tagastab 1 kui USB on ühendatud, 0 kui ei ola * **void usb_send_char(char character)** Sümboli saatmise funktsioon. Funktsioon kirjutab puhvrisse saatmiseks uue sümboli. Parameetrid: * //character// - Saadetav sümbol. * **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äitekood loob arvutiga virtuaalse jadaühenduse. Kood saadav arvutisse tagasi kõik sümbolid, mis kontrollerisse saadetakse. Lisaks sümboli '?' peale saadetakse tagasi ka ADC lugem. #include #include #include int main(void) { // Käivita USB liides usb_init(); while(1) { char data = usb_read_byte(); // Loe, kas on sümbol tulnud if(data != 0xFF) // Kui ei tulnud, tagastatakse 0xFF (-1) { usb_send_char(data); // Saada sümbol tagasi } // Hoia USB liides töös usb_task(); } }