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



Teraz jest 3 sty 2025, o 04:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 21 sty 2018, o 11:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 256
Lokalizacja: Norwegia
Pomógł: 16

Dzień dobry

Zamiast brnąć do celu w realizacji projektu, zabrałem się za rozgryzanie PSoCów i pomyślałem że dobrze by było poznać blok funkcjonalny I2C który jest oferowany w kreatorze.
Tym razem testowanie rozpocząłem odrazu z Cypress SHIELD na zestawie ATB 1.05 (Chciałem mieć pewność że nie mam gdzieś wlutowanych kondensatorów na portach tak jak w przypadku CYCKITów).
Ponieważ nie jestem orłem z zakresu programowania, zabrałem się za I2C podpatrując innych i w miarę swoich umiejętności adoptowałem rozwiązanie do mojego sprzętu.

Do testów z I2C użyłem modułu DS3231, Cypress Shield Atnel oraz zestaw ATB 1.05. oraz wyświetlacza HX8357B którego udało mi się opanować i przedstawić Wam wcześniej.








Szczerze mówiąc myślałem że uruchomienie I2C na Cypress będzie równie proste i klarowne jak z AVR i będzie się sprowadzać do małych zmian dla hardwaru, ale niestety nie jest tak łatwo (przynajmniej dla mnie który jestem naprawdę lamerem w programowaniu).
Do oprogramowania tego ćwiczenia użyłem bloku - I2C Master (Fixed Function) v3.50 oraz dostępnych funkcji API.
Przyznam że te funkcje są dość pokręcone i musiałem kilka razy przeczytać Cypressowy datasheet dla komponentu I2C a i tak nie do końca to ogarnąłem. Dopiero po szklance dobrej whisky dostałem oświecenia.
Przedstawię podstawowe funkcje do zapisu i odczytu po I2C które w końcu wykonują to czego od nich wymagam.

Funkcja która odczytuje dane (czas, datę i numer dnia tygodnia) z DS3231 i zapisuje je do tablicy.

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


Funkcja która zapisuje dane z tablicy (czas, datę i numer dnia tygodnia) do DS3231.

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


Jestem pewny że jak przyjrzycie się obu funkcjom to zauważycie mechanizm działania zapisu i odczytu. Dla mnie który poznał I2C wyłącznie na AVR, ten mechanizm z PSoC był trochę zawiły ale w końcu dostrzegłem logikę :)

Teraz funkcja która wyświetla informacje z DS3231 na wyświetlaczu HX8357

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


na końcu tej funkcji jak widać, wywołuję jeszcze jedną Daysofweek () która dodaje dni tygodnia

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


jeszcze tyle zestaw deklaracji który powinien być na początku... sorki ja jeszcze tego nie zamknąłem do biblioteki :)

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


Jest jedna zasadzka z którą nie mogłem sobie poradzić. Otóż Ci którzy bawili się DS3231 na przykład po poradnikach Mirka (chwała Mirkowi za te poradniki) pamiętają że adres dla tego scalaka na I2C jest 1101000 czyli w AVR używamy 0xD0 no i to jest pułapka :)
Nie wiedziałem czemu mi to wszystko nie chce działać i dokopałem się do takiej informacji

"The data sheet gives the 7 bit address. When you call the I2C API, pass this 7 bit address. The API wll add the R/W bit 1101000. For the given address, you have to pass 0x68 as the slave address for the bWriteBytes and fReadBytes parameter. "

Po zmianie adresu z 0xD0 na poprawiony dla PSoC API adres 0x68, zegarek zaczął ze mną dialogować po I2C.

Reasumując, mam już opanowaną na poziomie LAMERSKIM obsługę SPI, I2C, QuadDec (super narzędzie do obsługi enkoderów zarówno optycznych jak i mechanicznych, mam to przetestowane z obydwoma rodzajami).
Piszę to między innymi dla tego żeby trochę nawrzucać kamyczków do Mirkowego ogródka który zaniedbał PSoCi ostatnio :P ale nie żebym się żalił czy coś, bo właśnie od samego rana zbieram szczękę z podłogi po obejrzeniu Mirkowego przedstawienia o Menu kreatorze... ja też chcę tak umieć :)

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2018, o 12:05 
Offline
Użytkownik

