Witam. Mam pewien problem, ze skomunikowaniem ATmegi z tym czujnikiem. Czytałem pokrewne posty, ale niczego one nie wnoszą do mojej sytuacji.
Najpierw przedstawię mój program, a następnie disassemblację procedury obsługi pętli opóźniającej. Procedura zaczyna się na adresie 00000054 (podświetlone na zielono). Jest to kolejne 6 instrukcji, które trwają wszystkie po jeden takt zegar, oprócz ostatniej która trwa dwa. Czyli w sumie 7 us. Do tego dochodzi wywołanie i wyjście z procedury, więc cały obieg pętli to jest (6+7*parametr)* 1 us. Chyba dobrze wnioskuję...
Niestety mimo całego dnia prób z różnymi czasami, także tymi zalecanymi przez producenta, procesor nie odebrał odpowiedzi od czujnika....
Czujnik pracuje w normalny trybie zasilana, tzn. nóżka zasilania jest podłączona do zasilania. Nie miałem zalecanego rezystora podciągającego linię danych 4.7k, więc zastosowałem 2.2k. Czy to może być powodem problemów??? Moja pula pomysłów na rozwiązanie tego problemu już się skończyła.
Acha. Dodam, że fusebity są ustawione prawidłowo i procesor na pewno pracuje z zegarem wewnętrznym 1MHz. Próbowałem też z 4MHz, oraz z zewnętrznym 7.3728 MHz... Niestety bez efektów. Sprawdzałem też na różnych nóżkach i portach ATmegi.
Najpierw przedstawię mój program, a następnie disassemblację procedury obsługi pętli opóźniającej. Procedura zaczyna się na adresie 00000054 (podświetlone na zielono). Jest to kolejne 6 instrukcji, które trwają wszystkie po jeden takt zegar, oprócz ostatniej która trwa dwa. Czyli w sumie 7 us. Do tego dochodzi wywołanie i wyjście z procedury, więc cały obieg pętli to jest (6+7*parametr)* 1 us. Chyba dobrze wnioskuję...
Niestety mimo całego dnia prób z różnymi czasami, także tymi zalecanymi przez producenta, procesor nie odebrał odpowiedzi od czujnika....
Czujnik pracuje w normalny trybie zasilana, tzn. nóżka zasilania jest podłączona do zasilania. Nie miałem zalecanego rezystora podciągającego linię danych 4.7k, więc zastosowałem 2.2k. Czy to może być powodem problemów??? Moja pula pomysłów na rozwiązanie tego problemu już się skończyła.
Acha. Dodam, że fusebity są ustawione prawidłowo i procesor na pewno pracuje z zegarem wewnętrznym 1MHz. Próbowałem też z 4MHz, oraz z zewnętrznym 7.3728 MHz... Niestety bez efektów. Sprawdzałem też na różnych nóżkach i portach ATmegi.