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



Teraz jest 29 mar 2024, o 12:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 16 cze 2012, o 15:47 
Offline
Użytkownik

Dołączył(a): 26 mar 2012
Posty: 26
Pomógł: 0

Witajcie!
Stanąłem przed problemem stworzenia obsługi dla pamięci EEPROM 24C128. Nie chodzi mi tutaj o zapis i odczyt jednej komórki pamięci. Problem tkwi w tym, że potrzebuje zapisać przykładowo tablicę 2000 bajtów. Wiem, że zapis blokowy w tych pamięciach możliwy jest dzięki buforowi 64bajtowemu i na takie paczki należy podzielić wysyłane dane. Napisałem to co zamieszczam poniżej ale zawisało na odczycie. Więc wróciłam do podstaw i używam czystych bibliotek z naszej ulubionej książki. Niestety program zawisa na odczycie. (źródeł nie podaje bo to biblioteka z książki).
Proszę o jakieś ciekawe sugestie, bo czuje, że pomijam jakiś szczegół..


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


Ok, ale kody źródłowe dajemy w znacznikach [ syntax = c ] tak na przyszłość ok? (na górze można wybrać format z pola "Listing kodu"

Za kod przepraszam, mój pierwszy taki post.
Już tłumaczę moje roztargnienie. Kod zamieszczony wyżej zawisał na oczekiwaniu w TWI_read na spełnienie while ( !(TWCR & (1<<TWINT)));. To samo działo się w bibliotece z książki ale to już moje wina :), bo dla ułatwienia wsadziłem pamięć 24C02 i nie poprawiłem właściwie adresu scalaka.

Szanowni koledzy, sprawa rozwiązana. Wszystko działa. Ale postaram się opisać dlaczego nie działało.
Związane jest to z tym co widzicie na zdjęciu poniżej.
Obrazek

Jak widać urywek noty katalogowej 24C128. Jakbym nie liczył to wychodził mi adres mojego układu równy 164 (A1=1,A0=0). Niestety okazało się, że adres układu to 172 czyli policzony zgodnie z notą aplikacyjną układu 24C02 (A2=1,A1=1,A0=0); W sumie nie wiem jak to wyjaśnić ale aplikacja działa.
POZDRAWIAM



Ostatnio edytowano 17 cze 2012, o 13:14 przez DC2002, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 cze 2012, o 16:10 
Offline
Moderator
Avatar użytkownika

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

Ale co to znaczy zwisa na odczycie ? W ogóle nic nie odczytuje ? odczytuje ale tylko krótkie fragmenty a długich nie? czy jak ?

_________________
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: 18 lip 2012, o 09:29 
Offline
Użytkownik

Dołączył(a): 26 mar 2012
Posty: 26
Pomógł: 0

Witajcie!
Brak czasu przesunął wszystko ale w końcu chciałbym pochwalić się tym co udało mi się osiągnąć. Zamieszczam działający kod dla pamięci 24c128.
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: 18 lip 2012, o 09:35 
Offline
Moderator
Avatar użytkownika

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

No i o to chodziło, Brawo! ;)

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