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



Teraz jest 14 lip 2020, o 05:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 24 cze 2020, o 12:06 
Offline
Nowy

Dołączył(a): 19 lut 2020
Posty: 5
Pomógł: 0

Czołem!
Od dłuższego czasu próbuję zlokalizować błąd, który powoduje problem z zapisem lub odczytem z zewnętrznego EEPROMu 24c512. Według noty pomieści on 512 stron o wielkości 128 bajtów. Moja funkcja do zapisu danych wygląda tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Czyli jeden zapis to 8 bajtów. Na końcufunkcji "EEPROM_write_values()" jest delay 5ms. Do wgrywania czegoś w rodzaju ustawień fabrycznych używam if'ów w ten sposób:
if ( cnt_2<40 ) {
if ( cnt1==1) { cl_le_status=0; lo_hi_status=0; EEPROM_write_values(); cnt1=2; }
if ( cnt1==2) { cl_le_status=0; lo_hi_status=1; EEPROM_write_values(); cnt1=3; }
if ( cnt1==3) { cl_le_status=1; lo_hi_status=0; EEPROM_write_values(); cnt1=4; }
if ( cnt1==4) { cl_le_status=1; lo_hi_status=1; EEPROM_write_values(); cnt2++; cnt1=1; }
}

Problem polega na tym, że cyklicznie w "tym samym" miejscu dane zapisują się lub odczytują inaczej niż mam wpisane. Problem dotyczy tylko bitów nr 4 i 5 czyli "values_buffer[4]" i "values_buffer[5]" i tylko jeśli wartość licznika cnt1=4 a cnt2 jest równe 8, 16, 24, 32 lub 40 (więcej nie używam). Myślę, że rozwiązałbym problem przesuwając dane w komórkach adresowych w tych miejscach, ale to zajęłoby trochę kodu.
Może ktoś widzi gdzie leży problem i byłby w stanie nakierować?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2020, o 20:01 
Offline
Nowy

Dołączył(a): 19 lut 2020
Posty: 5
Pomógł: 0

Problem rozwiązany, można usunąć ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2020, o 21:14 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2175
Pomógł: 101

Napisz jak-będzie dla potomnych.



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

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