ATNEL tech-forum
https://forum.atnel.pl/

Zamiana programu w ATiny 2313
https://forum.atnel.pl/topic20969.html
Strona 1 z 1

Autor:  Adyx [ 10 lip 2018, o 12:13 ]
Tytuł:  Zamiana programu w ATiny 2313

Witam. Jakiś czas temu zakupiłem miernik częstotliwości na mikrokontrolerze ATTINY 2313. Do miernika dołączony był kod żródłowy w Bascomie. Chciałem wykorzystać ten miernik jako skalę do transcievera z przemianą częstotliwości. Przemiana polega na odjęciu od częstotliwości BFO (12 MHz) częstotliwość generatora VFO czyli
częstotliwość odbierana = 12 - VFO.
Po dołożeniu jednej linijki programu z tym obliczeniem, BASCOM po kompilacji wywala bląd: Program will overwrite bootloader [12 too long]
Rozumiem z tego komunikatu, że program jest za duży. Czy da się to jakoś poprawić ? Sygnał częstotliwości jest dzielony przez 32.


Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  Krauser [ 11 lip 2018, o 22:23 ]
Tytuł:  Re: Zamiana programu w ATiny 2313

Można by spróbować coś uprościć np. zamiast
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

użyć przesunięcia
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie używać zmiennej typu single i obliczyć wynik do wyświetlenia wykorzystując operacje na liczbach całkowitych. Co robi się wyświetlając część całkowitą, a resztę z dzielenia poprzedza się odpowiednią liczbą zer.

Autor:  Adyx [ 12 lip 2018, o 10:20 ]
Tytuł:  Re: Zamiana programu w ATiny 2313

Dzięki stokrotne za pomoc, zastąpienie mnożenia shiftem pomogło. Jeśli dobrze zrozumiałem działanie shifta , czyli przesuwam 16 razy bo "65536=2^16".
y=2^n
x * y =x*2^n => x << n.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/