Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 3 kwi 2026, o 17:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
PostNapisane: 12 lis 2015, o 20:28 
Offline
Nowy

Dołączył(a): 01 lis 2014
Posty: 9
Pomógł: 0

Witam chciałem sobie napisać samodzielnie obsługę czujnika ultradźwiękowego odległości US-015. Zasada działania polega na tym, że na 10us dajemy stan wysoki na trigger czujnika po czym mierzymy na wejściu stan wysoki i wykorzystując odpowiedni wzór wyliczamy odległość, proszę powiedzcie mi czemu zmiennej czas mam zawsze 0, natomiast po wyłączeniu sprawdzania czy na wejściu PD3 jest 0, czas narasta, więc "coś" liczy.



[/code]



#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
#include <avr/interrupt.h>
#include <string.h>

#include "myuart/myuart.h"
#include "MK_TERMINAL/mk_term.h"


volatile uint32_t odleglosc=0 , sekunda=0;
volatile uint32_t czas=0;
volatile uint32_t zmienna=0;
volatile uint8_t minuty=0;
int main(void)
{
uart_init( __UBRR );
sei();
OCR1A = 1;
TIMSK |= (1 << OCIE1A); //Set interrupt on compare match
OCR2 = 8; //PRZYPISANIE DO OCR2 WARTOSCI POCZĄTKOWEJ
TCCR1B |=(1<<WGM12); //CTC
TCCR1B |= (1<<CS11); //8 preskaler

DDRD &= ~(1<<PD3); //PD3 JAKO WEJSCIE
PORTD |= (1<<PD3); // PD3 W STAN WYSOKI

DDRB |= (1<<PB0); // PB0 JAKO WYJSCIE
PORTB |= ~(1<<PB0); // PB0 W STAN NISKI


while(1)
{
_delay_ms(100);

PORTB |= (1<<PB0); // PB0 stan wysoki
_delay_us (10);
PORTB &= ~(1<<PB0); // PB0 stan niski
_delay_ms(1);



odleglosc = czas/10;//(zmienna*34)/2;
tr_cls(0);
tr_locate(1,1);
tr_pen_color(WHITE);
uart_putint( odleglosc,10);
tr_locate(10,1);
tr_pen_color(WHITE);
uart_putint( czas,10);


}
}




ISR (TIMER1_COMPA_vect)


{


if (!(PIND & (1<<PD3)))
{
czas=0;

}




if (PIND & (1<<PD3))
{
czas++;

}}


Proszę prawidłowo wstawiać kody do postów ... tym razem nie wkleję linka do zaleceń .. to jest zadanie dla kolegi znaleźć jak i wstawić prawidłowo , bo nawet niewłaściwych znaczników bbcode nie umie kolega używać ... ---> SunRiver



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO