pulsein nie działa jak trzeba - czemu?

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

pulsein nie działa jak trzeba - czemu?

Post autor: matrix » 15 lis 2009, 14:36

napisałem prosty soft do sprawdzenia funkcji pulsein, ale ta funkcja nie działa jak trzeba. oto soft:

Kod: Zaznacz cały

$regfile = "Attiny2313.dat"        
$crystal = 8000000
$eepleave
$hwstack = 40
$swstack = 16
$framesize = 40

'=========================
'=== Rozmiary i zmienne===
'=========================

Dim dlugimp As Word


'=========================
'===Konfiguracje portow===
'=========================

config pinb.5 = input              'przycisk
Config Portb.1 = Output            'wsteczne
Config Portb.2 = Output            'stop
config portd.6 = output            'strobop
config portb.0 = output            'strobol
Config Pinb.7 = Input              'wejscie sygnalu

'====================
'===Aliasy & stale===
'====================

przycisk Alias Pinb.5
wsteczne alias PORTB.1
stopy Alias Portb.2
strobop alias portd.6
strobol alias portb.0

'=============================
'===Ustawienia stanu portow===
'=============================



set przycisk
set wsteczne
set stopy
set strobop
set strobol
reset Pinb.7

'=============================
'====Petla glowna programu====
'=============================

do
 pulsein dlugimp , Pinb , 7 , 0

 if dlugimp > 1385 then
 reset wsteczne
 wait 1
 set wsteczne
 wait 1
 end if

 if err = 1 then
  reset wsteczne
  waitms 200
  set wsteczne
  waitms 200
 end if

loop
ogólnie procek przyjmuje sygnał z odbiornika mojego modelu bo zmienna ERR nie przyjmuje wartości 1. jak wyłączę nadajnik to wtedy owa zmienna przykmuje wartość 1 i dioda zaczyna mi migać szybciej.
jak tylko przyrównam dlugimp do wartości 1390 to dioda juz przestaje migać. o co chodzi? czemu pulsein nie zlicza prawidłowo?

Awatar użytkownika
Pikczu
Użytkownik
Posty: 754
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

Post autor: Pikczu » 15 lis 2009, 18:03

Przydał by się generator i oscyloskop żeby to sprawdzić bo tak naprawdę nie wiesz co idzie z odbiornika.

Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 15 lis 2009, 19:57

Pikczu pisze:Przydał by się generator i oscyloskop żeby to sprawdzić bo tak naprawdę nie wiesz co idzie z odbiornika.
dokładnie tak jest. wiem tyle że na pewno jakis sygnał dochodzi, ale jaki? jakie przebiegi? jaki czas trwania impulsów? z teori wiem co tam powinno być i na to się nastawiłem, ale wygląda że jednak praktyka nie idzie w parze z teorią.

EDIT:
już wszystko działa. z kolegą Pikczu rozgryzli my temata.

ODPOWIEDZ