Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 26 gru 2024, o 06:21


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 29 sty 2013, o 22:02 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Witam

Otóż ostatnio bawię się przetwornikami DAC na I2C, i właśnie za niedługo zabiorę się za 12-bitowy układ MCP4725.

I tutaj mam pewien problem, na początek kawałek Datasheet - MCP4725, żeby naświetlić problem:

Obrazek

Jak widzicie komunikacja z układem odbywa się następująco: Pierwszy bajt to adres układu, drugi bajt to kawałek konfiguracji i początek nadawania liczby do przetworzenia, trzeci bajt to najmłodsze osiem bitów tejże liczby.

I teraz tak, o ile wysłanie adresu i konfiguracja to oczywista rzecz, o tyle trochę zastanawia mnie wysyłania 12 bitowej liczby do przetworzenia.

Dajmy na to mam pętle for w której co 100mS zwiększam liczbę do przetworzenia o 1. I tutaj pojawia się problem bo o ile adres zawsze będzie ten sam to bity 2 i 3 muszą ze sobą współgrać. Więc muszę moją liczbę podzielić i dodatkowo wpakować do dwóch bajtów. Np. gdy bawiłem się 8-bitowym układem PCF8591P, to tam sprawa jest jasna, pierwszy bajt adres, drugi konfiguracja, trzeci to liczba do przetworzenia.

W tym wypadku potrzebuję współgrania ze sobą tych dwóch bajtów. Znacie może jakiś ciekawy sposób żeby obsłużyć w ten sposób taki przetwornik?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2013, o 22:09 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Trzeba sobie upakować bity ;) co za kłopot ? w niebieskiej książce

http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

masz takie kombinacje pokazane ładnie na przykładzie pakowania i rozpakowywania bitów przy omawianiu nadajnika i odbiornika podczerwieni. Skorzystaj z tego ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2013, o 22:13 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Hmmm robiłem z książki RC5 a nie pamiętam o takim sposobie :)

Jutro dam znać co wykombinowałem :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2013, o 22:27 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

No no - może zapomniałeś dlatego piszę - popatrz sobie też w kodzie na DVD jak są opisane upakowane bity w ramce na dwóch bajtach

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


widzisz ? ;) i trzeba to i jakoś nadawać i jakoś odbierać

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO