eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › stałe wartości w pliku c czy h
Ilość wypowiedzi w tym wątku: 13

  • 1. Data: 2012-04-22 09:59:08
    Temat: stałe wartości w pliku c czy h
    Od: slawek7 <s...@w...pl>

    Cześć.
    Proszę powiedzcie mi czy jak mam tablicę np z wartościami funkcji
    sinus to te wartości powinienem umieścić w pliku .c czy .h (czy w
    pliku sin.c czy w pliku sin.h)? Jaka jest różnica jak umieszczę w
    jednym a w drugim?
    W kursie w EdW STM32 wartości umieszczono w sin.c natomiast w kursie
    AVR takie dane były w plikach .h

    Przy okazji, spotkałem się z definicją funkcji która miała taki zapis.
    volatile unsigned char FUNKCJA(.....) {...}

    Chodzi mi o użycie volatile w funkcji a nie w zmiennej. Po co i
    dlaczego?


  • 2. Data: 2012-04-22 13:59:57
    Temat: Re: stałe wartości w pliku c czy h
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    slawek7 <s...@w...pl> napisał(a):
    > Cześć.
    > Proszę powiedzcie mi czy jak mam tablicę np z wartościami funkcji
    > sinus to te wartości powinienem umieścić w pliku .c czy .h (czy w
    > pliku sin.c czy w pliku sin.h)? Jaka jest różnica jak umieszczę w
    > jednym a w drugim?
    > W kursie w EdW STM32 wartości umieszczono w sin.c natomiast w kursie
    > AVR takie dane były w plikach .h

    Odpowiedz sobie na pytanie, po co Ci w ogóle pliki .h. Jeśli masz plik. h.
    includowany tylko przez jeden plik .c to nie ma znaczenia, czy deklaracje
    zawarte w pliku .h będą w nim, czy w pliku .c. Pliki .h stosujemy, gdy
    chcemy funkcje z pliku .c udostępnić na zewnątrz. Wtedy inny plik .c może
    sobie includować taki plik .h żeby dostać deklaracje funkcji zdefiniowanych
    w tamtym pierwszym .c

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 0 days, 0 hours, 47 minutes and 10 seconds


  • 3. Data: 2012-04-22 19:26:51
    Temat: Re: stałe wartości w pliku c czy h
    Od: slawek7 <s...@w...pl>

    Masz racje. Problem w tym ze informacji na temat jak poprawnie budowac
    program na uC nie ma, przy najmniej ja nie znam.
    Jeśli wiesz gdzie mozna o tym poczytacto bede wdzieczny


  • 4. Data: 2012-04-22 19:36:02
    Temat: Re: stałe wartości w pliku c czy h
    Od: "identifikator: 20040501" <N...@g...pl>

    Masz racje. Problem w tym ze informacji na temat jak poprawnie budowac
    program na uC nie ma, przy najmniej ja nie znam.
    Jeśli wiesz gdzie mozna o tym poczytacto bede wdzieczny

    przecież jest elektroda...


  • 5. Data: 2012-04-22 19:37:11
    Temat: Re: stałe wartości w pliku c czy h
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    slawek7 <s...@w...pl> napisał(a):
    > Masz racje. Problem w tym ze informacji na temat jak poprawnie budowac
    > program na uC nie ma, przy najmniej ja nie znam.
    > Jeśli wiesz gdzie mozna o tym poczytacto bede wdzieczny

    Problem, który poruszyłeś nie jest specyficzny dla uC. Jest to jedna z
    podstawowych rzeczy w C ogólnie i możesz o tym poczytać w dowolnej
    książce/kursie na temat C. Nie ma tu z resztą jakiejś wielkiej filozofii.
    To, na co ewentualnie należy zwrócić uwagę, to czy przypadkiem jeden plik
    nie jest includowany kilka razy i nie ma błędu redefinicji. Stosuje się
    wtedy konstrukcje typu #ifndef żeby sprawdzić, czy dane makro nie było już
    definiowane.

    Co do volatile to nie wiem, nie spotkałem się z tym w kontekście funkcji.
    Google zwraca niewiele i to w stosunku do metod klas a nie samodzielnych
    funkcji. Podejrzewam, że to akurat może być coś specyficznego dla uC.

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 0 days, 6 hours, 37 minutes and 27 seconds


  • 6. Data: 2012-04-22 19:52:51
    Temat: Re: stałe wartości w pliku c czy h
    Od: Michoo <m...@v...pl>

    On 22.04.2012 09:59, slawek7 wrote:
    > Cześć.
    > Proszę powiedzcie mi czy jak mam tablicę np z wartościami funkcji
    > sinus to te wartości powinienem umieścić w pliku .c czy .h (czy w
    > pliku sin.c czy w pliku sin.h)? Jaka jest różnica jak umieszczę w
    > jednym a w drugim?
    > W kursie w EdW STM32 wartości umieszczono w sin.c natomiast w kursie
    > AVR takie dane były w plikach .h
    Rozszerzenie to tylko konwencja, ALE w standardowym podejściu jeżeli
    zdefiniujesz zmienne w pliku nagłówkowym to będą one powielone dla
    każdego pliku .c który go dołączy. Jeżeli zdefiniujesz w .h jako extern
    a potem zdefiniujesz w .c to w wyniku będzie tylko raz.
    >
    > Przy okazji, spotkałem się z definicją funkcji która miała taki zapis.
    > volatile unsigned char FUNKCJA(.....) {...}
    >
    > Chodzi mi o użycie volatile w funkcji a nie w zmiennej. Po co i
    > dlaczego?
    Afaik volatile odnosi się do typu zwracanego (unsigned char) a nie do
    funkcji i jest w tym kontekście bez sensu.


    --
    Pozdrawiam
    Michoo


  • 7. Data: 2012-04-22 20:26:14
    Temat: Re: stałe wartości w pliku c czy h
    Od: "kk" <...@...pl>

    > Co do volatile to nie wiem, nie spotkałem się z tym w kontekście funkcji.
    > Google zwraca niewiele i to w stosunku do metod klas a nie samodzielnych
    > funkcji. Podejrzewam, że to akurat może być coś specyficznego dla uC.
    >

    The volatile statement tells the compiler that the variable is constantly
    changing.

    Chodzi o optymalizację kodu przez kompilator.
    Zapobiega przenoszeniu kopii zmiennej do rejestru i wykonywaniu dalszych
    operacji na kopii.
    Potrzene np przy obsłudze przerwań.



  • 8. Data: 2012-04-22 23:18:18
    Temat: Re: stałe wartości w pliku c czy h
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    kk <...@...pl> napisał(a):
    > The volatile statement tells the compiler that the variable is constantly
    > changing.
    > Chodzi o optymalizację kodu przez kompilator.
    > Zapobiega przenoszeniu kopii zmiennej do rejestru i wykonywaniu dalszych
    > operacji na kopii.
    > Potrzene np przy obsłudze przerwań.

    To ja wiem i stosuję, chodziło o volatile w kontekście typu funkcji.

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 0 days, 10 hours, 23 minutes and 43 seconds


  • 9. Data: 2012-04-23 12:58:29
    Temat: Re: stałe wartości w pliku c czy h
    Od: slawek7 <s...@w...pl>

    Odppowiadając temu kto twierdzi ze zrodlwem wiedzy moze byc elektroda.
    To jakies nieporozumine. Sa tam super ludzie ktorzy potrafia zrozumiec
    poczatkujacego ale w kazdym dziale jest moderator ktory sami wiecie co
    robi albo pojawiaja sie inni uzykownicy.
    Potem jak sie zapytasz to az krew zalewa czytajac niektore nie na
    temat odpowiedzi


  • 10. Data: 2012-04-23 17:05:11
    Temat: Re: stałe wartości w pliku c czy h
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    slawek7 <s...@w...pl> napisał(a):
    > Odppowiadając temu kto twierdzi ze zrodlwem wiedzy moze byc elektroda.

    Odpowiadasz mi, czy to znaczy, że ja kiedyś tak stwierdziłem?

    > To jakies nieporozumine. Sa tam super ludzie ktorzy potrafia zrozumiec
    > poczatkujacego ale w kazdym dziale jest moderator ktory sami wiecie co
    > robi albo pojawiaja sie inni uzykownicy.
    > Potem jak sie zapytasz to az krew zalewa czytajac niektore nie na
    > temat odpowiedzi

    Do mnie się nikt nie czepiał a odpowiedzi dostawałem, ale ja się mało tam
    udzielam. W każdym razie nie wiem po co piszesz o tym w tym wątku, on nie
    jest o Elektrodzie.

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 0 days, 0 hours, 9 minutes and 11 seconds

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: