-
Data: 2010-06-20 08:34:03
Temat: Re: Optymalizacja w WinAVR i kod programu
Od: "TomZor" <t...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]oto te delaye
#define n_hp 20 // 40 // fosc = 8Mhz
#define n_qp 10// 20
void delay_hp(void) //hp - half i2c clock period delay
normal: 5.0us
{
unsigned char time= 1+ (n_hp-7)/3;
while(time--);
}
void delay_qp(void) //qp - quarter i2c clock period delay
normal: 2.5us
{
unsigned char time= 1+ (n_qp-7)/3;
while(time--);
}
Chodi o to ze program do obslugi i2c przy optymalizacji -00, 01 poprawnie
kompiluje się, nie ma żadnych problemów z działaniem i2c.
Natomiast przy pozostałych optymalizacjach juz odczyt zegarka po i2c a
dokładnie DS1307 nie działa, więc może i mam źle coś napisane, ale skoro
działa przy - 00 i 01 to tak do końca nie jest spaprane.
".....optimize("......." nie działa w WinAVR, szkoda, ale zobacze co
jeszcze co kompilator wywala przzy różnych opcjach otymalizacji, bo może to
nie wina procedur i2c ale gdzieś indziej...zobaczymy.
Użytkownik "T.M.F." <t...@n...mp.pl> napisał w wiadomości
news:4c1c8b00$0$17099$65785112@news.neostrada.pl...
>>> WinAVR optymalizuje kod wynikowy za pomoca przelacznika -00,01,02,0s
>>> jak zrobić aby dany kawałek programu źródłowego (w C) nie był
>>> optymalizowany np (to tylko przykład)
>>
>> Trzeba dodać atrybut optimize do funkcji, która ma mieć inny poziom
>> optymalizacji.
>>
>> void my_function(void) __attribute__((optimize("O1")))
>> {
>> [...]
>> }
>
> Wszystko pieknie, zapomniales tylko napisac, ze tego atrybutu nie ma w gcc
> 4.3.x, ktory jest w WinAVR.
> A jesli Os cos knoci to znaczy, ze program jest do bani, a co jest do bani
> to juz napisales.
>
>
> --
> Inteligentny dom - http://idom.wizzard.one.pl
> http://idom.sourceforge.net/
> Teraz takze forum dyskusyjne
> Zobacz, wyslij uwagi, dolacz do projektu.
>
> __________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur
> wirusow 5210 (20100619) __________
>
> Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.
>
> http://www.eset.pl lub http://www.eset.com
>
>
__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur wirusow
5210 (20100619) __________
Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.
http://www.eset.pl lub http://www.eset.com
__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur wirusow
5217 (20100622) __________
Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.
http://www.eset.pl lub http://www.eset.com
Następne wpisy z tego wątku
- 22.06.10 20:05 Michoo
Najnowsze wątki z tej grupy
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
Najnowsze wątki
- 2025-04-05 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-04-05 Warszawa => Strategic Account Manager <=
- 2025-04-05 co w Anglii dziś w Polsce za 30 lat
- 2025-04-05 Wrocław => SOC Tech Lead <=
- 2025-04-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-04-05 Wyrok dożywocia dla Polki
- 2025-04-04 Prezydium Sejmu Tuskiego orzekło: Poseł KO mecenas Roman Giertych NIE jest mordercą (w żadnym sensie tego słowa?)
- 2025-04-04 Reset komóry
- 2025-04-04 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-04-04 Zielonka => Key Account Manager IT <=
- 2025-04-04 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2025-04-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-04-04 Białystok => NMS System Administrator <=
- 2025-04-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-04-04 Warszawa => Generative AI Engineer <=