Witam!!!
Programowaniem w C zajmuje sie od niedawna. i problem jest taki:
DDRD=0x7C; // co to jest to 0x7c skad to się wzieło czy to jest umieszczone w pdf
danego mikrokontrolera
PORTD=0x7c; // to samo w tej linii
_delay_loop_2(0xfff); // wiem ze to jest funkja opóżniająca a to (0xfff) po co jest
skad sie to wzieło
Początki w WinAVR
-
ZbeeGin
0x7C to liczba zapisana w formacie szestanstkowym. W tym konkretnym przypadku jest to wartość jaką nadaje się rejestrowi DDRD w celu ustalenia, które linie tego portu mają być wejściami a które wyjściami. 0x7C to w zapisie binarnym: 01111100 (w nomenklaturze języka C: 0b01111100), czyli:Sebastian_P pisze:DDRD=0x7C; // co to jest to 0x7c skad to się wzieło czy to jest umieszczone w pdf
danego mikrokontrolera
- wejściami są: PD7, PD1, PD0
- wyjściami są: PD2 do PD6.
Jest to jak widać pośrednio umieszczone w PDF danego kontrolera, gdyż wynikła liczba jest ozdwierciedleniem założeń co do kierunków pracy portów: 0 - wejście, 1 - wyjście.
0xfff to parametr - stały w tym wypadku, gdyż zapisany jako liczba jawna - określająca czas opóźnienia w jednostkach ustalonych przez zasadę działania funkcji _delay_loop_2(), mogą to być takty, milisekundy, mikrosekundy. 0xfff to nic innego jak liczba szesnastkowa, która w systemie dziesiętnym - naturalnym - wynosi 4095. Jeśli zatem przykładowo _delay_loop_2() odlicza mikrosekundy to czas opóźnienia będzie wynośił około 4095µs.Sebastian_P pisze:_delay_loop_2(0xfff); // wiem ze to jest funkja opóżniająca a to (0xfff) po co jest
-
Sebastian_P
- -
- Posty: 4
- Rejestracja: 06 sty 2006, 21:30
-
ZbeeGin
Dla uściślenia:
0b0011 - liczba w ststemie binarnym (dwójkowym), może się składać kombinacji z cyfr 0 oraz 1. W tym systemie wagą jest potęga liczby 2.
0o337 - liczba w systemie ósemkowm, może się składać z kombinacji cyfr 0,1,2,3,4,5,6,7, W tym systemie wagą jest potęga liczby 8.
0xABCD - liczba w systemie szensnastkowym (heksadecymalnym), może się składać z kombinacji cyfr 0,1,2,3,4,5,6,7,8,9 oraz znaków A (10),B (11),C (12), D (13), E(14), F (15) które są brakującymi "cyframi" w tym systemie, o wartościach dziesiętnych podanych w nawiasach. W systemie tym wagą jest potęga liczby 16.
Liczby naturalne - w systemie dziesiętnym - są zapisywane tak jak są. A wagą naturalnego systemu są oczywiście potęgi liczby 10.
Zatem każdą liczbę można przedstawić jako:
100 = 1 × 10^2 + 0 × 10^1 + 0 × 10^0
0xFFA = F × 16^2 + F × 16^1 + A × 16^0 = 3840 + 240 + 10 = 4090
A teraz poćwicz sam:
0b00110011 = ?
0xAABBCC = ?
0o2374 = ?
---------------
Materiał szkoleniowy dla Ciebie znajduje się tu: http://www.programuj.com/artykuly/rozne/sysliczb.php
0b0011 - liczba w ststemie binarnym (dwójkowym), może się składać kombinacji z cyfr 0 oraz 1. W tym systemie wagą jest potęga liczby 2.
0o337 - liczba w systemie ósemkowm, może się składać z kombinacji cyfr 0,1,2,3,4,5,6,7, W tym systemie wagą jest potęga liczby 8.
0xABCD - liczba w systemie szensnastkowym (heksadecymalnym), może się składać z kombinacji cyfr 0,1,2,3,4,5,6,7,8,9 oraz znaków A (10),B (11),C (12), D (13), E(14), F (15) które są brakującymi "cyframi" w tym systemie, o wartościach dziesiętnych podanych w nawiasach. W systemie tym wagą jest potęga liczby 16.
Liczby naturalne - w systemie dziesiętnym - są zapisywane tak jak są. A wagą naturalnego systemu są oczywiście potęgi liczby 10.
Zatem każdą liczbę można przedstawić jako:
100 = 1 × 10^2 + 0 × 10^1 + 0 × 10^0
0xFFA = F × 16^2 + F × 16^1 + A × 16^0 = 3840 + 240 + 10 = 4090
A teraz poćwicz sam:
0b00110011 = ?
0xAABBCC = ?
0o2374 = ?
---------------
Materiał szkoleniowy dla Ciebie znajduje się tu: http://www.programuj.com/artykuly/rozne/sysliczb.php