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ę

Atiny13 przetwornik cyfrowy i zmiennna WORD

Awatar użytkownika
XAX
-
-
Posty:48
Rejestracja:4 kwie 2003, o 06:11
Lokalizacja:Krakow
Atiny13 przetwornik cyfrowy i zmiennna WORD

Postautor: XAX » 8 lip 2008, o 23:01

Witam

Mam problem z przetwornikiem analogowo cyfrowym
Program ma służyć jako wskaźnik napięcia do modelu RC

Procek Tiny13 zasilany napięciem 3,3V taktowany z wewnętrznego zegara procesora 4,8MHz
Przetwornik jest 10 bitowy więc muszę zastosować zmienną Word i tu jest problem.
Teoretycznie powinien Bascom ją przyjąć ale wywala błąd: error: 22 Out of SRAM space , in File

Program:
  • $regfile = "ATtiny13.DAT" ' typ procesora

    Config Pinb.1 = Output 'led czerwony
    Config Pinb.2 = Output 'led zielony

    Dim Vac As Word


    Vac = 0

    Config Adc = Single , Prescaler = Auto , Reference = Internal 'konfigoracja przetwornika ADC
    Start Adc 'start przetwornika

    Do

    Select Case Vac
    Case Is > 654 'zielony led
    Set Portb.1
    Reset Portb.2

    Case 654 To 626 'żółty led
    Reset Portb.1
    Reset Portb.2

    Case 625 To 596 'czerwony
    Reset Portb.1
    Set Portb.2

    Case Is < 596 'czerwony miga
    Toggle Portb.1
    Set Portb.2

    End Select

    Waitms 255
    Waitms 255

    Vac = Getadc(2)

    Loop

Al555
-
-
Posty:37
Rejestracja:1 paź 2004, o 10:58
Lokalizacja:Tarnów

Postautor: Al555 » 8 lip 2008, o 23:28

error: 22 Out of SRAM space , in File

to znaczy że brakło pamięci RAM, ATtiny13 to dosyć mały procesor, nie tylko gabarytami ale i zasobami.

Bascom pewnie inicjuje jakieś zmienne "wewnętrzne" które powodują że 64 Bajty pamięci SRAM + rejestry szybką się "zużywają".

Skróć program ... może to coś pomoże, ew. pisz w C.

Awatar użytkownika
XAX
-
-
Posty:48
Rejestracja:4 kwie 2003, o 06:11
Lokalizacja:Krakow

Postautor: XAX » 9 lip 2008, o 06:37

Dzięki za szybką odpowiedz

> error: 22 Out of SRAM space , in File
> to znaczy że brakło pamięci RAM, ATtiny13 to dosyć mały procesor, nie tylko gabarytami ale i zasobami.

To wiem ale potrzebuje czegoś małego. Całość ma być wykonana w SMD. W ostateczności przesiądę się na M8L


> Bascom pewnie inicjuje jakieś zmienne "wewnętrzne" które powodują że 64 Bajty pamięci SRAM + rejestry szybką się "zużywają".

Może ktoś zna jakieś rozwiązanie??? Jakoś na pewno można to zmusić do pracy


> Skróć program ... może to coś pomoże, ew. pisz w C.

Za bardzo niema co skracać. A w C nie umiem pisać.

Al555
-
-
Posty:37
Rejestracja:1 paź 2004, o 10:58
Lokalizacja:Tarnów

Postautor: Al555 » 9 lip 2008, o 07:35

Wyrzuć na chwile cały blok "Select Case" i sprawdz czy się kompiluje, potem dodawaj po jednym bloku "case" i zobaczysz kiedy wyrzuci błąd.

może zamiast "Select case" używaj if - może jest mniej pamięciożęrne

Taki urok BASCOMA że nie wiadomo co robi w trakcie kompilacji

Awatar użytkownika
ZbeeGin
-
-
Posty:170
Rejestracja:3 kwie 2003, o 10:10
Lokalizacja:Metropolia Katowice

Postautor: ZbeeGin » 9 lip 2008, o 16:53

Musisz nieco pokombinować z wielkościami stosów HWSTACK, SWSTACK i FRAME. To one zżerają sporą ilość pamięci SRAM.

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 9 lip 2008, o 19:53

Nie wiem jaką masz wersje Bascoma i jak poustawianą, ale u mnie kompiluje bez najmniejszego problemu.
W załączniku plik TEST.HEX z Twoim programem.
Zmień tylko rozszerzenie z ZIP na HEX bo "hexa" forum nie chciało przyjąć ;)
Załączniki
TEST.zip
test.hex
(954Bajtów)Pobrany 297 razy

Awatar użytkownika
XAX
-
-
Posty:48
Rejestracja:4 kwie 2003, o 06:11
Lokalizacja:Krakow

Postautor: XAX » 10 lip 2008, o 06:58

Witam

Wersja demo 1.11.9.0
Zmniejszyłem HWSTACK z 32 na 16 i wszystko działa :622:
Zobaczymy co będzie dalej jak dopisze jeszcze parę linii
Musze trochę poczytać o co z tym wszystkim chodzi (magiczne ustawienia procesora) :614:

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 13 gości