Dołączył(a): 19 paź 2014
Posty: 357
Lokalizacja: stolyca pyrlandii :)
Pomógł: 18

No co jak co, ale tytułem to Ty potrafisz przykuć uwagę :P
A tak swoją drogą, będę musiał się bardziej przyjrzeć Twojej twórczości - bo ciekawa ona jest :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2018, o 12:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

karolen napisał(a):
No co jak co, ale tytułem to Ty potrafisz przykuć uwagę
Mirek zaspokaja małżonkę w magicznej kuchni a SP2LUB się bawi CYCKAMI. Chyba forum robi się bardzo "męskie" ;)

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2018, o 13:01 
Offline
Moderator
Avatar użytkownika

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

rskup napisał(a):
karolen napisał(a):
No co jak co, ale tytułem to Ty potrafisz przykuć uwagę
Mirek zaspokaja małżonkę w magicznej kuchni a SP2LUB się bawi CYCKAMI. Chyba forum robi się bardzo "męskie" ;)


a kolega to co? nie bawi się czasem stringami ? :lol: ..... z tego co wiem to wielu forumowiczów lubi takie brzydkie zabawy ;) i ciągle mieli te stringi :lol: w łapkach ... ja również (nie będę ukrywał)

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

Dołączył(a): 15 lut 2016
Posty: 256
Lokalizacja: Norwegia
Pomógł: 16

Każdy kto widział Mirkowe poradniki o DS3231 widział to wyznanie Mirka na wizji..... "stanął mi...... no zegarek mi stanął" ;)

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2018, o 13:32 
Offline
Moderator
Avatar użytkownika

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

SP2LUB napisał(a):
Każdy kto widział Mirkowe poradniki o DS3231 widział to wyznanie Mirka na wizji..... "stanął mi...... no zegarek mi stanął" ;)

No proszę, kolega wyciąga mi tu... ten tego... takie no :lol: ... a czy to tylko ja ? ... widział kolega co stało się MISiO(wi) ? ;)

https://youtu.be/J3kPNmb3wV4?t=160

_________________
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: 21 sty 2018, o 13:41 
Offline
Użytkownik

Dołączył(a): 19 paź 2014
Posty: 357
Lokalizacja: stolyca pyrlandii :)
Pomógł: 18

Kurcze chłopaki, szczęście że w ostatniej chwili miałem przebłysk i przełknąłem kawę zanim otwarłem wątek...
Bo tak przy niedzieli ze ścierą biegać :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2018, o 14:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

mirekk36 napisał(a):
a kolega to co? nie bawi się czasem stringami ? ..... z tego co wiem to wielu forumowiczów lubi takie brzydkie zabawy i ciągle mieli te stringi w łapkach ... ja również (nie będę ukrywał)

No tak. Nie będę hipokrytą i także się przyznam - lubię bawić się stringami :)
Najgorsze, że CYCKI czekają na mnie od 2 miesięcy, bo kupiłem moduł do zestawu ATB razem z PCB do MagicMatrixa i cały czas się nimi jeszcze nie pobawiłem :( Więc takie wątki mobilizują by rzucić inne rzeczy i się za nie wziąć. Lecz chyba dziś skończę w końcu kleić kwadraciki do MM :)
Także czeka mnie coś w stylu zaspokajania w kuchni. Taśma MagicLED już od kilku miesięcy czeka. Pierwsze wstępne efekty nawet pokazałem, ale nic jeszcze nie zostało zrobione.
Więc dużo "męskiej" pracy przede mną :D. I wspominane stringi, na pewno też będą się przewijać :).

--
Pozdrawiam,
Robert

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

Choć przy stingach najbardziej interesująca jest funkcja w javie getStringFromObj() :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2018, o 15:52 
Offline
Moderator
Avatar użytkownika

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

eeeeeeh - do tej pory myślałem, że tylko stringi są kotrowersyjne przy programowaniu - ale od dzisiaj wiem, że jest jeszcze coś takiego jak "CYCKI" :lol: ... :lol: i kto mi zapłaci za zachlapany monitor ja się pytam ? ... wynika z tego, że główny podejrzany SP2LUB ... który tak nomen omen - to fajne programy na CYCKach robi ;) sam muszę znaleźć więcej czasu, żeby je pomiziać :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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

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