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



Teraz jest 28 gru 2024, o 13:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 5 gru 2012, o 16:45 
Offline
Nowy

Dołączył(a): 05 gru 2012
Posty: 2
Pomógł: 0

Witam
Mam problem z uruchomieniem komunikacji I2C, sytuacja jest nastepująca :
wykorzystuję układ Atmega 169p linia SCL to port PE6, linia SDA port PE7 łączę się z czujnikiem ciśnienia - hscsann015pa2a3 /Honeywell/ adres urządzenia 0x28, odczytu dokonuję w przerwaniu wywoływanym co 0.25 sek.
o ile dobrze zrozumiałem program do komunikacji I2C z książki Pana Mirka to w buforze, przechowywana jest wartość , kolejnych bajtów odczytywanych z urządzenia na magistrali I2C. U mnie bez względu czy czujnik jest podłączony , czy nie, wartość bufora jest taka sama
nie wiem jaki błąd popełniam...
schemat połączenia czujnika do kontrolera:
[img][IMG]http://img405.imageshack.us/img405/6928/schematlf.th.jpg[/img][/img]

To jest jedna sprawa, a druga to właściwy adres pierwszej komórki pamięci czujnika którą mam odczytać. Zgodnie dokumentacją czujnika, na dwóch najstarszych bitach pierwszego bajtu (S0,S1), można przeprowadzić diagnostykę czujnika, która jest opcjonalna i można ją na tym etapie pominąć
Nie do końca rozumiem pojęcie sub-adresu – jeśli mogę prosić o przykład, jak w tym wypadku, chcąc odczytać wynik w rozdzielczości 12Bit wyglądało by adresowanie i odczyt poszczególnych komórek…
tak wygląda organizacja pamięci w czujniku hscsann015pa2a3
[img][IMG]http://img809.imageshack.us/img809/9580/hscs.jpg[/img][/img]

program główny

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2012, o 17:15 
Offline
Moderator
Avatar użytkownika

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

Ale panie kolego - ja w książce opisywałem dwa różne przypadki podejścia do programowania przez I2C dwóch różnych urządzeń jakimi były RTC (konkretnie PCF8583) oraz pamięć EEPROM (konkretnie 24c04), i przecież przede wszystkim pisałem że to nie jest jakiś UNIWERSALNY sposób na odczyt z dowolnego urządzenia I2C. Dlatego pokazałem na dwóch przykładach, że już nasze funkcje do odczytu konkretnych urządzeń mogą się bardzo różnić w zależności od specyfikacji w PDF tych układów. Przecież nawet całkowicie inaczej obsługuje się np EEPROM 24c512 od 24c04 a co mówić o jakichś jeszcze innych układach ???

tu gotowe funkcje z książki nie pomogą - ja chciałem pokazać na dwóch przykładach jak samemu podchodzić do czytania PDF'a i pisania samemu sobie takich funkcji. Taki jest cel przekazu w książce a nie przedstawienie gotowej uniwersalnej biblioteki I2C do odczytu wszystkiego - bo to po prostu niemożliwe.

Więc polecam przede wszystkim zająć się jednak bardzo dokładną analizą tego jak się z tym czujnikiem dogadywać po I2C, co się wysyła najpierw co potem, jak się to odczytuje itp.... no nie ma innego wyjścia

_________________
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: 5 gru 2012, o 21:09 
Offline
Nowy

Dołączył(a): 05 gru 2012
Posty: 2
Pomógł: 0

różnice pomiędzy oboma przykładami zawartymi w książce są dla mnie zauważalne, oczywiście mam pdf dotyczący powyższego układu, jakkolwiek niewiele więcej dotyczącego samej komunikacji niż to o czym napisałem jest w nim zawarte.... liczyłem raczej na to że któryś z bardziej doświadczonych kolegów będzie umiał coś z tego więcej wyczytać - może coś podpowiedzieć, a korzystając z przykładu książkowego, próbowałem tylko się na czymś działającym wzorować



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2012, o 21:31 
Offline
Moderator
Avatar użytkownika

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

no ale tzn co podpowiedzieć - ? coś odnośnie twojego czujnika którego np ja nie znam ? - musiałbym teraz w jego notę zaglądać, analizować itp czy o to tobie chodziło ? jeśli tak to jest mały kłopot bo ja nie mam za bardzo na takie rzeczy czasu :(

Ale zapytam inaczej, mówisz że różnice są zauważalne między dwoma przykładami książkowymi ale rozumiesz je dokładnie jak działają ?

Czy robiłeś testy we własnym zakresie na chociaż jednym z nich żeby się temu bliżej przyjrzeć ?

czy nic nie robiłeś tylko przeczytałeś i od razu zabrałeś się za swój scalak/czujnik ?

_________________
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 4 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO