eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
Ilość wypowiedzi w tym wątku: 21

  • 11. Data: 2014-08-05 15:48:52
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: pp <3...@3...pl>

    John Smith pisze:

    > Użyć zmiennych globalnych (poza funkcjami, także poza main) oraz
    > wszystkie funkcje muszą być postaci:
    > void funkcja(void)
    > i wtedy jedyne co ląduje na stosie to adres powrotu funkcji.

    Ok, dzięki, chyba trochę to pomogło.

    > Jeśli nawet to jest za dużo, to nie używaj funkcji w ogóle.
    > K.
    >


  • 12. Data: 2014-08-05 15:52:41
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: pp <3...@3...pl>

    Zbych pisze:

    > Jak już pytacz chce eksperymentować to może poczytać sobie o atrybucie
    > OS_task, który tylko blokuje zapamiętywanie stanu rejestrów.

    Chyba mam na to za stare avr-gcc - 3.4.3:
    warning: `OS_task' attribute directive ignored


  • 13. Data: 2014-08-05 20:21:14
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: Zbych <z...@o...pl>

    On 05.08.2014 15:52, pp wrote:
    > Zbych pisze:
    >
    >> Jak już pytacz chce eksperymentować to może poczytać sobie o atrybucie
    >> OS_task, który tylko blokuje zapamiętywanie stanu rejestrów.
    >
    > Chyba mam na to za stare avr-gcc - 3.4.3:

    O kurczę, ale z ciebie kustosz :-)
    Aktualna wersja na stronie atmela to 4.7.




  • 14. Data: 2014-08-05 23:47:31
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: pp <3...@3...pl>

    Zbych pisze:

    >> Chyba mam na to za stare avr-gcc - 3.4.3:
    >
    > O kurczę, ale z ciebie kustosz :-)
    > Aktualna wersja na stronie atmela to 4.7.

    Chyba więcej kłopotu niż pożytku przy przechodzeniu na nowsze wersje.
    Jak coś dobrze działa - wolę tego nie ruszać.
    Oprogramowanie linuksowe to jeden wielki burdel.
    W ogóle, odnoszę wrażenie, że programiści linuksowi to ludzie
    inteligentni inaczej.


  • 15. Data: 2014-08-06 11:42:36
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: g...@s...invalid (Gof)

    pp <3...@3...pl> wrote:

    >> Uzyć asemblera zamiast C lub nie stosować funkcji.
    >
    > Asembler jest nie na moją głowę. Używałem trochę asemblera przy 8051 ale
    > z tym jest chyba jeszcze 2x więcej roboty.

    Czy ja wiem... mi się wydaje, że assembler AVR jest bardziej logiczny, niż
    assembler 51.

    --
    SELECT finger FROM hand WHERE id = 3;
    http://www.chmurka.net/


  • 16. Data: 2014-08-06 11:43:27
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: g...@s...invalid (Gof)

    pp <3...@3...pl> wrote:

    > Jak w C (avr-gcc, AVR) wyłączyć zapisywanie zmiennych do stosu (czy
    > gdzie to tam jest zapisywane) przy wchodzeniu do funkcji i przywracanie
    > tych zmiennych przy powrocie z funkcji ?

    Zmiennych czy rejestrów?

    --
    SELECT finger FROM hand WHERE id = 3;
    http://www.chmurka.net/


  • 17. Data: 2014-08-06 15:26:44
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: pp <3...@3...pl>

    Gof pisze:
    > pp <3...@3...pl> wrote:
    >
    >> Jak w C (avr-gcc, AVR) wyłączyć zapisywanie zmiennych do stosu (czy
    >> gdzie to tam jest zapisywane) przy wchodzeniu do funkcji i przywracanie
    >> tych zmiennych przy powrocie z funkcji ?
    >
    > Zmiennych czy rejestrów?

    Chodzi mi tylko o jak najszybszą realizację funkcji (zegar 128 kHz).


  • 18. Data: 2014-08-07 11:36:24
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: g...@s...invalid (Gof)

    pp <3...@3...pl> wrote:

    >>> Jak w C (avr-gcc, AVR) wyłączyć zapisywanie zmiennych do stosu (czy
    >>> gdzie to tam jest zapisywane) przy wchodzeniu do funkcji i przywracanie
    >>> tych zmiennych przy powrocie z funkcji ?
    >>
    >> Zmiennych czy rejestrów?
    >
    > Chodzi mi tylko o jak najszybszą realizację funkcji (zegar 128 kHz).

    Zrób ją inline (nie ma gwarancji że kompilator wtedy i tak zrobi z
    niej inline) albo makrodefinicję (wtedy masz gwarancję). Ile masz
    pamięci programu?

    --
    SELECT finger FROM hand WHERE id = 3;
    http://www.chmurka.net/


  • 19. Data: 2014-08-07 15:25:42
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: pp <3...@3...pl>

    Gof pisze:
    > pp <3...@3...pl> wrote:
    >
    >>>> Jak w C (avr-gcc, AVR) wyłączyć zapisywanie zmiennych do stosu (czy
    >>>> gdzie to tam jest zapisywane) przy wchodzeniu do funkcji i przywracanie
    >>>> tych zmiennych przy powrocie z funkcji ?
    >>> Zmiennych czy rejestrów?
    >> Chodzi mi tylko o jak najszybszą realizację funkcji (zegar 128 kHz).
    >
    > Zrób ją inline (nie ma gwarancji że kompilator wtedy i tak zrobi z
    > niej inline) albo makrodefinicję (wtedy masz gwarancję).

    Ok, ale wtedy program zajmuje więcej miejsca.

    > Ile masz pamięci programu?

    2kB





  • 20. Data: 2014-08-07 15:35:53
    Temat: Re: C, AVR - funkcja - wyłączenie zapisywania/przywracania zmiennych przy we/we
    Od: janusz_k <J...@o...pl>

    W dniu 07.08.2014 o 15:25 pp <3...@3...pl> pisze:

    > Gof pisze:
    >> pp <3...@3...pl> wrote:
    >>
    >>>>> Jak w C (avr-gcc, AVR) wyłączyć zapisywanie zmiennych do stosu (czy
    >>>>> gdzie to tam jest zapisywane) przy wchodzeniu do funkcji i
    >>>>> przywracanie tych zmiennych przy powrocie z funkcji ?
    >>>> Zmiennych czy rejestrów?
    >>> Chodzi mi tylko o jak najszybszą realizację funkcji (zegar 128 kHz).
    >> Zrób ją inline (nie ma gwarancji że kompilator wtedy i tak zrobi z
    >> niej inline) albo makrodefinicję (wtedy masz gwarancję).
    >
    > Ok, ale wtedy program zajmuje więcej miejsca.
    No to rybki albo akwarium, decyduj się.

    >
    >> Ile masz pamięci programu?
    >
    > 2kB
    Pisz w asemblerze najważniejsze funkcje to parę bajtów odzyskasz, wbrew
    pozorom asembler
    do AVR-a wcale nie jest gorszy od 51, a powiedziałbym że prostszy bno jest
    więcej rejestrów
    uniwersalnych i w miarę dobrze opisany.

    --

    Pozdr
    Janusz

strony : 1 . [ 2 ] . 3


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: