eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › C na AVR jeszcze raz
Ilość wypowiedzi w tym wątku: 28

  • 1. Data: 2010-09-22 17:22:58
    Temat: C na AVR jeszcze raz
    Od: "Chomik" <c...@h...pl>

    Najgorsze w przechodzeniu na C mam juz za soba. Sterowanie portami dziala,
    procedury dla LCD dzialaja, teraz jeszcze obsluga przerwan i lecimi. Jednak
    nie moge sie doszukac informacjijak zdeklarowac zmienna tak zeby znalazla
    sie w okreslonej komorce pamieci. Z tego co do tej pory wyczytalem w C
    zmienne funkcjonuja zupelnie inaczej niz do tej pory sie przyzwyczailem. W
    podreczniku o C tego nie ma bo jest on ogolnie o jezyku a nie w
    zastosowaniach na AVR. Jest wogole w taka mozliwosc?


  • 2. Data: 2010-09-22 17:28:07
    Temat: Re: C na AVR jeszcze raz
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2010-09-22 19:22, Chomik wrote:
    > lecimi. Jednak nie moge sie doszukac informacjijak zdeklarowac zmienna
    > tak zeby znalazla sie w okreslonej komorce pamieci.

    Po co?

    > Jest wogole w taka mozliwosc?

    Po co?

    PS. Jest, ale prawie na pewno tego nie chcesz.


  • 3. Data: 2010-09-22 18:14:21
    Temat: Re: C na AVR jeszcze raz
    Od: "Chomik" <c...@h...pl>


    > > lecimi. Jednak nie moge sie doszukac informacjijak zdeklarowac zmienna
    > > tak zeby znalazla sie w okreslonej komorce pamieci.
    >
    > Po co?
    >
    Mam 96 bitowy rejestr zapelniany szeregowo bit po bicie. Po zapelnieniu
    kazde 8 bitow to wartosc poczatkowa dla 12 zmiennych ktore pozniej do innych
    celow sa wykorzystane.
    Tak mam teraz, odczyt kolejnego bitu i przesuniencie rejestru to kilka
    linijek w ASM. Chodzi szybko poprawnie i nie trzeba zadnych dodatkowych
    linijek i czasu zeby to przerabiac odczytywac itd.
    No chyba ze sa szybsze i lepsze sposoby ale nie widze w tym moim jakichs
    wad. Odczytywanie po 8 bitow i zapisywanie ich wartosci nie bedzie szybsze
    ani lepsze.

    Zreszta po kompilacji jest informacja gdzie siedzi jaka zmienna wiec
    wielkiego problemu nie mam ale moze mi sie przydac info jak od poczatku
    umiescic zmienna w okreslonym miejscu.


  • 4. Data: 2010-09-22 19:32:32
    Temat: Re: C na AVR jeszcze raz
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2010-09-22 20:14, Chomik wrote:
    > Mam 96 bitowy rejestr zapelniany szeregowo bit po bicie. Po zapelnieniu
    > kazde 8 bitow to wartosc poczatkowa dla 12 zmiennych ktore pozniej do
    > innych celow sa wykorzystane.

    Potrzebujesz więc tablice:

    unsigned char tablica[ 96 / 8 ];

    Czy aby na pewno jednak to nie może być zapełniane w locie po 8 bitów?
    Musisz mieć *KONIECZNIE* te 96 bitów i męczyć się z nimi wszystkimi?

    > Tak mam teraz, odczyt kolejnego bitu i przesuniencie rejestru to kilka
    > linijek w ASM. Chodzi szybko poprawnie i nie trzeba zadnych dodatkowych
    > linijek i czasu zeby to przerabiac odczytywac itd.

    "tablica" może być interpretowana jako adres pamięci tych 12 bajtów.

    > No chyba ze sa szybsze i lepsze sposoby ale nie widze w tym moim jakichs
    > wad. Odczytywanie po 8 bitow i zapisywanie ich wartosci nie bedzie
    > szybsze ani lepsze.

    Opisz po co Ci ten rejestr.

    > Zreszta po kompilacji jest informacja gdzie siedzi jaka zmienna wiec
    > wielkiego problemu nie mam ale moze mi sie przydac info jak od poczatku
    > umiescic zmienna w okreslonym miejscu.

    Nie mów kompilatorowi gdzie ma wsadzić zmienną. Zamiast tego zapytaj
    kompilator gdzie ją umieścił. Nazwa tablicy jest odpowiedzią na to
    pytanie. Jednak zanim zaczniesz stukac w asm zadam ponownie to pytanie:
    do czego to jest potrzebne?


  • 5. Data: 2010-09-22 19:57:20
    Temat: Re: C na AVR jeszcze raz
    Od: "Chomik" <c...@h...pl>


    >
    > Opisz po co Ci ten rejestr.
    >
    > > Zreszta po kompilacji jest informacja gdzie siedzi jaka zmienna wiec
    > > wielkiego problemu nie mam ale moze mi sie przydac info jak od poczatku
    > > umiescic zmienna w okreslonym miejscu.
    >
    > Nie mów kompilatorowi gdzie ma wsadzić zmienną. Zamiast tego zapytaj
    > kompilator gdzie ją umieścił. Nazwa tablicy jest odpowiedzią na to
    > pytanie. Jednak zanim zaczniesz stukac w asm zadam ponownie to pytanie: do
    > czego to jest potrzebne?

    No juz pisalem. Bit po bicie zapelnia sie odbierana informacja, po kazdym
    bicie trzeba sprawdzic zawartosc a czasem wykorzystac te wartosci do innych
    wyliczen.
    W ASM cala ta procedura byla krociutka i bardzo szybka a szybkosc tez ma
    znaczenie dlatego nie chce jej komplikowac i mimo pisania reszt w C (pozniej
    sa inne rzeczy ktore znowuz sa upierdliwe do pisania w ASM)ta czesc zostawie
    w ASM.


  • 6. Data: 2010-09-22 20:13:22
    Temat: Re: C na AVR jeszcze raz
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2010-09-22 21:57, Chomik wrote:
    > No juz pisalem. Bit po bicie zapelnia sie odbierana informacja, po
    > kazdym bicie trzeba sprawdzic zawartosc a czasem wykorzystac te wartosci
    > do innych wyliczen.

    Chodziło mi o to czy na pewno musisz te bity wsuwać za kazdym razem
    przez wszystkie 12 bajtów. Czy nie lepiej jest ustawiać od razu tam
    gdzie trzeba.

    > W ASM cala ta procedura byla krociutka i bardzo szybka a szybkosc tez ma
    > znaczenie dlatego nie chce jej komplikowac i mimo pisania reszt w C
    > (pozniej sa inne rzeczy ktore znowuz sa upierdliwe do pisania w ASM)ta
    > czesc zostawie w ASM.

    Przedwczesna optymalizacja ;) Po prostu napisz to w C i zobaczysz na ile
    bedzie wolne.


  • 7. Data: 2010-09-22 23:41:26
    Temat: Re: C na AVR jeszcze raz
    Od: g...@n...invalid (Adam Wysocki)

    Chomik <c...@h...pl> wrote:

    > sie w okreslonej komorce pamieci. Z tego co do tej pory wyczytalem w C
    > zmienne funkcjonuja zupelnie inaczej niz do tej pory sie przyzwyczailem. W
    > podreczniku o C tego nie ma bo jest on ogolnie o jezyku a nie w
    > zastosowaniach na AVR. Jest wogole w taka mozliwosc?

    Zainteresuj się wskaźnikami.

    --
    gof


  • 8. Data: 2010-09-23 15:38:10
    Temat: Re: C na AVR jeszcze raz
    Od: "Chomik" <c...@h...pl>


    >
    > Chodziło mi o to czy na pewno musisz te bity wsuwać za kazdym razem przez
    > wszystkie 12 bajtów. Czy nie lepiej jest ustawiać od razu tam gdzie
    > trzeba.

    Ano musze miec wszystkie na raz.

    >
    >> W ASM cala ta procedura byla krociutka i bardzo szybka a szybkosc tez ma
    >
    > Przedwczesna optymalizacja ;) Po prostu napisz to w C i zobaczysz na ile
    > bedzie wolne.

    Ta czesc jednak zostawie w ASM :)


  • 9. Data: 2010-09-26 14:16:11
    Temat: Re: C na AVR jeszcze raz
    Od: "identifikator: 20040501" <N...@g...pl>

    do niczego Cię nie zmuszam, ale może zechciałbyś napisac kolegom z grupy jak
    łączysz C z assemblerem bo chyba nie przez inline (czy jakoś tak)? no i jak
    korzystasz ze zmiennych C w kodzie asma?


  • 10. Data: 2010-09-26 18:22:43
    Temat: Re: C na AVR jeszcze raz
    Od: "Chomik" <c...@h...pl>

    Użytkownik "identifikator: 20040501" <N...@g...pl> napisał w
    wiadomości grup dyskusyjnych:i7nkr7$42i$...@m...internetia.pl...
    > do niczego Cię nie zmuszam, ale może zechciałbyś napisac kolegom z grupy
    > jak łączysz C z assemblerem bo chyba nie przez inline (czy jakoś tak)? no
    > i jak korzystasz ze zmiennych C w kodzie asma?
    Nie sadze, ze tym co pisza w C trzeba tlumaczyc jak wstawiac wstawki ASM.
    Poza tym opisane jest to w wielu ksiazkach jak i w internecie chociazby na
    stronie GCC. Akurat wstawki w ASM nie sa problemem biorac pod uwage calosc
    jezyka C.

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: