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



Teraz jest 23 sty 2026, o 18:51


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 22 sie 2013, o 12:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 60
Pomógł: 0

Witam.
Postanowiłem troszkę pobawić się układem PCF8583, jednakże niefortunnie nic nie idzie zgodnie z moim planem. :(
Komunikacja z układem zachodzi, gdy chcę ustawić godzinę jest ona poprawnie wyświetlana na LCD, jednak problem pojawia się podczas odczytu. Zamiast prawidłowej godziny widzę 165:165:165, dodam tylko, iż zaglądałem do kodu pana Mirosława i jak na chwilę obecną, nie mogę znaleźć błędu... Zamiast przerwania INT0 użyłem INT1, ponieważ INT0 nie działało, zresztą jak i INT1 również nie działa (sprawdziłem za pomocą diody LED, co widać na poniższym kodzie). Układ RTC generuje przerwanie dokładnie co jedną sekundę, co również sprawdziłem na uniwersalnym debuggerze, czyli diodzie LED). Baterii/kondensatora podtrzymującego na chwilę obecną nie używam. Problem tkwi w przerwaniu, ponieważ nie pracuje prawidłowo (praktycznie wogóle) oraz w funkcji odczytu danych z RTC, czyli I2C_read_buf(...).
Szukałem w internecie, na forum i nic nie wskórałem, próbowałem zmieniać adres z 0xA2 na 0xA0, dodam, że pin A0 układu RTC zwarty jest z VCC (tak wynika ze schematu płytki testowej EvB 4.3 firmy And-Tech, którą zakupiłem jeszcze ucząc się Bascoma).
Proszę o pomoc, czy też porady, gdyż wszelkie starania są znikome...

Kod programu:
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: 22 sie 2013, o 12:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

A komunikujesz się po sprzętowym I2C czy po programowym ?
W nagłówkach deklarujesz użycie obydwu.


W swoim kodzie odczytujesz programowe I2C.

_________________
50 znaków Atnela ....



Ostatnio edytowano 22 sie 2013, o 12:39 przez acid3, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2013, o 12:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 60
Pomógł: 0

Cytuj:
A komunikujesz się po sprzętowym I2C czy po programowym ?
W nagłówkach deklarujesz użycie obydwu.

Wcześniej próbowałem ze sprzętowym, ale nic się nie działo, tzn. nic nie wyświetlało. Oczywiście zapomniałem usunąć nagłówek z użyciem TWI, w tym przypadku komunikuję się po programowym I2C.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2013, o 12:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

Antystatyczny napisał(a):
i2c_init(100) o ile dobrze pamietam. Nie przekazałeś prędkości do funkcji inicjalizującej i2c.



i2cSetBitrate(100);

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2013, o 12:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 60
Pomógł: 0

Antystatyczny napisał(a):
i2c_init(100) o ile dobrze pamietam. Nie przekazałeś prędkości do funkcji inicjalizującej i2c.

Chyba znowu przeoczyłem jakąś aktualizację, ponieważ w książce argument funkcji i2c_init jest typu void.

------------------------ [ Dodano po: kilkunastu sekundach ]

acid3 napisał(a):
i2cSetBitrate(100);

Dzięki, poszukam w dostępnych aktualizacjach do bluebook'a.

------------------------ [ Dodano po: 6 minutach ]

Niestety, po dodaniu funkcji i2cSetBitrate(100); nic się nie dzieje, nadal to samo - przypuszczam, że jest problem z przerwaniem. Proszę o pomoc ! :(

------------------------ [ Dodano po: 35 minutach ]

Zegarek zaczął tykać po zamienieniu fukncji I2C_read_buf(); na TWI_read_buf();. Ciekawi mnie jednak, dlaczego programowa obsługa I2C przy odczycie nie przynosi rezultatu? (przy zapisie jest OK).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2013, o 14:54 
Offline
Moderator
Avatar użytkownika

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

robert95 napisał(a):
Ciekawi mnie jednak, dlaczego programowa obsługa I2C przy odczycie nie przynosi rezultatu? (


a jakie masz taktowanie procka ? jeśli 8MHz tak jak tworzona była ta biblioteka to musi działać wszystko. A jeśli większe np 16MHz to niestety trzeba sobie lekko zmienić kod opóźnień w tej bibliotece aby dostosować do taktowania procka

_________________
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: 22 sie 2013, o 15:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 60
Pomógł: 0

mirekk36 napisał(a):
a jakie masz taktowanie procka ?

Mam większe niż 8MHz, mianowicie 16MHz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2013, o 18:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 60
Pomógł: 0

Możecie przybliżyć zagadnienie, tzn. jaką część bajtu jako opóźnienie przyporządkować Q_DEL i H_DEL lub ewentualnie gdzie tego szukać ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2013, o 19:26 
Offline
Moderator
Avatar użytkownika

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

robert95 napisał(a):
Możecie przybliżyć zagadnienie, tzn. jaką część bajtu jako opóźnienie przyporządkować Q_DEL i H_DEL lub ewentualnie gdzie tego szukać ?


No pomyśl - dwa razy większe taktowanie to można wydłużyć o drugie tyle opóźnienia

_________________
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: 1 paź 2014, o 14:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 cze 2013
Posty: 39
Pomógł: 2

Kolego robert95 odpisz czy wszystko działa, tak to nie wiadomo czy tylko tu był problem (choc prawdopodobnie tak).

_________________
:)



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: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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