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



Teraz jest 4 gru 2024, o 23:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 8 gru 2012, o 11:48 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Witam
Jako że w projekcie który robię potrzebny mi jest zapis danych do zewnętrznego eeproma to postanowiłem go okiełznać wraz z Icz. książki. Program Pana Mirka przerobiłem gdyż nie potrzebuje RTC. Program działa świetnie zapisuje tablice do eproma i ja potem czyta. Jednak ja potrzebuje zapisać tylko jedna zmienną naraz a nie tablicę do eproma tak więc postanowiłem napisać własną funkcje zapisującą zmienną do eproma.
Na początek napisałem ją w programie a nie w typie void. Użyłem do tego celu 2 atmeg 32 aby mieć 100% pewność że zapis i odczyt działa poprawnie. Program działał poprawnie, wiec postanowiłem umieścić te procedurę w typie void tak jak jest to umieszczone w programie z płyty. I tu pojawił się kłopot bo przestało chodzić. Nie wiem co zrobiłem źle i nie wiem czy przy zapisie jest kłopot czy przy odczycie.
Program jest napisany na jedna atmege32 zapis/odczyt
Ja użyłem pamięci eeprom 24C16 oraz sprzętowej obsługi I2C
Oto program
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Proszę o pomoc

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2012, o 00:32 
Offline
Moderator
Avatar użytkownika

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

Janadamis napisał(a):
Witam
Jako że w projekcie który robię potrzebny mi jest zapis danych do zewnętrznego eeproma to postanowiłem go okiełznać wraz z Icz. książki. Program Pana Mirka przerobiłem gdyż nie potrzebuje RTC. Program działa świetnie zapisuje tablice do eproma i ja potem czyta. Jednak ja potrzebuje zapisać tylko jedna zmienną naraz a nie tablicę do eproma tak więc postanowiłem napisać własną funkcje zapisującą zmienną do eproma.


No tak - jest takie przysłowie - "nie miała baba kłopotu, to sobie go narobiła" ;)

powiedz mi pan - po kiego grzybka wpadł ci tak karkołomny pomysł do głowy ????

skoro wszystko dobrze działa a ty potrzebujesz zapisać TYLKO JEDNĄ zmienną a nie całą tablicę zmiennych - to co za problem zapisać tablicę o jednym elemencie ???????????????? no i masz swoją zmienną .....

na prawdę strasznie ciężko mi nawet zabrać się za analizę tych fantasmagorii poniżej .....

Powiedz mi czym się różni z punktu widzenia realizacji twojego celu

jedna zmienna

od

tablicy jedno-elementowej

hmmmm ? ;)

_________________
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: 9 gru 2012, o 09:33 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Wiem że mogę zapisać jeden element w tablicy i tak tez będę robił ale ja chciałem spróbować napisać swoja funkcję, to chyba nie grzech?

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2012, o 10:25 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Jeśli funkcja pobiera argument liczbowy to robi kopię. I w funkcji odczytu operujesz tak naprawdę na zmiennej tymczasowej, która przestaje istnieć w momencie opuszczenia funkcji. Tablicę można pobrać tylko przez wskaźnik. Przeanalizuj takie przypadki i porównaj z tym co robisz.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2012, o 11:00 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Ok dzięki
Już rozumie o co chodzi.

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2012, o 15:36 
Offline
Moderator
Avatar użytkownika

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

Janadamis napisał(a):
... ale ja chciałem spróbować napisać swoja funkcję, to chyba nie grzech?


Pewnie, że nie grzech - ale warto jednak - gdy coś działa - wracać do tego i analizować jak działa - szybko wyszłoby ci to o czym pisze wyżej (słusznie zresztą) kolega Krauser. Czyli jakby nie mówić - apiać powrót do teorii i jak działają funkcje oraz przekazywanie do nich parametrów.

_________________
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: 10 gru 2012, o 14:48 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Ok wielkie dzięki za pomoc :)

_________________
Programowanie to styl życia :D



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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