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



Teraz jest 29 mar 2024, o 00:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 23 cze 2018, o 17:51 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 69
Pomógł: 1

Witam. Mam pytanie, potrzebuje zwiększyć ilość wyjść w atmedze i myślałem o spi.
Znacie jakieś układy które można by wykorzystać?
Z tym że chciałbym sterować wyjściami pojedynczo więc taki układ jak 74HC595 raczej odpada.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2018, o 17:56 
Offline
Moderator
Avatar użytkownika

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

tomimat napisał(a):
Z tym że chciałbym sterować wyjściami pojedynczo więc taki układ jak 74HC595 raczej odpada.

No rzeczywiście odpada ... ja tam - tak jak i KAŻDY inny steruję nim pojedynczo ;) ... .ale jak tobie odpada ... to cóż poradzić ? ;)

_________________
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: 23 cze 2018, o 18:21 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 69
Pomógł: 1

Tak pojedynczo się da tylko jak dobrze rozumiem to muszę wysłać cały bajt.
A ja chce się dowiedzieć czy się da zmienić stan pinu wysyłając tylko jeden bit.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2018, o 18:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

A jak sobie to wyobrażasz? W jaki sposób chcesz określić który konkretnie pin chcesz załączyć wysyłając jeden bit? Można by ewentualnie (jeśli wogule istnieją taki wynalazki) wysłać adres tego bitu i informację czy ma być załączony czy wyłączony ale to już i tak nie jest wysłanie jednego bitu...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2018, o 18:34 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 69
Pomógł: 1

Pytanie było teoretyczne czy jest coś takiego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2018, o 18:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1146
Lokalizacja: Kraków
Pomógł: 93

Zawsze możesz podłączyć drugiego avr'a po SPI i wysyłać do niego, który pin ma być załączony ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2018, o 20:08 
Offline
Moderator
Avatar użytkownika

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

tomimat napisał(a):
A ja chce się dowiedzieć czy się da zmienić stan pinu wysyłając tylko jeden bit.

Pewnie, że da się zmienić JEDEN BIT ;) ... sorki ale jak słyszę takie herezje, że nie da się zrobić tego na hc595 to aż mi gęsia skórka się robi ;)

_________________
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: 23 cze 2018, o 20:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

:) Mirku, Ale tu trzeba się wczytać dokładnie w treść. Zapytanie jest nietypowe.
tomimat napisał(a):
zmienić stan pinu, wysyłając tylko jeden bit
!!!
jeszcze nawet nie próbowałem takich numerów. ;)
no chyba że tu chodzi o bit zatrzasku. :?

------------------------ [ Dodano po: 33 minutach ]

ha....
:)
można się pobawić.. :) ale kolega dał do myślenia. :)
załóżmy taki scenariusz:

1).oba procesory mają zsynchronizowane ramki np jakimś przerwaniem.
odliczają w odstępach czasowych od 0 do 7, i znowu przerwanie. i ramka liczona od poczatku.

2). jeżeli wyślesz bit w czasie odliczania na liczniku o wartości 3, to zmienia się stan pinu PX3 na przeciwny, jeżeli wyślesz bit w momencie kiedy liczniki mają wartość 5, to zmienia się stan pinu PX5. itd.

czyli można pomęczyć , ale musi też być jeszcze linia, - coś w rodzaju sygnału zegarowego/taktującego/synchronizującego oba procki. :)

takie zapytanie - taki pomysł - taka podpowiedź. :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2018, o 21:19 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

A jakiś ekspander jak np. mcp 23017?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2018, o 22:14 
Offline
Moderator
Avatar użytkownika

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

Daro69 napisał(a):
Mirku, Ale tu trzeba się wczytać dokładnie w treść. Zapytanie jest nietypowe.

Panie - panie ;) a jakby ci ktoś zadał pytanie na forum np:

Chcę wysłać 0,432 bita po SPI ... to ? ;) no sorki ... sorki - to co szukałbyś sposobu jak to zrobić ?

No toż to kompletnie bez sensu - chcę wysłać JEDEN bit po SPI czy I2C ;) ... zupełny NONSENS

albo tekst:

"ja nie chcę przesyłać 1 bajta"

no bzdura że aż strach ! ;)

-------------------------------------------------------

to jakiś problem mieć w pamięci RAM komórkę (1 BAJT czyli 8 bitów) .... i zapalać albo gasić sobie w niej pojedynczy Qurdę BIT ! ? I DOKŁADNIE TEN JEDEN BIT będzie się zmieniał na wyjściu hc595 !!! no trzeba na prawdę .... aż ręce opadają

Daro69 - to że ktoś nie potrafi sprecyzować pytania albo założenia to nie oznacza, że wymyślił najlepszy sposób na realizację ...

a ja GWARANTUJĘ - że dzięki HC595 - da radę zmieniać POJEDYNCZE BITY - podkreślam pojedyncze

------------------------ [ Dodano po: 1 minucie ]

micky napisał(a):
A jakiś ekspander jak np. mcp 23017?

to tak samo mógłby być jeszcze prostszy PCF8574 albo PCF8575 ale co z tego ;) jak autor pisze że on nie chce całego bajtu przesyłać ;) zupełny NONSENS z tym "niechceniem przesyłania całego bajtu"

------------------------ [ Dodano po: 4 minutach ]

[/quote]
Daro69 napisał(a):
takie zapytanie - taki pomysł - taka podpowiedź.

:lol: Daro69 to mówię ci - teraz pomyśl nad wysyłaniem 0,367 bitu :lol: ... a jak to przejdziesz to pomyśl nad przesłaniem np 10 terabajtów danych z AVR ;)

Nie piszę tego broń Boże złośliwie - tylko jeszcze raz powtarzam, zaskakuje mnie jak można pisać, że brakuje wyjść równoległych - chcę skorzystać z SPI albo I2C ale nie chcę bajtu przesyłać ;)

_________________
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: 23 cze 2018, o 22:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

hie.. :)
a co tam. ;) kolega tomimat coś chciał nakombinować, to to tak napisałem. :)
a tak na poważnie, -to myślę że jak kolega przemyśli temat to zaprzęgnie 74hc595, albo nawet kilka,
skoro chce tylko sterować stanem dodatkowych wyjść. ;)

hmm.... 0,367 bitu ? :lol:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2018, o 05:56 
Offline
Moderator
Avatar użytkownika

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

n
Daro69 napisał(a):
a tak na poważnie, -to myślę że jak kolega przemyśli temat to zaprzęgnie 74hc595, albo nawet kilka,
skoro chce tylko sterować stanem dodatkowych wyjść.

No więc właśnie ;) tym bardziej, że przy możliwości taktowania SCK dla SPI nawet F_CPU/2 ... czyli np przy kwarcu 16MHz mamy SCK=8MHz !!! ;)

a nawet i przy SCK=1MHz nie będzie różnicy w działaniu przy prostym sterowaniu I/O pojedynczymi wyjściami. Czy to będą przekaźniki, diody czy dowolne inne tego typu rzeczy.

_________________
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: 24 cze 2018, o 16:40 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 69
Pomógł: 1

Ołł. Rozpętałem burze przez moją niewiedze.Moje pytanie tez nie było całkiem sprecyzowane. Dzięki poradnikom Mirka
udało mi się sterować tym 595. Tylko problem jest w tym że steruje wyjściami atmegi za pomocą wifi232 i jak dobrze rozumiem
to:
żeby zmienić stan jednego pinu 595 to najpierw muszę odczytać stany pinów później zmienić ten pin który chcę i z powrotem wysłać?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2018, o 16:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Raczej nie tędy droga. W programie tworzysz sobie zmienną 8 bitową (taki buforek dla tego rejestru), zmian poszczególnych bitów dokonujesz identycznie jak na portach uC czyli np:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
, następnie wypychasz bufor do rejestru i tyle.

Możesz sobie dla wygody zrobić definicje, tak by wszystko wyglądało jak port procka, jedyna niedogodność to konieczność wysłania bufora do rejestru po dokonanych zmianach na buforze:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Oczywiście musisz uważać by nie zdefiniować nazw które występują dla danego procka, którego akurat używasz.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2018, o 17:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

tomimat napisał(a):
Ołł. Rozpętałem burze...

E tam, spoko... to nie burza, to poranny orzeźwiający wietrzyk. ;)
Tak jak kolega xentis napisał.
możesz powołać sobie zmienną przechowującą stan pinów na 74hc595 np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

potem możesz operować na bitach tej zmiennej, ( docelowo wyląduje na pinach hc) np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a w kodzie, jeżeli dokonamy aktualizacji/zmiany w tej zmiennej, to wtedy ją można wysyłać.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2018, o 18:13 
Offline
Moderator
Avatar użytkownika

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

mirekk36 napisał(a):
to jakiś problem mieć w pamięci RAM komórkę (1 BAJT czyli 8 bitów) .... i zapalać albo gasić sobie w niej pojedynczy Qurdę BIT ! ? I DOKŁADNIE TEN JEDEN BIT będzie się zmieniał na wyjściu hc595 !!!

a co ja wcześniej tzn wyżej pisałem ? ;)

_________________
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: 24 cze 2018, o 18:18 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 69
Pomógł: 1

bardzo dziękuję za pomoc udało się ale sam bym tego nie zrobił.

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

Zrobiłem to teraz na szybko i działa.

------------------------ [ Dodano po: 1 minucie ]

Tak Mirku tylko muszę się przyznać ze nie do końca to zrozumiałem.



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

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