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



Teraz jest 24 sty 2025, o 23:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 19 kwi 2014, o 18:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

Witam

Staram się uruchomić sprzętowy moduł USI w Tiny45. Nigdy nie robiłem wcześniej nic z tymi małymi kostkami.
Robię sterowanie dużą lampą ledową (PWM). Sterowanie jest jednym przyciskiem - 6 trybów jasności (pojedyncze wciśnięcia ) oraz ON/OFF po (dłuższym wciśnięciu przycisku). Wszystko ładnie działa, ale chciałem dodać funkcjonalność polegająca na wyświetleniu numeru oznaczającego tryb pracy (jasność) na jednym wyświetlaczu 7seg. Tiny45 ma tylko 5 użytecznych pinów, więc trzeba to zrobić przez rejestr przesuwny. W sumie typowa sprawa. Jednak MCU posiada zamiast TWI I SPI coś takiego jak USI.

Czytam i czytam notę PDF i albo robię jakieś głupie błędy, albo zakręciłem się w jakimś błędnym rozumowaniu... W każdym razie coś nie mogę zmusić USI do pracy.

Do wyjścia "DO" podłączone jest wejście szeregowe 74595
Do SCK oczywiście wejście taktowania rejestru.
Wyjście "DI" chcę użyć jako sterowanie zatrzaskiem
Choć może da się nie używać latch'a w typowy sposób, display nie będzie multipleksowany (tylko jedna cyfra), więc może być "widoczne" wsuwanie bitów do rejestru.

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


Do tego inicjuję timer0 w trybie CTC (z tego co jest w nocie rozumiem, że muszę zapewnić źródło taktowania i TIM0 może być jednym z nich)

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


Wysłać bajt (to będzie tylko jeden bajt, wyświetlacz jest wsp. kat podpięty do GND) próbuję tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wiem, że powinno się czekać na ukończenie wysyłania, ale na razie, do testów nie chciałem sobie dokładać tych "dziwnych" flag w rejestrze stanu :P

W każdym razie, niestety nic z tego nie działa.
Czuję, że problem jest braku zrozumienia mechanizmu taktowania modułu USI.
Może ktoś coś podpowie. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 kwi 2014, o 21:06 
Offline
Moderator
Avatar użytkownika

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

Nie robiłem tego ale kiedyś znalazłem takie opracowanie - i trzymam na zaś ;) może tobie się przyda ?


Autor postu otrzymał pochwałę

Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

_________________
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: 19 kwi 2014, o 21:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

Dzięki, super działa.
squeez napisał(a):
Nie wiem czy uda co się zrobić SPI z DI jako wyjście (nie próbowałem i nie wiem czy zadziała).


Co do DI do się daje, właśnie sprawdziłem. Tzn mnie było potrzebne tylko jednorazowe "kłapnięcie" na tym pinie, zbocze narastające.
Co prawda rejestr 595 i tak dostawał to zbocze, wystarczyło że miał podpięty kawałek kabelka do pinu, to zbocze pojawiało się samo w sposób, że tak powiem "bezprzewodowy" :P
No ale mimo wszystko chciałem, żeby było elegancko.


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


disp_flag to jest zmienna która ustawia się jak jeden przy każdej zmianie stanu lampki.

mirekk36 napisał(a):
Nie robiłem tego ale kiedyś znalazłem takie opracowanie - i trzymam na zaś może tobie się przyda ?


O jaki wielki plik :)
Zabieram się za lekturę :)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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