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



Teraz jest 29 lis 2024, o 15:28


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 128 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona
Autor Wiadomość
PostNapisane: 27 sty 2014, o 10:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

mirekk36 napisał(a):
sieja napisał(a):
po dodaniu _delay_ms(7); wszystko zaczęło się układać


No to teraz drugą łapkę ci urwę ;) ... a co? w poradniku nie było tego delaya ??? :twisted: 8-)


było :) tym bardziej mi głupio :) ale na wcześniejszych przykładach z _delay_us(100); za czorta nie działało (trzeci poradnik)
nie mniej nie łapkę a łepek powinno mi się urwać ;) karze poddaje się dobrowolnie ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 11:09 
Offline
Moderator
Avatar użytkownika

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

sieja napisał(a):
karze poddaje się dobrowolnie


No to chyba wiesz jaka jest domyślna kara na naszym forum ? ...

zrób 20 pompek i będzie ok :lol:

_________________
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: 27 sty 2014, o 11:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 446
Lokalizacja: DKL
Pomógł: 53

Ja tam bym łapek nie odrywał, te mogą się przydać np. do pisania kodu w Eclipsiku.
Pompki mogą być, tylko trzeba udokumentować po czym wrzucić na YouTube i link podać.

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 11:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

matw napisał(a):
Ja tam bym łapek nie odrywał, te mogą się przydać np. do pisania kodu w Eclipsiku.
Pompki mogą być, tylko trzeba udokumentować po czym wrzucić na YouTube i link podać.


Ojojoj to się wpakowałem z tymi pompkami:/ :)

Może jako zadośćuczynienie dodam coś co wyskrobałem przed minutką :)

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


i filmik (kurcze nie wiem czemu w tak słabej jakości :( )




Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 12:21 
Offline
Moderator
Avatar użytkownika

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

BRAWO sieja ! ;) .... brawo ...

to się nazywa odrabianie zadań domowych ;) fajnie sobie poradziłeś tworząc tą funkcję serpixel()

sieja napisał(a):
void setpixel(int num, int color)


ale niestety tu wyłazi brzydkie przyzwyczajenie programowania z arduino, więc mam nadzieję, że się nie obrazisz jeśli zwrócę uwagę - a resztę to doczytasz z Bluebooka jak już go zdobędziesz bo na prawdę warto zacząć myśleć w języku C

co jest źle w tej linii kodu ?

typy - panie kochany typy ....

pomyśl po co przekazywać argumenty z typem int (przecież ten typ ZŻERA aż DWA BAJTY!) ... podczas gdy przesyłasz i tak liczby nigdy nie większe niż 255 zgadza się ??? a więc spokojnie zmieściłyby się w typie uint8_t .... postaraj się sobie to zapamiętać jako KOLEJNĄ WAŻNĄ WSKAZÓWKĘ na start drogi jaką rozpoczynasz czyli nauka języka C dla procków ...

bo akurat ten przypadek jest o tyle ważny - że pomyśl sobie co on powoduje

1. na stosie przy wywołaniu funkcji MUSZĄ zostać odłożone aż 4 bajty ! zamiast dwóch gdybyś typy dał uint8_t
2. taki mechanizm powoduje jak już się chyba domyślasz nie tylko niepotrzebne zjadanie stosu, który kiedyś ci się przyda ale także co jeszcze ??? - ZŻERA ci to dwa razy więcej czasu !!! minimum dwa razy :( ... a tu szczególnie to ważne bo poruszamy się przy efektach dla diod Magic LED i na końcu jak będziesz chciał osiągnąć takie super wyśrubowane efekty to przyda się każdy takt zegara
3. program zajmie więcej miejsca we Flash

a z drugiej strony pomyśl - nawet w każdym innym projekcie, który nawet nie musi być wyśrubowany - po co TRACIĆ, skoro wystarczy tylko pamiętać jak dobierać typy .... A niestety Arduino przyzwyczaiło cię do chwytania za typ int jak za "kromkę chleba" na śniadanie - prawda ? ;) .... czas więc wyplenić ten nawyk ;) nieprawdaż .... walcz z nim od razu ogniem i mieczem ;)

_________________
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: 27 sty 2014, o 12:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

