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
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.