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



Teraz jest 24 sty 2025, o 22:06


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 26 lut 2014, o 13:07 
Offline
Nowy

Dołączył(a): 07 sty 2014
Posty: 8
Pomógł: 0

Witam, mam pytanie,
W jaki sposób można przekazać argument do funkcji waitus?

Program z waitus 900 działa, a z kolei

o=900
waitus o


Nie działa. W przypadku waitms można tak przekazywać argument i wszystko działa.
Z góry dziękuje za odpowiedź.


@Edit. Znaczy wiem, że nie może być przekazna zmienna, ale jest jakiś inny sposób na odpalenie tej funkcji z parametrami?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 13:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Jeżeli ta funkcja przyjmuje jeden parametr i nic nie zwraca i zakładam że jest w języku C to może tak:

waitus(o);
lub
waitus(900);

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 13:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Agnes napisał(a):
Program z waitus 900 działa,

To zrób w to w forze

o=10; // np. 10
for(uint8_t a=0; a<o; a++){
waitus 900
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 13:24 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Było już wiele razy.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Działa około dokładnie bo jest narzut na prolog, epilog i pętlę w funkcji.

------------------------ [ Dodano po: kilkunastu sekundach ]

No to się powtórzyłem :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 13:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 447
Lokalizacja: DKL
Pomógł: 53

@kurnachatka, @xamrex, @perlon, wszystko ładnie pięknie tylko że kolega / koleżanka @Agnes pyta o funkcję w Bascomie ;)

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 13:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

matw napisał(a):
@kurnachatka, @xamrex, @perlon, wszystko ładnie pięknie tylko że kolega / koleżanka @Agnes pyta o funkcję w Bascomie ;)


:lol: :lol: :lol: No właśnie też mi tu coś nie halo było, dlatego dopisałem "zakładam że jest w języku C"

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 14:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 gru 2012
Posty: 146
Lokalizacja: Racibórz
Zbananowany użytkownik

Pomógł: 0

A coś takiego jak : Dim o as integer zrobiłeś?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 14:47 
Offline
Nowy

Dołączył(a): 07 sty 2014
Posty: 8
Pomógł: 0

Tak, dodałem zmienną, domyślnie ta funkcja nie przyjmuje argumentów, i trzeba podać po prostu liczbę. Mogę to zrobić na timerze, ale to nie będzie uniwersalne, bo będzie zależne od kwarcu, a chodzi mi o funkcje delay z dokładnością do 50us. W BASCOMIE ;)

@Edit. Dobra, zrobiłem to w bardzo barbarzyński sposób:

Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Ostatnio edytowano 26 lut 2014, o 15:11 przez Agnes, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 15:06 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Co za różnica jaki język. Skoro waitus przyjmuje wyłącznie stałe to trzeba ją opakować w pętlę for zamknąć w procedurę z argumentem jako zmienna i będzie przyjmować zmienne. Nie wiem jak to napisać konkretnie w BASCOM bo nigdy nic w nim nie napisałem ale zapewne procedury i pętle w nim są.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 20:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

To dziwne, że koledze polecenie Waitus nie przyjmuje zmiennej jako argumentu bo mi przyjmuje i taki program mi działa
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2014, o 22:29 
Offline
Nowy

Dołączył(a): 07 sty 2014
Posty: 8
Pomógł: 0

Używałem tego do bardzo prostego sterownika silnika krokowego, do czasu pomiędzy zasilaniem kolejnych cewek.
Wersja z np: ii=2500
waitus ii


nie działa.

a waitus 2500
działa.

Błędów mi nie wywala, ale po prostu nie działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2014, o 20:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

A sprawdzałeś na takim najprostszym kodzie czy ci działa? Wgraj mój przykład i sprawdź.

A jakiej wersji Bascoma używasz? Może w twojej wersji jest coś namieszane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2014, o 11:01 
Offline
Nowy

Dołączył(a): 07 sty 2014
Posty: 8
Pomógł: 0

Bardzo możliwe, ze to przez tak starą wersje jaką mam(1.11.9.5), bo Twój kod mi również nie działa, a w pomocy jest jasno napisane:

Kod:
The number of microseconds to wait. (1-65535)

This must be a constant. Not a variable!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2014, o 21:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Sprawdziłem ten program na wersji 1.11.8.1 i nie działa jesli za argument wstawię zmienną. Natomiast w wersji 2.0.5.0 działa ale częstotliwość migania diody jest trochę mniejsza jeśli argumentem jest zmienna. Ze stałą jako argumentem miga troszkę szybciej.

W sumie wcale mnie to nie dziwi. W Bascomie takie kwiatki się trafiają.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2014, o 13:27 
Offline
Nowy

Dołączył(a): 07 sty 2014
Posty: 8
Pomógł: 0

No niestety bascom nie jest środowiskiem doskonałym, ale udało się zrobić to co chciałem w pełni, więc i tak jestem zadowolony.

Dziękuje za odpowiedzi w temacie, pozdrawiam!



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: 15 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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