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



Teraz jest 27 kwi 2024, o 11:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 20 lis 2016, o 11:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

cześć Koledzy

W trakcie zaniku zasilania zapisuję do wewnętrznej pamięci eeprom dwie zmienne uint16_t i uint32_t. Wiadomo, że czas ma tu znaczenie więc zastanawiam się która procedura będzie szybsza.
Zapis w postaci
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


gdzie "c" to struktura złożona ze zmiennych "a" i "b"

W pliku lss coś tam widać, ale ja jeszcze w asamblerze nie bardzo ........

pozdrawiam

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lis 2016, o 11:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

na zwykłych zmiennych, najszybciej będzie po użyciu register

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lis 2016, o 11:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 sie 2013
Posty: 230
Lokalizacja: Zabrze
Pomógł: 17

Newralgiczny czas to czas dostępu/zapisu do pamięci eeprom. Osobiście więc nie martwiłbym się czasowymi różnicami między tymi funkcjami. Ale jeśli już...
Różnice w twoich funkcjach trzeba sprawdzić w pliku wynikowym, bo dużo zależy od kompilatora. Warto też zwrócić uwagę, by funkcję zapisu wywołać bez zbędnych opóźnień, czyli np. jako inline (ale wtedy musisz mieć osobne dla zapisu wynikającego z zaniku zasilania, a inne przy normalnym - bo zżera pamięć). Dużo też zależy od tego, jak masz "stworzone" funkcje wewnątrz zapis_ram_do_eeprom() - każda funkcja wewnętrzna to mogą być kolejne skoki (i tu też warto mieć w postaci inline). Wszystko to jednak teoretyczne rozważania, bo i tak najwięcej czasu zabiera sam fizyczny zapis do eeprom.

_________________
40-32:2=4!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lis 2016, o 13:43 
Offline
Moderator
Avatar użytkownika

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

PJS napisał(a):
Newralgiczny czas to czas dostępu/zapisu do pamięci eeprom. Osobiście więc nie martwiłbym się czasowymi różnicami między tymi funkcjami.

DOKŁADNIE .... czasy w różnicach wykonania poszczególnych funkcji (tych z pierwszego postu) są tu już kompletnie nie istotne.... za to z punktu widzenia zdrowego rozsądku chyba szybciej zupę zajada się łyżką niż widelcem, bo widelcem będzie się trzeba więcej namachać ... ale też się zje .... dlatego chyba lepiej użyć łyżki - czy też pojedynczej funkcji ... niż kilku - i to nawet bez wnikania w asembler.

_________________
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 7 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