| Author |
Message
|
Soohy_tm Poziom 14

Joined: 28 Mar 2006 Posts: 188
|
#1
13 Jun 2006 00:11 Bascom i zmienne Eram... |
|
|
|
Witam.
Mój problem polega na tym, że jak utworze zmienną jakiego kolwiek typu zapisywaną do EEPROMu (Eram) to nie mogę nic dalej z nią robić:( a oto przykład:
| Quote: |
Dim cos as eram byte
...
Lcd Format(str(cos) , "000") - wywala błąd
...
if cos<10 then incr cos - tutaj również
...
|
Jest to error nr. 42 - Numeric parametr expected, oraz
error nr. 31 0 Invalid datatype.
Czy coś robię źle, czy tych zmiennych poprostu nie da się używać w ten sposób.
Dziękuję za pomoc i pozdrawiam - Soohy_tm
|
|
| Back to top |
|
 |
Google

|
#
13 Jun 2006 00:11 |
|
|
|
|
|
| Back to top |
|
 |
arnoldziq Poziom 23

Joined: 14 Apr 2006 Posts: 2934 Location: High Wycombe
|
#2
13 Jun 2006 08:14 Re: Bascom i zmienne Eram... |
|
|
|
Help BASCOM-a mówi :
ERAM
Most AVR chips have internal EEPROM on board.
This EEPROM can be used to store and retrieve data.
In BASCOM, this data space is called ERAM.
An important difference is that an ERAM variable can be written for a maximum of 100.000 times. So only assign an ERAM variable when it is needed and not in a loop
Co oznacza że raczej nie można wykonywać operacji matematycznych na tych zmiennych.
W skrajnych przypadkach, jednym programem dodającym "zmienna +1" mógłbyś wyczerpać te 100.000 cykli zapisu :)
Pamięć ta służy do przechowywania danych, i to raczej statycznych, które nie powinny się zbyt często zmieniać.
Zmienną z ERAM , raczej trzeba przepisać do zwykłej zmiennej i wtedy wykorzystać.
W ten sposób działa bez problemu :
| Code: |
Dim Cos As Eram Byte
Dim Cos1 As Byte
Cos1 = Cos
Lcd Format(str(cos1) , "000")
If Cos < 10 Then
Cos1 = Cos + 1
Cos = Cos1
End If
|
P.S.:
Pewno pomyślałeś że ten wywód nie ma sensu :).
Ale tylko pozornie.
Zmienne (stałe) ERAM mają sens.
Jeżeli odpowiednio zadeklarujesz taką zmienną :
| Code: |
Dim Cos As Eram Byte At adres_w_pamieci
|
to :
1. Możesz wartość takiej zmiennej zaprogramować przy programowaniu układu ( duża oszczędność kodu ).
2. Zmienne takie przeżywają RESET !!! W niektórych układach jest to niezbędne.
|
|
| Back to top |
|
 |
Google

|
#
13 Jun 2006 08:14 |
|
|
|
|
|
| Back to top |
|
 |
Soohy_tm Poziom 14

Joined: 28 Mar 2006 Posts: 188
|
#3
13 Jun 2006 10:06 Re: Bascom i zmienne Eram... |
|
|
|
Teraz już kumam:) dzięki bardzo za pomoc!
Pozdrawiam - Soohy_tm
|
|
| Back to top |
|
 |