Bascom - 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
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Bascom - biblioteki

Post autor: matrix » 14 lip 2010, 7:41

jak w temacie. do czego służą biblioteki bascom? wiem że można sobie samemu stworzyć takową biblioteczkę.

z helpa do bascoma dowiedziałem się że:

Kod: Zaznacz cały

Biblioteka jest to zwykły plik ASCII. Można go stworzyć za pomocą edytora środowiska BASCOM, czy innego preferowanego przez użytkownika edytora zapisującego ten typ plików.

Plik musi rozpoczynać się nagłówkiem (Aktualnie jest on pomijany, lecz w przyszłości będzie wykorzystywany) zawierającym następujące pola: 

copyright	=	nazwisko i imię twórcy, informacja o prawach autorskich
www	=	opcjonalnie adres internetowy gdzie można uzyskać aktualną wersję
email	=	e-mail twórcy biblioteki
comment	=	użyte biblioteki kompilatora AVR
libversion	=	wersja pliku w formacie wersja.podwersja, np.: 1.00, 2.04
date	=	data ostatniej modyfikacji pliku
statement	=	informacje o sposobie użycia biblioteki
history	=	opcjonalnie, doddatkowe informacje o bibliotece
Poszczególne procedury musza rozpoczynać się nazwą zawarta w nawiasach kwadratowych [nazwa] i zakończone przez [END].
ale do czego służy ten kawałek kodu ?:

Kod: Zaznacz cały

[_ClockDiv]

; MEGA chips only
;_temp1 holds the division in the range from 0-129
; 0 will set the division to 1

_ClockDiv:
Cpi _temp1,0        ; is it zero?
Breq _ClockDivX     ; yes so turn off the division
Subi _temp1,2       ; subtract 2
Com _temp1          ;complement
Clr _temp2
Out XDIV,_temp2     ; enable write by writing zeros
_ClockDivX:
Out XDIV,_temp1     ; write new division
Ret                 ;return

[END]
to jest czysty kod ASM ? jeśli tak to wnioskuję że aby dobrze wykorzystać funkcje tworzenia bibliotek należ znać w miarę asemblera?

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 14 lip 2010, 12:02

Podanie nazwy biblioteki w programie powoduje, że jest ona wstawiana do programu.
Funkcje i procedury zawarte w bibliotece możesz wywołać tak jakby były umieszczone na końcu programu.

Użycie języka ASM daje twórcy większą kontrolę nad tym, co będzie procesor robić. Możesz używać bascoma, asemblera lub ich mieszaniny.

Procesory z rodziny ATmega posiadają dzielnik częstotliwości. Przy pomocy fusów możesz wybrać użycie dzielnika zegara przez 8 lub wyłączyć ten dzielnik.
Żeby było ciekawiej, to dzielnik umożliwia podział sygnału zegarowego przez 1, 2, 4, 8, 16, 32, 64, 128 lub 256. Fusy ustalają natomiast jaki dzielnik ma być wybrany po resecie sprzętowym, a przedstawiony kod umożliwia zmianę tego dzielnika.
Po szczegóły odsyłam do pełnej dokumentacji danego procka.
Sam sprawdziłem działanie dzielnika w ATmega169 (program w C). Przy kwarcu 32Khz i dzielniku 256 ciężko jest przeprogramować procka na normalne działanie.

ODPOWIEDZ