cz7

cz7



Programowanie

Listing 57— wykorzystanie funkcji printf

int main(void) l

■int a -

1234;

int b =

0xff;

C...)

fdevopen

(rs_put, rs_get, Oj;

printf(

„aC%%d)=%d\r\n"


„aC»0=%x\r\n"

„aC%%X)=«x\r\n" ,,bC%«x)=%#x\r\n' ,,bC%%oJ=%o\r\n'’, a, a, a. b, bj;

}


Listing 58- wykorzystanie pamięci programu

dla łańcucha formatowania

printf_p(PSTR(„a(%%d)=%d\r\n"

„a(%%x)=*x\r\n”

„a(%%X)=%X\r\n"

„b=%#x\r\h" „b(%%o)=%o\r\n”J, a, a , a, b, b);



sobie — w pamięci programu... Bardzo się z tego pytania cieszę. Jeśli jeszcze tego nie zrobiłeś - popatrz na wynik symulacji. Łańcuch zajmuje cenną pamięć RAM, jednocześnie do jej inicjacji konieczna jest kopia danych w pamięci ROM.

Omawiane funkcje, tak jak większość z występujących w AVR-GCC, posiadają specjalne wersje z przyrostkiem _P. Zmodyfikuj poprzedni program zgodnie z listingiem 58. Konieczne będzie dodanie do programu nagłówka <avr\pgmspace.h>. Efekt zmiany można zaobserwować w symulacji na rysunku 42. Od strony funkcjonalnej nie powinny pojawić się widoczne zmiany.

Na identycznej zasadzie możesz zmodyfikować pierwszy z programów.

Podsumowanie

Dziś poznaliśmy bardzo ważną funkcję z biblioteki standardowej C. Wykorzystaliśmy ją w jeden z najprostszych sposobów. Praktyka jest jednak taka, że w AVR-GCC, standardowe funkcje węjścia/wyjścia, działające na domyślnych strumieniach nie zostały dobrze zoptymalizowane. Musimy liczyć się z tym, że jest to jednak narzędzie darmowe i czasami daje to odczuć. Jest j ednak szansa na poprawę - miałem okazję testować najnowsze biblioteki i ich działanie rzeczywiście zostało poprawione. Jednak dopóki nie powstanie nowa wersja całego pakietu, zmiana bibliotek wymaga ręcznych modyfikacji. W najbliższym odcinku będziemy pracować na strumieniach innych niż domyślne - okazuje się, że funkcje te są lepiej optymalizowane, jeśli chodzi o rozmiar kodu. Dodatkowo daje to możliwość wykorzystania tych samych podprogramów do wysyłania danych przez RS232 czy na LCD, co sprawia, że poznawana biblioteka staje się coraz ciekawsza.

Radosław Koppcl

radoslaw. koppel@elportal.pl


CRC 5-56 - wielofunkcyjny preparat dla potrzeb serwisowych


Zastosowanie:

Środek penetrujący i smarujący, przenikający rdzę, wypierający wodę, myjący z brudu i kurzu

Opis: CRC 5-56 - wielofunkcyjny preparat dla potrzeb serwisowych. Środek penetrujący i smarujący, przenikający rdzę, wypierający wodę, myjący z brudu i kurzu. Składa się z oleju parafinowego, organicznych inhibitorów korozji co pozwala na utworzenie bariery chroniącej przed dostępem wodyti tlenu.

Własności:

■    szybko penetruje, wnikając w najmniejsze pory, szczeliny w rozwiniętej powierzchni dobre własności smarne, wypiera wilgoć z układów elektrycznych

i zapłonowych

■    luzuje zardzewiałe połączenia

■    tworzy cienką warstwę ochronną, przeciwdziałająca korozji wywołanej wpływami atmosferycznymi

■    nie oddziałuje z metalami i ich stopami

■    nie oddziałuje 2 większością plastików, gum, powierzchni

lakierowanych

(w razie wątpliwości

-    Zalecany test technologiczny)

■    opakowania aerozolowe wyposażone są w zawór 360° działania oraz cienką rurkę aplikacyjną.

■    Gaz pędny - niepalny C02

-    co skutkuje 97% wykorzystaniem aktywnego preparatu

kod handlowy: KON36 cena: 10 zł

*y AVT, 01-939 Warszawa, ul. Burleska 9, tel. (221568 99 50, fax (22) 568 99 55, e-mail: handlowygavt.pl

1 www.sklep.avt.pl


46 Luty 2006 Elektronika dla Wszystkich


Wyszukiwarka

Podobne podstrony:
skanuj0163 (9) 174 PHP i MySQL dla każdego Listing 6.12. Wykorzystanie funkcji strtok <?php $str
15605 skanuj0163 (9) 174 PHP i MySQL dla każdego Listing 6.12. Wykorzystanie funkcji strtok <?php
67853 skanuj0176 (8) 188 PHP i MySQL dla każdego Listing 7.2. Sposób wykorzystania funkcji
skanuj0151 (9) 162 PHP i MySQL dla każdego Listing 6.5. Wykorzystanie funkcji zmieniających wielkość
cz7 Programowanie kształceń. Wymaga od nas jedynie stworzenia funkcji wypisującej oraz odczytującej
Typowe słowa wykorzystywane w programach CNC N - numer bloku G - funkcje przygotowawcze X, Y, Z - wa
>    omówienie programowania obróbki z wykorzystaniem funkcji interpolacji; >•
wiele miejsca na kreatywność programisty. C++ umożliwia wykorzystywanie funkcji i bibliotek innych j
24 IWZDZ1AL 5. PIERWSZY PROGRAM int main (void) int oznacza, że funkcja zwróci (tzn. przyjmie wartoś
38347 Image96 (4) Programowanie ■ Programowanie ■ Listing J OJ modyf ikacjo funkcji h» led GetSpec S
39153 str 3 dla programistówr Listing 1. „Hello World" w trybie graficznym, stworzone z wykorzy

więcej podobnych podstron