Witam!
Mam problem z odbiorem ramki odpowiedzi (jakiej kolwiek) z DS1302.
Wygląda ona mniej więcej tak:
1. Linia IO jest konfigurowana jako wyjście z zewnętrznym rezystorem 10kΩ do +5V podczas zapisu do DSa
2. podczas odczytu jest to wejście bez wew. podciągnięcia.
DS generuje szpilki (króciutkie), które AVR odczytuje jako ustawiony bit nawet wtedy, kiedy nie jest ustawiony (patrz załączony rys.).
DS odpowiada (np. sekundy) - wartością 0x00 (BCD) - pomiomo to AVR odbiera 0xFF
Nadmieniam, że z AT89c2051/4051 nie było problemów, przebiegi (oscylogramy) były identyczne, tylko AVR jest ponad 2x szybszy.
Inny układ na ATmega128 - działa - nie mam przebiegów
więc nie porównam, ale na pewno tak samo odpowiada. Funkcje takie same, tylko pinout inny.
µK działa z zew. rezonatorem 11.059 (tak, jako i 2051 działał)
Schemat kodu:
Po sekwencji zapisu do dsa:
linia IO ustaw jako wejście
RST=1
CLK=0
i=1
W pętli 8 razy
{
Sprawdź IO, jeżli 1 to
wynik += i
i*=2
CLK=1
CLK=0;
}
Na 51 taki schemat dawał pozytywne wyniki. 2313 nie chce współpracować
Zrobiłem sobie nawet układ testowy z wyświetlaczem VFD - odczytuję dokładnie to, co wpada na port - i jes to niestety 0xFF
Czy ktoś miał podobny problem? Bo nie wierzę, że w 2313 siedzi 'inna' elektronika niż mega128
Mam problem z odbiorem ramki odpowiedzi (jakiej kolwiek) z DS1302.
Wygląda ona mniej więcej tak:
1. Linia IO jest konfigurowana jako wyjście z zewnętrznym rezystorem 10kΩ do +5V podczas zapisu do DSa
2. podczas odczytu jest to wejście bez wew. podciągnięcia.
DS generuje szpilki (króciutkie), które AVR odczytuje jako ustawiony bit nawet wtedy, kiedy nie jest ustawiony (patrz załączony rys.).
DS odpowiada (np. sekundy) - wartością 0x00 (BCD) - pomiomo to AVR odbiera 0xFF
Nadmieniam, że z AT89c2051/4051 nie było problemów, przebiegi (oscylogramy) były identyczne, tylko AVR jest ponad 2x szybszy.
Inny układ na ATmega128 - działa - nie mam przebiegów
µK działa z zew. rezonatorem 11.059 (tak, jako i 2051 działał)
Schemat kodu:
Po sekwencji zapisu do dsa:
linia IO ustaw jako wejście
RST=1
CLK=0
i=1
W pętli 8 razy
{
Sprawdź IO, jeżli 1 to
wynik += i
i*=2
CLK=1
CLK=0;
}
Na 51 taki schemat dawał pozytywne wyniki. 2313 nie chce współpracować
Zrobiłem sobie nawet układ testowy z wyświetlaczem VFD - odczytuję dokładnie to, co wpada na port - i jes to niestety 0xFF
Czy ktoś miał podobny problem? Bo nie wierzę, że w 2313 siedzi 'inna' elektronika niż mega128