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



Teraz jest 3 mar 2026, o 04:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 23 lis 2013, o 13:50 
Offline
Nowy

Dołączył(a): 19 paź 2013
Posty: 22
Pomógł: 0

Witam

Mam problem z deklaracją funkcji w pliku nagłówkowym o nazwie adc.h:

#ifndef ADC_H_
#define ADC_H_

void adc_initialization();
void adc_read (uint_8_t channel);

#endif /* ADC_H_ */

Pojawia się błąd:

In file included from ../adc.c:9:
../adc.h:14: error: expected ')' before 'channel'
make: *** [adc.o] Error 1

Deklaracja funkcji adc_initialization() działa ale deklaracja funkcji adc_read(uint_8_t channel) już nie.
Jednocześnie deklaracja tej funkcji w pliku adc.c jak najbardziej działa.

proszę o wyjaśnienie dlaczego tak się dzieje.

Pozdrawiam

Marcin



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2013, o 13:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2013
Posty: 143
Pomógł: 1

typ nazywa się uint8_t, a w tej pierwszej deklaracji jeśli nie przekazujemy argumentu do funkcji należy wpisać (void), w pliku c umieszcza się definicję a nie deklarację , to istotna różnica

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2013, o 13:56 
Offline
Nowy

Dołączył(a): 19 paź 2013
Posty: 22
Pomógł: 0

Dziękuje za odpowiedź.
Wprowadziłem poprawki lecz dalej ten błąd się pojawia:

#ifndef ADC_H_
#define ADC_H_

void adc_initialization(void);
void adc_read (uint8_t channel);

#endif /* ADC_H_ */

Pozdrawiam

Marcin



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2013, o 14:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2013
Posty: 143
Pomógł: 1

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


niech kolega wklei to u siebie, nie zapominając o #include w pliku main.c. Podobny problem wystąpił u mnie gdy nie miałem w main.c głównej pętli programu
int main(void){
while(1){
}
}

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2013, o 14:15 
Offline
Nowy

Dołączył(a): 19 paź 2013
Posty: 22
Pomógł: 0

Dodałem while (1) {} bo faktycznie nie miałem lecz nic to nie zmieniło. Dalej ten sam błąd wyskakuje. Wygląda to tak jakby dało się deklarować funkcje bez przekazywania parametrów a nie da rady z deklarować funkcji z do których będzie się przekazywać parametry. Ciekawe.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2013, o 14:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2013
Posty: 143
Pomógł: 1

a dołączył kolega w main.c bibliotekę #include <avr/io.h>

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2013, o 14:20 
Offline
Nowy

Dołączył(a): 19 paź 2013
Posty: 22
Pomógł: 0

Tak jest dołączona. Poniżej kod funkcji main :

#include "adc.h"
#include <avr/io.h>
#include <util/delay.h>
#include "LedLib/led.h"

int main (void) {

while (1) {

}
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2013, o 14:58 
Offline
Nowy

Dołączył(a): 19 paź 2013
Posty: 22
Pomógł: 0

Dzięki. To był błąd.

Pozdrawiam

Marcin



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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