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



Teraz jest 12 gru 2024, o 14:17


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 31 mar 2022, o 20:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Ludziska, natknąłem się na taki problem ze wskaźnikami i z tablicami, a mam ich kilka do przekazania.
Otóż przy testach było mi wszystko jedno (i łatwiej), bo każda tablica była w RAM zdefiniowana w locie
i pod nią skok do procedury. Wygląda to mniej więcej tak (i oczywiście działa):

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


Procedura która to odczytuje 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.


Ponieważ skończyłem już etap programowania efektów chciałem to zoptymalizować i uporządkować czyli wszystkie tablice (jest ich około 15) wywalić na początek programu i przenieść do flasha czyli:

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


i za cholerę nie wiem jak to zrobić, bo sieje mi błędami przy procedurze i przekazywaniu parametru.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2022, o 20:49 
Offline
Moderator
Avatar użytkownika

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

sieje ci błędami ale nie pokazujesz jakie - więc ciężko coś wprost pomóc. Mogę tylko zgadywać, że nie dałeś np argumentom funkcji również specyfikatora const

_________________
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: 31 mar 2022, o 22:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Na początek takie coś i nie mam pojęcia co z tym zrobić. Przeniosłem tylko tablicę na początek programu (jak w pierwszym poście)
Obrazek

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2022, o 22:36 
Offline
Moderator
Avatar użytkownika

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

a no to dobrze zgadłem ;)

Cytuj:
void melo(uint8_t ile, uint8_t tempo, const uint8_t *melodia, uint8_t repeat)


i komunikat mówi ci o tym właśnie wprost że brakuje const - niezgodność typów.


Autor postu otrzymał pochwałę

_________________
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: 31 mar 2022, o 22:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Heh, i jasne :) Próbowałem tak robić tylko, że zapomniałem dodać "const" w deklaracji na górze i mi na czerwono wywalał tą linię już zmodyfikowaną - to mnie zmyliło :)


To dodam jeszcze w kwestii uzupełnienia tematu dla potomnych i dla wszelakiej jasności, że po takiej modyfikacji należy jeszcze nie zapomnieć o prawidłowym odczycie danych z tablicy czyli w moim przypadku linia z pierwszego postu powinna wyglądać:

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


a żeby to w ogóle ruszyło to potrzeba dołączyć też na początek :

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


Dzięki Mirek! Jak zwykle można na Ciebie liczyć :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2022, o 11:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

A tak to wyszło :)



Zrobiłem tą bibliotekę do konkretnego projektu, którego parametry i założenia opracowywałem przez kilka tyg. na początku roku 2020, potem brak czasu i od kilku tygodni znowu działam. Obecnie czekam na zamówione płytki od chińczyka, a w między czasie zająłem się tym co mogę na sucho bez gotowej elektroniki oprogramować. Wszystkie dźwięki są syntezowane (żadnych sampli) i oczywiście odtwarzane niezależnie w tle programu. O ile odgrywanie melodyjek to banał to już w związku z szumnymi efektami itp. musiałem sobie przypomnieć jak to się na commodore w latach 90 robiło :) Do dyspozycji tylko jeden sprzętowy port PWM na TIMER1, i minimalny interwał wywołania procedury na jaki mogę tu sobie pozwolić to 1ms, bo na inne duperele musi być czas... W projekcie jeszcze będzie 9x 74hc595 do świecenia i czytania klawiszy, 48x WS2811 w obudowach przewlekanych 5mm (przyszły mi w zeszłym tyg. - są zarąbiste) i jeszcze parę innych drobiazgów bezpośrednio pod piny podpiętych, a wszystko docelowo na Atmega328.

_________________
http://www.sylwekkuna.com



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