To fakt brzydkie przyzwyczajenie z arduino :) szczerze mówiąc przed poradnikami z Magic LED nigdy jeszcze nie pisałem nic w eclipse w czystym C... Zawsze moje zabawy zaczynały i kończyły się na arduino :/ no ale pora to zmienić :)

mam jeszcze tylko jedno pytanie czy wgrywając kod do arduino(właśnie ten co na filmiku) mogłem skasować bootloader?
bo za nic w świecie nic mi nie chce teraz wgrać na arduino tylko ten błąd wywala :/

wiem wiem powienienem starać się zacząć pisać w czystym C ale w arduino mam kilka projektów a do nich gotowe biblioteki do arduino...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 13:00 
Offline
Moderator
Avatar użytkownika

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

sieja napisał(a):
mam jeszcze tylko jedno pytanie czy wgrywając kod do arduino(właśnie ten co na filmiku) mogłem skasować bootloader?


Na pewno skasowałeś bootloader ... ale czego się obawiasz ? jak masz normalny programator to możesz równie dobrze wgrywać albo projekty z arduino na żywca przez ten programator i bez ŻADNEGO bootloadera ;) będzie szybciej

albo jak się uprzesz to możesz sobie ten bootloader znowu wgrać ... tylko zastanawiam się po co ... skoro można bez niego ? ;)

_________________
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: 27 sty 2014, o 13:05 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Jest wygodniej: programowanie, zasilanie i komunikacja przez serial na jednym kablu. Mniej rupieci na biurku, mniej plączących się kabli, po zabawie można zabawki szybko zwinąć i schować do szuflady.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 13:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

mirekk36 napisał(a):
jak masz normalny programator to możesz równie dobrze wgrywać albo projekty z arduino na żywca przez ten programator i bez ŻADNEGO bootloadera


No właśnie tak próbowałem :) ustawiłem "płytka arduino uno" programator USBasp i cieniutko :/
nie wiem czy nie będę musiał poszukać hardware do 328p do arduino i zaznaczyć sam procesor zamiast tak jak teraz płytkę arduino...

------------------------ [ Dodano po: 12 minutach ]

Znalazłem rozwiązanie :)

Cytuj:
Tools->Board->Arduino UNO (or whatever Arduino board you are programming)
Tools->Programmer->USBasp
Tools->Burn Bootloader

Then you can upload sketches with:

Tools->Board->Arduino UNO (or whatever Arduino board you are programming)
Tools->Programmer->USBasp
File->Upload Using Programmer


Przy okazji wgrałem kod z eclipsea i totalnie się diody rozjechały pod arduino :/
pod eclipse gra i buczy :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 13:25 
Offline
Moderator
Avatar użytkownika

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

sieja napisał(a):
No właśnie tak próbowałem ustawiłem "płytka arduino uno" programator USBasp i cieniutko :/


Nie pomogę w tym zakresie ale na 100000% wiem że się da i to w miarę wygodnie ... Podpytaj że kogoś w dziale Arduino na naszym forum ... zamiast się poddawać ;)

------------------------ [ Dodano po: kilkunastu sekundach ]

sieja napisał(a):
pod eclipse gra i buczy


No więc sam widzisz, że w końcu warto przejść na "JASNĄ STRONĘ MOCY" :lol:

_________________
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: 27 sty 2014, o 13:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

Pewnie że warto :D tylko wszystko zależy od posiadanej wiedzy :D ja narazie małymi kroczkami przechodzę na "JASNĄ STRONĘ MOCY" :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 18:47 
Offline
Użytkownik

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

Bardzo przyjemny odcinek.. Widzę, że kolega Mirek dochodzi do mistrzostwa w prowadzeniu poradników!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 20:13 
Offline
Nowy

Dołączył(a): 10 sty 2014
Posty: 10
Pomógł: 0

