Witam
Mam problem z procedura, zadeklarowalem ja i uruchamiam z konkretnymi parametrami, a ona przyjmuje inne
PROGRAM:
$regfile = "M16def.dat"
$crystal = 8000000
$baud = 19200
'Procedury
Declare Sub Write_eeprom(byval Adres As Word , Byval Value As Byte)
'Zmienne
Dim Value As Byte
'Program
Value = 123
Call Write_eeprom(211 , Value)
Do
Loop
'Procedury
Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
Local Adh As Byte
Local Adl As Byte
Adh = High(adres)
Adl = Low(adres)
Print "W_Adres - " ; Adres
Print "W_Adh - " ; Adh
Print "W_Adl - " ; Adl
Print "W_Value - " ; Value
End Sub
WYDRUK Z TERMINALA:
W_Adres - 1084
W_Adh - 4
W_Adl - 60
W_Value - 60
i nie bardzo wiem skad on bierze wartosc Adres i Value
Jezeli nie uzyje parametru "Byval" to wszystko jest OK, ale ja chce zeby stworzylmi on zmienna tymczasowa
[ Dodano: 28-12-2004, 00:05 ]
Liczę na to że może ktoś miał taki przypadek,
albo proszę kogoś o wgranie tego programu do procka i krótki test,
może sie okaże że ja mam walnięty procesor lub
coś nie tak mam z BASCOMEM.
z góry dzięki i pozdrawiam
Patyk
[ Dodano: 01-01-2005, 16:06 ]
Chyba nie jestem sobie w stanie sam z tym poradzic.
Problem jest w deklaracji zmiennych lokalnych (nadpisuja mi one stos (chyba))
Jezeli wywale deklaracjie zmiennych LOCAL - to zmienne przekazane do procedury sa OK.
Jak rozwiazac problem z deklaracja zmiennych lokalnych w procedurze??
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięproblem z przekazywaniem warosci do procedury
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Nie deklaruj zmiennych o tych samych nazwach, raz jako zmienna lokalna a raz jako globalna:
Declare Sub Write_eeprom(byval Adres As Word , Byval Value As Byte)
'Zmienne
Dim Value As Byte
W procedurze masz inne parametry niż w deklaracji!!
Sub Write_eeprom(byval Adres As Byte, Byval Value As Byte)
Z ostatniej chwili. Twój program u mnie działa na wbudowanym sumulatorze. Używam teraz BASCOM-AVR 1.11.7.7
Declare Sub Write_eeprom(byval Adres As Word , Byval Value As Byte)
'Zmienne
Dim Value As Byte
W procedurze masz inne parametry niż w deklaracji!!
Sub Write_eeprom(byval Adres As Byte, Byval Value As Byte)
Z ostatniej chwili. Twój program u mnie działa na wbudowanym sumulatorze. Używam teraz BASCOM-AVR 1.11.7.7
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości