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



Teraz jest 25 lip 2026, o 07:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
Autor Wiadomość
PostNapisane: 7 lip 2016, o 22:20 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Na początek witam szanownych kolegów i "koleżanki" a przede wszystkim szanownego programistę, elektronika itp. Mirka (wielki podziw dla Ciebie) , gdyż tyle co się zarejestrowałem.
Po oglądnięciu bardzo mądrych poradników na YouTube niestety nie osiągnąłem celu. A jest nim zastąpienie układów LM3914 układami 74HC595.
Z góry piszę że bardzo późno zacząłem zabawę z programowaniem i nie wymagajcie zbyt wiele.
Udało mi się napisać kod do obsługi 32 LED (linijka świetlna - bargraph) , przy pomocy mikrokontrolera Atmega8 i czterech układów 74HC595 (oczywiście w języku C). Wolałbym kodu nie umieszczać tutaj ponieważ trochę się wstydzę ;-).
Wykorzystałem do niego poradnik Mirka do programowania rejestrów przesuwnych, powiem tak zabrakło mi zdefiniowania zmiennej 128 bit (uint128_t) gdyż jej nie ma. Jednak wkleję kod a co tam najwyżej się pośmiejecie.
Dane do wyświetlania segmentów led biorę z przetwornika ADC (8 bitów)
I teraz proszę kogoś (żeby nie było że chce gotowca to wkleiłem swój paskudny kod, choć działający)
o pomoc jak mogę sterować np. linijką diodową składającą się z 60 segmentów LED tymi właśnie fajnymi układami 74HC595. Dzięki za wszelkie chęci. A bym zapomniał, schematu nie wstawiałem tylko fotkę poglądową, gdyż regulując potencjometrem układ działa jak należy.

Obrazek


Cytuj:
#define F_CPU 4000000L <--- po pierwsze tego się NIGDY nie robi w kodzie - mirekk36

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lip 2016, o 03:39 
Offline
Moderator
Avatar użytkownika

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

Po drugie powiedz mi skąd pomysł na to żeby wysyłać dane do rejestrów to robić poprzez wtkorzystanie coraz obszerniejszych typów ? Już nawet uint16_t ci za mało i chciałbyś uint128_t ? :lol: .... a pomyśl jak to jest gdy trzeba wysłać do jeszcze większej ilości rejestrów dane to co? Trzeba byłoby zrobić typ np uint7532_t ? ;) a gdyby jeszcze większej ?

Pomyśl idziesz w totalnie ślepą uliczkę, to się robi DOKŁADNIE TAK samo w języku C jak w każdym protokole czy to I2C, czy RS232, czy SPI no cokolwiek

ZAWSZE robisz procedurę do wysyłania JEDNEGO (rozumiesz?) jednego bajtu ! ;) jednego. np

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


i co za problem później dane pobierać z tablicy o DOWOLNEJ długości wysyłając całą jej zawartość jedną pętlą np for()

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


Zresztą proszę cię zajrzyj do Bluebooka bo widzę, że go masz i zobacz jak to jest zrobione np w transmisji UART ... bo czym to się różni? Tam też robisz procedurę do wysyłania jednego bajtu (znaku) a później wysyłasz ciurkiem całe stringi czyli dane z tablicy ...

Poza tym obejrzyj sobie poradnik:



Pamiętaj, że warto do tego pobrać sobie darmowy program AVPlayer: http://atnel.pl/atnel-video-player.html

_________________
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: 8 lip 2016, o 21:48 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Witaj. Dziękuję za mega szybką odp.
Przed wysłaniem poprzedniego postu dwa razy oglądnąłem Twój filmik, (Ty naprawdę to kochasz, bez obrazy oczywiście) Ale niestety popłynąłem, jakbym wysyłał bajty przez interfejsy szeregowe z wykorzystaniem materiałów z poradnika to na pewno bym i ja to pokochał, ale niestety nie ogarne tego, :( będę zmuszony poszukać jakiegoś podobnego rozwiązania w sieci i go dopasować do siebie.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lip 2016, o 22:33 
Offline
Moderator
Avatar użytkownika

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

pracownik_UR napisał(a):
ale niestety nie ogarne tego,

Ale czego nie ogarniesz, tym bardziej jeśli wyżej pokazałem tobie jak to można prosto zorganizować w twoim wypadku prostą pętlą - nie spojrzałeś na kod ?

_________________
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 lip 2016, o 04:17 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Oczywiscie, spojzalem nawet wlaczylem edytor po 12 godzinnej pracy. Ale w dalszym ciagu nie mam ciemno zielonwgo pojecia jak zaswiecic segmenty linijki od pierwszej diody z dolu np. Do 50, tz. To przesuwanie starszyxh i mlodszych bitow nie chula.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 04:59 
Offline
Moderator
Avatar użytkownika

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

A po co masz przesuwać jakieś młodsze i starsze bity ? Ty cały czas widzę myślisz o zmiennej uint1128_t ;)

toż masz tablicę ... w niej bajty ... rób więc operacje na tablicy (czyli na pamięci RAM) ... to jest wygodne

i po każdej operacji na tablicy po prosu wysyłaj ją w całości bajt po bajcie

_________________
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: 12 lip 2016, o 20:01 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Witam ponownie. Jestem na wakacjach i znalazłem ciut czasu na hobby. Niestety bitwę przegrałem. A pozatym to chyba się nie da Twojego kodu wstawić w mój - muszę wysterować bity do 6 linijek diodowych po 10 led. Jeżeli to nie problem to proszę o dodatkową pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lip 2016, o 21:13 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Może tu cię coś zainspiruje?

viewtopic.php?t=7026



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lip 2016, o 13:53 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Cholera nic z tego nie będzie, jestem za cienki w te klocki, chciałem zastosować coś innego niż lm3914 bo te trochę się grzeją i w zamkniętej obudowie kilkadziesiąt sztuk to robi się mega grzejnik. Może ktoś ma inne pomysły jak z 60 diod zrobić wskaźnik bargraph.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lip 2016, o 14:34 
Offline
Moderator
Avatar użytkownika

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

No prościej niż to pokazał kolega Nefarious19 chyba się nie da. Wziąwszy pod uwagę, że Bluebooku masz podstawy komunikacji SPI, a do tego kilka poradników wideo o tym jak korzystać z kaskadowo połączonych układów 74595 no i przykładowy kod projektu kolegi .... no to nie mów, że nie da rady ;)

No chyba że po prostu za mało jeszcze może poćwiczyłeś podstaw z Bluebooka. To postaraj się poćwiczyć i zadawać po drodze pytania - albo pytać czego nie rozumiesz w kodach źródłowych których propozycję dostałeś ....

_________________
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: 13 lip 2016, o 16:56 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Przekopiowałem kod kolegi Nefarious19 dla rozpatrzenia moich wątpliwości.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wkleje dwie funkcje z tego kodu powyższego, i jaką funkcję pełnią i czy są one niezbędne.

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

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

wysłanie bajtów czy bitów.
PS. Podziwiam i dziękuje za cierpliwość do mnie ponieważ podejrzewam, że na forum elektrody dawno bym był już zbanowany.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lip 2016, o 22:25 
Offline
Moderator
Avatar użytkownika

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

pracownik_UR napisał(a):
wysłanie bajtów czy bitów.

Widząc takie pytanie to ja najpierw zapytam - czy ty wiesz co to są bajty a co to są bity ? czym to się różni ? Pytam żeby móc lepiej pomóc i zrozumieć czego nie rozumiesz.

_________________
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: 14 lip 2016, o 10:02 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

A więc dla mnie jeden bajt to jest(składa się z) 8 bitów. A z poprzedniego postu to chodziło mi o te dwie funkcje
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
,
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

jaką funkcję pełnią.
moje pytania wyszły z tego cytatu:
Składnia: [ Pobierz ] [ Ukryj ]
język actionscript
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2016, o 11:17 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Znalazłem ciekawy kod, i nie mam zamiaru wykorzystywać gotowca, tylko proszę o w mirę możliwości opisanie zasady działania poszczególnych bloków.
Wyrażenie "&amp" w funkcji void output_led_state(unsigned int __led_state) celowo ująłem w cudzysłów ponieważ po wklejeniu kodu nie chciało mi go wyświetlić. Normalnie &amp znajduje się w kodzie oryg. bez znaków "".

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2016, o 12:02 
Offline
Moderator
Avatar użytkownika

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

pracownik_UR napisał(a):
&amp

panie to efekt kopiowania kodu przez strony html a nie ciekawostka w języku C ;) .... to po prostu kawałek śmiecia który się przedostał poprzez kopiowanie i złe formatowanie kodu w html ... nie zawracaj sobie tym głowy ...

A sorki tego kodu nie będę wyjaśniał bo wg mnie jest bez sensu ... i pisany albo przez kogoś kto znał tylko arduino albo przez kogoś kto wcześniej programował tylko na PC i wykazuje się kompletnym marnotrastwem pamięci (typów) w mikrokontrolerach - podam tylko jeden przykład

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


jak widzę tu int to mnie krew zalewa ;) .... szkoda w ogóle gadać.

Zaś wracając do tematu bitów i bajtów to już wyjaśniam po co było moje pytanie .... Myślałem że może nie rozumiesz różnicy pomiędzy bitami i bajtami - wtedy bym rozumiał czemu aż tak mocno na razie nie potrafisz przeanalizować tych dwóch funkcji o które pytasz

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


Pomijam tu kwestię czytelności czy tam sposobu pisania kodu - to nie ważne - ważne że jak się spojrzy na obie funkcje to widać jak na dłoni, że kolega autor tego kodu przygotował to zgodnie ze sztuką w języku C i z tym o czym ja opowiadam w tym poradniku nadmorskim ....

czyli NA POCZĄTEK - zbudował NAJMNIEJSZY klocuszek do wysyłania pojedynczego bajtu !!!
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


funkcja praktycznie identyczna jak w Bluebooku - zresztą ciężko nawet ją zapisywać na tysiące innych sposobów.


A skoro już mamy najmniejszy klocuszek to też zgodnie z tym co ja tobie pisałem wyżej i nawet pokazywałem przykład kodu wysyłania danych z pętli gdybyś miał więcej bajtów do wysłania ....

Więc DRUGI krok jaki zrobił kolega autor to wysłanie dwóch paczek bajtów, czyli

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


dlaczego paczek bajtów ? Bo każda paczka u niego to dwa bajty - dwa bajty z których składa się każda zmienna zarówno z1 jak i z2

Wyłuskuje je ładnie za pomocą przesunięć

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