Podepnę się jeśli mogę - mam Bluebooka od piątku dopiero, przerobiłem przykłady z zaświecaniem LED, dodałem kilka, pozmieniałem czasy, potem przyciski itp, czyli programator działa i płytka też ;] Teraz wg poradników napisałem przykład dla WS2812 - odciąłem z taśmy 3 szt LED i podpiąłem pod port ATmegi 32 i zasilanie z płytki +5v (płytka EvB 5.1), kwarc 16MHz. Przy podłączaniu diody migną, więc niby tez ok. Eclipse niestety wyrzuca mi błędy (żeby jeszcze po polsku wytłumaczył o co mu chodzi :D) Poradźcie co źle napisałem.
WS2812.c
../WS2812/WS2812.c:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
../WS2812/WS2812.c:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
../WS2812/WS2812.c:34: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
../WS2812/WS2812.c:45: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
../WS2812/WS2812.c:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
../WS2812/WS2812.c:64: error: expected '{' at end of input
make: *** [WS2812/WS2812.o] Error 1
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

WS2812.h - syntax error linia void WS2812_init( void)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

Liczę na jakąś podpowiedź naprowadzającą co sprawdzić - kopiowałem nawet skrawki Waszych kodów i to samo pokazywało dlatego nie wiem o co może chodzić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 20:16 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Ostatnio edytowano 27 sty 2014, o 20:24 przez xor, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 20:17 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

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

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


------------------------ [ Dodano po: 3 minutach ]

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

, że nie może znaleźć plliku interrupt.h.
co nie jest takie dziwne, bo brakuje Ci ścieżki do katalogu

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 20:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

BROWAReq napisał(a):
void WS2812_init (void) {
                        WS_DIR |= WSPIN;
}


WS2812_init
powinno być z małej litery :) ws2812_init( void )

u mnie to rozwiązało Twój problem :)

------------------------ [ Dodano po: 2 minutach ]

aaa przepraszam nie zauważyłem że u Ciebie w main też jest z dużej (ja mam z małej) dlatego u mnie wywalało błąd ale po zmianie wszystko się kompilowało tak jak trzeba... daj znać czy poszedł kod :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 20:47 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

po prostu wszędzie musi być tak samo ;-)
A czy z wielkiej czy z małej to już bez znaczenia.
Ewentualnie dla czytelności kodu.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 20:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

No i tu nie masz racji :) w C/C++ niestety wielkość liter ma znaczenie :) nawet jeśli chodzi o zmienne np.
int k=1; int K=1; są to 2 różne zmienne tym bardziej przy nazewnictwie trzeba zwracać uwagę czy piszemy z małej czy z dużej



Ostatnio edytowano 27 sty 2014, o 20:52 przez sieja, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 20:51 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

sieja napisał(a):
No i tu nie masz racji :) w C/C++ niestety wielkość liter ma znaczenie :)

hihihih...
przeczytaj jeszcze raz co napisałem ;-)

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 20:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

No tak :D
hihihi zwracam honor :)
WSZĘDZIE musi być tak samo :)

ja jeszcze śpię :D to forum uzależnia! :D idę dalej spać :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 21:01 
Offline
Nowy

Dołączył(a): 10 sty 2014
Posty: 10
Pomógł: 0

Ufffff zaczęło działać - dziękuję ślicznie ;]
Faktycznie brak średnika powodował błąd;
Nie wiem dalej co z plikiem interrupt - jak go dołączyć jeszcze szukam
W pliku nagłówkowym miałem jeszcze WS PORT zamiast WS_PORT.
Co do wielkości liter - tak jak Mirko pisze ważne żeby były takie same po prostu ;]
No to teraz mogę się zacząć bawić ;]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 22:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

Cytuj:
Nie wiem dalej co z plikiem interrupt - jak go dołączyć jeszcze szukam


spróbuj
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
powinno zadziałać :) masz zaincludowany sam plik bez ścieżki (o ile sie nie myle) :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 22:15 
Offline
Nowy

Dołączył(a): 10 sty 2014
Posty: 10
Pomógł: 0

Wow - faktycznie
Pomogło ;]
Wybaczcie głupie problemy początkującego ;]
Dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 22:30 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

no przecież pisałem, że nie masz ścieżki ;-)
interrupt.h jest standardowym plikiem nagłówkowym
tak jak io.h to i ścieżka musi być taka sama ;-)
Najważniejsze, że już działa i będziesz mógł działać dalej

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2014, o 22:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 gru 2012
Posty: 188
Lokalizacja: Świnice Warckie woj. łódzkie
Pomógł: 12

