eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaavr-gcc eeprom inline › Re: avr-gcc eeprom inline
  • Data: 2009-03-15 18:22:19
    Temat: Re: avr-gcc eeprom inline
    Od: "T.M.F." <t...@n...mp.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    pawel pisze:
    >> Ile ci brakuje bajtow?
    >
    > Stosunkowo sporo, atmega32
    > Program: 32830 bytes (100.2% Full)

    Ee, czyli spoko, to praktycznie nic :)

    > Maksymalnie 32768.
    >
    > Wyremowanie jednej linijki
    >
    > for(i = 0; i < MAX_DS18X20; i++)

    Jesli mozesz to odwroc warunek od MAX_DS18X20 do 0. To wymaga mniej
    instrukcji do sprawdzenia. W innych petlach podobnie - staraj sie, zeby
    kompilator nie musial wstawiac dodatkowych CP, czyli np. odliczaj do
    zera, albo do 255, 256 czy cos w tym stylu.

    > {
    > //blablabla
    > eeprom_write_byte(&ds18x20_ee[i].restout, k);

    restout ma jaka dlugosc? Jesli 1 lub 2 bajty to nie oplaca sie
    przekazywac adresu, lepiej wartosc.

    Zobacz tez czy nie masz gdzies w kodzie operatorow logicznych, mozna je
    zoptymalizowac okreslajac explicite typ na np. uint8_t, gdyz gcc
    automatycznieje promuje do uint, co wielokrotnie zwieksza ilosc operacji.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: