Table of Contents

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 <avr/io.h>
#include <homelab/usb/usb.h>
#include <homelab/pin.h>
 
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();
    }    
}
et/software/homelab/library/usb.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0