AtXmega w Bascom i brak biblioteki

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
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

AtXmega w Bascom i brak biblioteki

Post autor: M@ciej » 16 lip 2014, 10:54

Witam,

Chcąc spróbować swoich sił z prockami XMega, znalazłem w necie notkę AN#192. Chciałem przetestować PWM i przeklepałem z notki taki oto programik:

Kod: Zaznacz cały

$regfile = "xm16a4def.dat"
$crystal = 32000000
'$hwstack = 64
'$swstack = 40
'$framesize = 40
$lib = "xmega.lib" : $external _megafix_clear : $external _megafix_rol_r1014

Config Osc = Enabled , 32mhzosc = Enabled
Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1  '32 MHz
Config Priority = Static , Vector = Application , Lo = Enabled

Dim A As Word
Config Portd.0 = Output
Config Tcd0 = Pwm , Prescale = 8 , Comparea = Enabled , Resolution = 16
Tcd0_per = &HFFFF
Tcd0_cca = 10000
Do
 Waitms 500
 Tcd0_cca = 20000
 Waitms 500
 Wait 2
  Do
  Incr A
  Tcd0_cca = A
  Waitus 100
 Loop Until A = 30000
A = 0
Wait 2
Loop
End
Niestety przy kompilacji pisze mi:
Error 206:Library not found

W plikach bibliotek Bascoma rzeczywiście jej tam nie ma. Czy tą bibliotekę trzeba doinstalować, czy może jest płatna?

Mam Bascom 2.0.7.5

Wojtek
Moderator
Posty: 2606
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 lip 2014, 12:33

Ja mam wersję 2.0.7.7 i bibliotekę xmega.lib mam.

Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Post autor: M@ciej » 16 lip 2014, 15:26

A to ciekawe, dzisiaj ściągnąłem tą wersję ze strony MCS Electronic. W dodatku we wspomnianej nocie jest mowa o jeszcze starszej wersji. Piszą też coś o AVR Studio, ja nie mam tego zainstalowanego, ale skąd miałaby być tam bascomowa biblioteka?

Jeśli można, to poprosiłbym o linka do wersji 2.0.7.7, skoro na tym działa?

Wojtek
Moderator
Posty: 2606
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 lip 2014, 15:51

nie wiem czy działa - mam jedynie w folderze lib tą bibliotekę

Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Post autor: M@ciej » 16 lip 2014, 17:25

Nie mogę ściągnąć Bascoma z ich strony, co chwile coś się wiesza i nie jestem w stanie sprawdzić jeszcze raz, jaką wersję mają. Wersji 2.0.7.7 nie mogę nigdzie znaleźć, skąd pobrałeś taką wersję?

W innym wątku Użytkownik Kayron pisał, że taka biblioteka w ogóle nie istnieje. Sam już nie wiem.

Wojtek
Moderator
Posty: 2606
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 lip 2014, 17:29

M@ciej pisze: Wersji 2.0.7.7 nie mogę nigdzie znaleźć, skąd pobrałeś taką wersję?
Mam pełną wersję i co jakiś czas aktualizuję do najnowszej z poziomu samego programu.
U mnie w folderze LIB jest biblioteka xmega.lib ale ciekawostka taka jest jak wziąłem ten twój kod to dostałem taki sam błąd w kompilacji

Wojtek
Moderator
Posty: 2606
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 lip 2014, 17:37

skasuj "=" po $lib

Wojtek
Moderator
Posty: 2606
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 lip 2014, 17:48

Kod: Zaznacz cały

$regfile = "xm16a4def.dat"
 $crystal = 32000000
 '$hwstack = 64
 '$swstack = 40
 '$framesize = 40
 $lib "xmega.lib" : $external _xmegafix_clear : $external _xmegafix_rol_r1014

 Config Osc = Enabled , 32mhzosc = Enabled
 Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1  '32 MHz
 Config Priority = Static , Vector = Application , Lo = Enabled

 Dim A As Word
 Config Portd.0 = Output
 Config Tcd0 = Pwm , Prescale = 8 , Comparea = Enabled , Resolution = 16
 Tcd0_per = &HFFFF
 Tcd0_cca = 10000
 Do
  Waitms 500
  Tcd0_cca = 20000
  Waitms 500
  Wait 2
   Do
   Incr A
   Tcd0_cca = A
   Waitus 100
  Loop Until A = 30000
 A = 0
 Wait 2
 Loop
 End
to u mnie jest bez błędów i się kompiluje po $lib nie ma być "="

Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Post autor: M@ciej » 16 lip 2014, 17:50

Teraz zadziałało. Wszystko przez ten znak "=". Ciekawe jednak, jak to jest, że Ty masz tą bibliotekę i Ci kompiluje, a ja nie mam i też mi kompiluje? Oczywiście po wywaleniu "=".
Zauważyłem, jak Bascom zgłasza błąd tam, gdzie się go nie można spodziewać, to znaczy,że coś jest nie tak w zapisie. Tutaj zgłaszał mi ten sam błąd 2 razy. W omawianej deklaracji, oraz na samym końcu programu, gdzie nie była wpisana żadna komenda, odwołanie itp.

Potrzebuję zrobić generator akustyczny przestrajany, lecz nie tylko sinusa, ale inne przebiegi, które wpiszę sobie w sekcję DATA. Taki WaveTable.

Wojtek
Moderator
Posty: 2606
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 lip 2014, 17:57

M@ciej pisze:Ciekawe jednak, jak to jest, że Ty masz tą bibliotekę i Ci kompiluje, a ja nie mam i też mi kompiluje?
A uruchom menedżera bibliotek i sprawdź czy na pewno nie masz.

Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Post autor: M@ciej » 16 lip 2014, 18:32

Mam ją widoczną w managerze, jak i w plikach, ale to wersja 1.11.9.8. Najnowszą instalowałem na innym kompie i to samo. Sprawdzę jutro na tym drugim i usunę "=", powinno pomóc.

Wojtek
Moderator
Posty: 2606
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 lip 2014, 18:50

No i sprawa wyjaśniona :)

Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Post autor: M@ciej » 16 lip 2014, 19:04

Dokładnie, dzięki za porady :)

ODPOWIEDZ