To tylko jedna z 3 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
START % port szeregowy COM1 % parametry transmisji % otwarcie portu s = serial( 'COM1' ); set(s, 'BaudRate' ,115200, 'DataBits' ,8, 'Parity' , 'none' , 'StopBits' ,1, 'FlowControl' , 'none' ); fopen(s); % funkcja w prawo obrp = [170 1 2 0 0]; % funkcja w lewo: obrl = [170 1 1 0 0]; % funkcja odczyt odcz = [170 1 0 0 0]; % do zadania 4_2 d = [ 15 20 25 30 35 40 45 50 55 60]'; STOP % zmkniecie portu i usuniecie fclose(s); delete(s); clear s ; E = 1.0e+004 * -0.8179 2.1871 -2.2530 1.1333 -0.2879 0.0335 P3 % obrot fwrite(s, obrp, 'uchar' , 'sync' ); fwrite(s, obrl, 'uchar' , 'sync' ); % pomiar odleglosci fwrite(s, odcz, 'uchar' , 'sync' ); % Pobranie informacji o ilosci danych dostepnych do odczytu: ileDanych = s.BytesAvailable; % Odczytanie danych z portu szeregowego: [dane, ileDanych, komunikat] = fread(s, ileDanych, 'uchar' ); % Wyswietlenie komunikatu o odberaniu danych lub bledzie odbioru: komunikat; % Wyswietlenie odebranych wartosci w postaci wektora: dane; normdane = (dane(3)+16*dane(4)+256*dane(5))/1024; P3.3 % funkcja w prawo obrp = [170 1 2 0 0]; % funkcja w lewo: obrl = [170 1 1 0 0]; % funkcja odczyt odcz = [170 1 0 0 0]; % obrot fwrite(s, obrp, 'schar' , 'sync' ); fwrite(s, obrl, 'schar' , 'sync' ); % pomiar odleglosci fwrite(s, odcz, 'uchar' , 'sync' ); dane = fread(s, s.BytesAvailable); % s.BytesAvailable - ilosc danych dostepnych do odczytu normdane = (dane(3)+16*dane(4)+256*dane(5))/1024; P4.1 ile_pom = 100; for i = 1:ile_pom fwrite(s, odcz, 'uchar' , 'sync' ); %pause(0.05); %ileDanych = s.BytesAvailable dane = fread(s, s.BytesAvailable); normdane = (dane(3)+16*dane(4)+256*dane(5))/1024; y(i) = normdane; end y_sr = (1/ile_pom)*sum(y) for i = 1:ile_pom a = (y(i)-y_sr)^2; end
... zobacz całą notatkę
Komentarze użytkowników (0)