Witajcie,
no i przyszła pora na mnie aby zamieścić swoje wypociny...
nie jest to moja biblioteka ja jedynie ją zmodyfikowałem i przystosowałem do działania z czystym C + wstawki asemblera oryginalny kod oraz opis pochodzi z Arduino strona autora http://www.instructables.com/id/Bitbanging-step-by-step-Arduino-control-of-WS2811-/ i pewnie wymaga jeszcze sporo pracy i przystosowania ale na obecna chwilę działa sprawnie z listwą 60 diod WS2812 wraz z ustawieniem jasności (tu zastosowano chyba najprostsze rozwiązanie... przesunięcia bitowe) oraz można stosować kolor z zapisie 24bitowym. wstawki asemblera umożliwiają osiągnięcie ~800kHz co widać na zdjęciach poniżej

bit "1"
Obrazek

bit "0"
Obrazek

tak jak wspomniałem kod testowałem na atmega128 16MHz oraz listwa 1 m ( 60diod ws2812 ) zasilanie z zasilacza ATX

Oryginalny opis oraz kod zgodnie z informacją na stronie dystrybuowany jest na licencji Public Domain więc i zmodyfikowane biblioteki takową licencje otrzymują...

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


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



ws2812_color_definitions.h

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


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


no... to chyba na tyle ... czekam na słowa krytyki ... bo na pewno coś można poprawić i zoptymalizować aby działało lepiej i sprawniej

Pozdrawiam i życzę udanych testów...

_________________
ATMEL-ICE+ATXmega256A3BU oraz dużo samozaparcia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 01:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 sie 2013
Posty: 795
Lokalizacja: Poznań
Pomógł: 59

kombinuję z kodaki i nie mogę osiągnąć efektu wyświetlania wszystkich kolorów RGB jak w tęczy, tylko rozżarzanie B, zgaśnięcie i znów rozżarzanie B + troszkę G. Na to wskazuje wyraźnie mój kod. Jak osiągnąć efekt oczekiwany przeze mnie?

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



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




Ostatnio edytowano 28 sty 2014, o 10:46 przez icer_cmg, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 08:34 
Offline
Użytkownik

Dołączył(a): 05 lis 2013
Posty: 353
Lokalizacja: Kraków
Pomógł: 6

lemurek napisał(a):
60linia: asm volatile
plik ws2812.c - Dla ATB1.04 oraz M128 Eclipse wywala błąd, że nie istnieje takie polecenie.

Dzięki za bibliotekę kolorów :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 10:28 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Cytuj:
wstawki asemblera oryginalny kod oraz opis pochodzi z Arduino strona autora http://www.instructables.com/id/Bitbanging-step-by-step-Arduino-control-of-WS2811-/

Fajnie tam jest wszystko wyjaśnione.
Albo czegoś niezrozumiałem albo we wstawce jest maly błąd, chodzi o instrukcje po "nextbyte:":
lemurek napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

breq wykonując skok zabiera dwa takty zegara więc timing instrukcji po nextbyte będzie o jeden większy:

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

W konsekwencji co ósmy puls będzie dłuższy o jeden takt czyli 62,5ns. Mieści się to w tolerancji więc wszystko będzie działać a widoczne będzie tylko na oscylogramie. Mam rację?

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 15:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 gru 2012
Posty: 188
Lokalizacja: Świnice Warckie woj. łódzkie
Pomógł: 12

Aż tak szczegółowo się nie zastanawiałem i nie analizowałem ale dziś wieczorem się temu przyjże i zobaczę jak to wygląda na oscyloskopie

_________________
ATMEL-ICE+ATXmega256A3BU oraz dużo samozaparcia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 17:24 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

Poradnik jak zwykle miodzio. Co prawda nie robie nic z tymi diodami bo ich nie mam, ale dygresja na temat optymalizacji Flash vs optymalizacja czasu wykonania bardzo sie przydala i przypomniala mi, ze mam rozgrzebany projekt gdzie moge natrafic na ten problem.


PS. Hardkorowy mirku od zapedzania do prac domowych rozwalil mnie na lopatki :)
PS2. To ten od silowania sie z callbackami? ;)



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: 128 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona

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