w czym problem ? Tyle że żeby to zrozumieć to najpierw trzeba zapoznać się i to jest PODSTAWA kurczę PODSTAW w języku C od której niestety mnóstwo początkujących ucieka jak przed jakimś strasznym monstrum ... a później się dziwią, dlaczego nie rozumieją tak prostych kodów jak wyżej :( W zamian za to brną dalej i uciekają w super KOCIE makra _BV() tak jak w tym rzekomo ciekawym kodzie który przytoczyłeś ... a jest on o tyle bez sensu , że nie stworzył tam ktoś podstawowego klocuszka do wysłania pojedynczego bajtu i później nie wysyła po kolei bajtów tylko na okazję każdego nowego projektu gdzie trzeba przesłać różną ilość (bajtów) przez SPI tworzy sobie jakąś dziwolągowatą funkcję, która wysyła po prostu ciurkiem 16 bitów z dwóch bajtów zmiennej __led_state. Toż widać że to dwa bajty zarówno po typie zmiennej (unsigned int) .... koci typ zamiast jak należy w AVR GCC użyć uint16_t i od razu wszystko jasne a także po ilości 16 w pętli for.... Gdyby ten ktoś miał wysłać 12 bajtów to pewnie próbowałby iść taką drogą jak ty na początku czyli szukałby chyba sposobu czy można użyć zmiennej o typie uint128_t ....

jeszcze raz popatrz - kolega autor ma najmniejszy klocek (do wysyłania pojedynczego bajtu) i za jego pomocą ot po prostu wysyła po kolei 4 bajty - tyle że czerpie je z dwóch różnych 16-bitowych zmiennych to samo można byłoby uzyskać metodą tablicową którą pokazałem wyżej

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


czyli w każdym obiegu pętli wysyłam kolejny bajt z tej tablicy ... W przypadku kolegi można powiedzieć, że on wysyła bajty z dwóch tablic - każda ma dwa elementy - tyle że robi to ręcznie i bez pętli for(), robi to "ręcznie" ... można byłoby i w pętli for ze wskaźnikami no ale tego przykładu nawet może nie będę pokazywał bo już w ogóle uznałbyś to na razie za jakieś mocno niezrozumiałe a nie o to chodzi

Pomyśl sobie zamiast zmiennej uint128_t tworzysz tablicę!

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


i już ... i masz swoją pierwszą linijkę która ma pojemność 16 bajtów tak jak w zmiennej uint128_t której nie ma .... Gdybym miał to samo zrobić tablicowo co zrobił kolega Nefarious19 to zrobić to można byłoby tak:

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


i później dwie małe pętelki o których mówiłem

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


i to było by DOKŁADNIE to samo co to:

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


zero różnicy jeśli chodzi o wysłanie. Za to jak przyszedłby mi pomysł do głowy, że moja linijka na jeden kanał ma mieć większą pojemność to co za problem ? Nawet gdyby miało być 24 diody ?

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


i co za problem wysłać ? IDENTYCZNIE ...

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

_________________
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: 15 lip 2016, o 12:48 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Witam ponownie, a więc tak wiem już jak się pozbyć tego
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


ale proszę o jakis (inny) przykład jak z zaświecić powiedzmy 32 diode (o wartości 4294967295).
255 x 4linijki diodowe. Kurcze nawet piwa nie pomagają. Albo proszę o gotowca który wysteruję mi te 60 diod w tzw. bargraph który będę analizował aż go zrozumię ( z czego póżniej mogę zdać relację jak zrozumię) albo kończymy temat. Tak czy tak dziękuję za wszelkie info. ps. przepraszam szanowny p.Mirku że pisałem cały czas do Ciebie przez "ty". Jestem z rocznika '79 I pewnie zostanę przy piecykach LM3914. Dziękuję za wszelką pomoc.



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

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

pracownik_UR napisał(a):
Witam ponownie, a więc tak wiem już jak się pozbyć tego

No to jednak nie wiesz jak to zrobić i nie wiem czego ty chcesz się pozbywać ? :(

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


wyśle ci TYLKO jeden i to młodszy bajt ze zmiennej 16-bitowej z1. Więc nie wiem czego się pozbędziesz

Tak jak pisałem wyżej, czuję że nie rozumiesz na razie i chyba kompletnie nie poćwiczyłeś jeszcze i nie pytałeś po drodze gdy czegoś nie rozumiałeś czytając mega podstawy czyli:

1. Co to są typy zmiennych
2. Co to oznacza, że zmienna jest dwu- , cztero- bajtowa itp
3. Jak wyłuskać za pomocą przesunięć bitowych poszczególne bajty z tych większych zmiennych

w ogóle widzę, że skoro chcesz się "pozbyć" zapisu (z1 >> 8) to oznacza że chyba ABSOLUTNIE UNIKASZ i nie chcesz poznać i zrozumieć co to są przesunięcia bitowe a przez to - no niestety nie dasz rady zrozumieć dalej co się dzieje w C jeśli chodzi szczególnie o mikrokontrolery ...

Moim zdaniem musisz wrócić jednak i zacząć od tych podstaw , które po kolei ci podałem

I nie mów że wiesz co to jest np zmienna 16-bitowa - jeśli masz odpowiedzieć tylko że składa się ona z dwóch bajtów - skoro nie poćwiczyłeś i nie do końca (tak mi się wydaje) rozumiesz co to jest starszy bajt i młodszy bajt. Jak odczytać albo zapisać w takiej zmiennej np tylko starszy albo tylko młodszy bajt ...

no bez tych rzeczy będziesz cały czas poruszał się jak we mgle i próbował zgadywać o co chodzi w jakimś tam kodzie ....

pracownik_UR napisał(a):
ale proszę o jakis (inny) przykład jak z zaświecić powiedzmy 32 diode (o wartości 4294967295).

Tu to już opowiadasz totalnie niestworzone historie ale pewnie właśnie wynika to z niezrozumienia kompletnego być może budowy bajtu i bitów

toż żeby zapalić 32 drugą diodę - to wystarczy zapalić bit o numerze 31

np:

uint32_t linijka;

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


co za problem ? Nie znasz zapisu hexadecymalnego ? to czemu nie obejrzysz poradników?



inny sposób:

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


jeszcze inny ale z przesunięciami DUŻO prostszy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



albo z udziałem TABLICY

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

pracownik_UR napisał(a):
(o wartości 4294967295).

Więc pisanie takich rzeczy jak widzisz to po prostu jakiś kosmos który sam sobie wymyślasz i się nim katujesz zamiast spojrzeć na BITY w bajtach.

no ale żeby się dobierać do bitów w bajtach panie to znowu - przesunięcia bitowe się kłaniają - jak widzisz bez tego ani rusz i zamiast tego będziesz wciąż wymyślał takie określenia właśnie.

pracownik_UR napisał(a):
Albo proszę o gotowca który wysteruję mi te 60 diod

Już tobie pisałem weź tak jak w przykładzie wyżej po prostu dłuższą tablicę np 8 bajtów i możesz zagospodarować łącznie 64 diody w 8 rejestrach

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


nie ma co się przerażać ostatnia linią bo tu pokazałem tak ręcznie jak to zrobić a w kodzie gdy przyjdzie obsługiwać całą linijkę jako wskaźnik wysterowania można to robić DUŻO prościej

------------------------ [ Dodano po: 16 minutach ]

pracownik_UR napisał(a):
. ps. przepraszam szanowny p.Mirku że pisałem cały czas do Ciebie przez "ty".

Ale nie ma za co przepraszać, pisałem na początku niebieskiej książki tzn proponowałem czytelnikowi czyli również tobie abyśmy byli na "ty" ;)

------------------------ [ Dodano po: 18 minutach ]

pracownik_UR napisał(a):
Jestem z rocznika '79 I pewnie zostanę przy piecykach LM3914.

A co rocznik ma do tego ? ;) Ja jestem rocznik '66 i jeszcze daję radę - więc ty dużo młodsza osoba nie dasz rady ? ;) dasz, dasz no tylko musisz poświęcić "troszkę" czasu jednak na poznanie podstaw - a jeśli go nie masz no to wtedy rzeczywiście będziesz się męczył z piecykami :(

_________________
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: 15 lip 2016, o 14:37 
Offline
Nowy

Dołączył(a): 07 lip 2016
Posty: 10
Pomógł: 0

Właśnie skończyłem oglądać poradnik, pewnie nie jestem jedyny któremu się on spodobał, ale są niesamowite mają w sobie to coś, chciałbym mieć takiego nauczyciela w szkole. Choć za moich czasów to były tylko atari i comodore (hehe do gier). Ok biorę się do "pracy". Zobaczę co z tego będzie. Dzięki.



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

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