This is an old revision of the document!


Table of Contents

 

USB

Vajalikud teadmised: [HW] Kontrollermoodul, [LIB] USB,
[LIB] Graafiline LCD

Teooria

Praktika

Kodulabori III generatsiooni kontrolleritel on USB ühendus otse mikrokontrolleriga, mis võimaldab otseühendust mikrokontrolleri ja arvuti vahel.

Näiteprogrammi testimiseks on vaja mõnda terminal tüüpi tarkvara, nt HyperTerminal (Windows XP). Linux operatsiooniga arvutitel võib kasutada programmi minicom. Aknas sisestatud tähed kuvatakse LCD ekraanil. Klahvi Enter vajutus muudab rida LCD ekraanil. Sümboli '?' peale tagastatakse ADC lugemi väärtus.

// Kodulabori USB liidese näidisprogramm
// Arvutist või mõnest teisest seadmest saadetud tekst kuvatakse LCD ekraanil
#include <homelab/module/lcd_gfx.h>
#include <homelab/usb/usb.h>
 
// Põhiprogramm
int main(void)
{
	char c;
	unsigned char row = 1;
 
	// USART liidese seadistamine
	usb_init();
 
	// LCD ekraani seadistamine ja tervitusteksti kuvamine
	lcd_gfx_init();
	lcd_gfx_write_string("Ootan teadet");
	lcd_gfx_goto_char_xy(0, row);
	// Arvutile tere ütlemine
	usb_send_string(port, "Tere, kirjuta midagi!\r\n");
 
	// Lõputu tsükkel
	while (1)
	{
		c = usb_read_byte();	
		if (c != 0xFF) // Jadaliidesest märgi lugemine
		{
			usb_send_char(data);			
			if (c == '\r') // Kas tegu on reavahetuse märgiga?
			{
				// Rea vahetamine
				row = 1 - row;
				// Rea tühjendamine eelmisest teatest
				lcd_gfx_clear_line(row);
			}
			else
			{
				// Märgi otse ekraanile väljastamine
				lcd_gfx_write_char(c);
			}
 
		        if(c == '?')
		        {
		        	sprintf(buf,"\n\r ADC val: %4d. \n\r",adc_get_average_value(15,5));
			        usb_send_string(buf);
		        }
		}
		usb_task();
	}
}
et/examples/communication/usb.1432810433.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
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