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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 12 cze 2025, o 14:28


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 17 paź 2014, o 16:29 
    Offline
    Użytkownik

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

    Witam,
    Natknąłem się na ten wątek: posting.php?mode=reply&f=23&t=3419 , szukając informacji na temat tablicowania ( a są one mi potrzebne na "gwałt"). Programuje mikrokontrolery STM32. Dodałem następujące linie:

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


    Po czym skompilowałem i uzyskałem 48 warrningów treści:
    Cytuj:
    ...\values.txt:1:1: warning: (near initialization for 'sin_tab[0]') [enabled by default]
    ...\values.txt:2:1: warning: initializer element is not a constant expression [enabled by default]

    Skąd tyle ostrzeżeń ? Jak się tego pozbyć i jak podejść do zagadnienia ? Przepraszam za może laickie pytanie, ale w życiu nie operowałem "czynie" (czyli tylko wgrywałem gotowy kod do flash :P) na pamięci flash. Odnośnie samej metodyki tablicowania - wiem tylko tyle, że tworzy się tablice stałych, wgrywa do pamięci stałej, aby potem ją wykorzystywać w programie - zmniejszając obciążenie MCU. Tyle z mojej wiedzy na ten temat niestety... Czy są jakieś dodatkowe haczyki ? Mógłby ktoś wytłumaczyć łopatologicznie całą metodę tablicowania ?
    Z góry dziękuje.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 paź 2014, o 16:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 kwi 2013
    Posty: 418
    Lokalizacja: Rzeszów
    Pomógł: 102

    Kolega przypadkiem nie zapomniał dodać "PROGMEM" skoro dane mają trafić do pamięci FLASH...?

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

    Nie programuje ARM stąd może nietrafiona podpowiedź i ten atrybut nazywa się inaczej ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 paź 2014, o 16:59 
    Offline
    Użytkownik

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

    Właśnie miałem dodać: wyczytałem, że STMy nie potrzebują komendy PROGMEM w celu zapisu danych do pamięci FLASH. Robią to same po napotkaniu "const"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 paź 2014, o 18:59 
    Offline
    Użytkownik

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

    No właśnie ... wolałbym jednak uniknąć sztywnego "wklepywania" wartości do pliku.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 paź 2014, o 20:23 
    Offline
    Użytkownik

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

    No tak będę robił. Czyli dla jasności - nie ma możliwości zrobienia czegoś takiego: wylicz np. w podprogramie 512 wartości funkcji "k", a następnie wgraj je do FLASH jako const ? Ehh... a niby ARM jest bardziej wielofunkcyjny :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 paź 2014, o 18:03 
    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

    Forfiter napisał(a):
    Czyli dla jasności - nie ma możliwości zrobienia czegoś takiego: wylicz np. w podprogramie 512 wartości funkcji "k", a następnie wgraj je do FLASH jako const ?

    Jest taka możliwość. Kolega mokrowski przecież to właśnie napisał. Nie potrzeba do tego ARMaty i nie jest to MEGA problem dla ATMEGI. Wystarczy zdefiniować tablicę pod określonym adresem we flash i podczas startu programu zapisać ją tak jak robi to bootloader. To że podczas startu zostaną wykonane długie i skomplikowane obliczenia nie będzie miało znaczenia. Dla ARM, które w większości nie posiadają EEPROM są dostępne funkcje emulujące tą pamięć więc jest jeszcze łatwiej.

    _________________
    Dragonus Cracovus: Biomagia



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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