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



Teraz jest 25 mar 2026, o 10:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 28 sie 2017, o 09:42 
Offline
Nowy

Dołączył(a): 16 sie 2017
Posty: 7
Pomógł: 0

Witam,

Piszę pierwszy projekt w którym mam kilka wyjść obsługiwanych w taki sam sposób. Napisałem więc strukturę i funkcję do ich obsługi i w teorii zostało mi tylko zdefiniowanie odpowiednich struktur i ich użycie. Niestety, tutaj pojawia się problem z kompilacją. Wcześniej na bank używałem DDRx i PORTx jako wskaźnik przekazywany do funkcji i działało. Tutaj się wykrzacza. Czy możecie podpowiedzieć czemu?

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


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


Jest to deklaracja globalna. Błąd brzmi "initializer element is not constant" w liniach z komentarzem. Do kompilacji używam AtmelStudio 7.0.14.17. Gdy pierwsze 4 pola struktyr nie miały modyfikatora "cost", błąd również wystąpił.

@Edit
W ErrorList mam też 2 komunikaty INFO "(near initialization for 'Buzzer_buzzer.PORT')", "(near initialization for 'Buzzer_buzzer.DDR')". Nie wiem co one znaczą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2017, o 10:19 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

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

Do zainicjowania elementów struktury będących wskaźnikami (do portów w tym przypadku) należy użyć operatora &. Poza tym wskaźniki do portów muszą być zadeklarowane jako volatile. Jeśli chcesz natomiast, by adres portu nie został zmieniony, to const musi być w innym miejscu, bo tak jak zadeklarowałeś, to nie będziesz mógł zmienić wartości portu, na jaki wskazuje wskaźnik:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2017, o 10:43 
Offline
Nowy

Dołączył(a): 16 sie 2017
Posty: 7
Pomógł: 0

Ok, faktycznie działa, a ja zrozumiałem błąd. Dziękuję za pomoc :).



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: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO