Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 8 kwi 2026, o 00:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
 Tytuł: Kompilator.
PostNapisane: 24 mar 2018, o 11:05 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 232
Pomógł: 26

Witajcie.
Może ktoś mi pomoże zrozumieć działanie kompilatora.
Zgłębiając język C dla AVR dotarłem do plików .lss
Powili zaczynam rozumieć co tam jest ale pojawił się jeden problem.
Kompiluję dla przykładu program Mirkowy L02_odbiornik_IR_uniwersalny
i otrzymuję w pliku L02_odbiornik_IR_uniwersalny.lss takie coś:

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


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

a zgodnie z dokumentacją do tego przerwania przypisane jest przerwanie 7
....
3 $004 INT1 External Interrupt Request 1
4 $006 INT2 External Interrupt Request 2
5 $008 TIMER2 COMP Timer/Counter2 Compare Match
6 $00A TIMER2 OVF Timer/Counter2 Overflow
7 $00C TIMER1 CAPT Timer/Counter1 Capture Event
8 $00E TIMER1 COMPA Timer/Counter1 Compare Match A
9 $010 TIMER1 COMPB Timer/Counter1 Compare Match B
........


No i właśnie nie wiem gdzie popełniam błąd w rozumowaniu

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Kompilator.
PostNapisane: 24 mar 2018, o 11:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A wektory przerwań liczysz od zera czy od jednego?

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Kompilator.
PostNapisane: 24 mar 2018, o 15:11 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 232
Pomógł: 26

Dzięki
Też taka była moja pierwsza myśl że źle liczę.
Podam inny przykład, ale jutro z rana będę mógł spokojnie to wkleić
No dobra
Rano przyszło wieczorem,
Plik main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


plik .lss

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



No i tu problem 17 się zgadza

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Kompilator.
PostNapisane: 25 mar 2018, o 19:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

JarekB napisał(a):
ISR( TIMER0_OVF_vect ) {   // vect_17 zgodnie z doku ATMEGA162  !!!!!

Nie wiem jaką przeglądasz dokumentację ale u mnie jest na 18 pozycji ...
Obrazek

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Kompilator.
PostNapisane: 26 mar 2018, o 05:42 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 232
Pomógł: 26

Przyznaję, mój błąd z tym ISR( TIMER0_OVF_vect ).

Wszystkie nazwy wektorów opisane w pliku .lss są przesunięte o 1.
Jak widać w tabelce z doku ponumerowane są od "1",
a kompilator nazywa je od "0"
I tak INT0 nazwany w tabelce Vector no 2
w pliku .lss występuje jako:

00000000 <__vectors>:
0: 0c 94 47 00 jmp 0x8e ; 0x8e <__ctors_end>
4: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__vector_1>

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO