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



Teraz jest 21 lis 2024, o 19:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
Autor Wiadomość
PostNapisane: 21 cze 2012, o 19:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Witam,
włączyłem sobie ćw. 8 czyli komunikacje I2C,
jeśli chodzi o zegarek wszystko ładnie ,,chodzi" problem jest z pamięcią eeprom tzn. wygląda to jak na zdjęciu wyświetla się napis EEP a reszta to kwadraty;|
Nie wyświetla się cały C-string EEPROM i znak null...

http://img710.imageshack.us/img710/9469/dsc0277hz.jpg

Kody pobrałem nowe zaktualizowane ze strony errata do pierwszej części, procesor taktowany jest na 8Mhz wew. oscylatorem
topic27.html
08_TWI - dodano funkcję void i2cSetBitrate(uint16_t bitrateKHz)

Adres pamięci ustawiony jest 0xA8 i A1 do GND.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 cze 2012, o 21:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Ponieważ już mi się drugi raz pisać nie chce ...... to skopiowałem ....

Ehhhhh ..... weź no Panie spojrzyj w program i sprawdź pod jakie adresy pamięci wpisywany jest ten napis, później pomyśl jak dużą pamięć masz, następnie sprawdź z kąd i ile czytasz tych bajtów, wyciągnij wnioski i napisz nam tu ;)

( Żeby nie było ja też na początku się na to złapałem ) :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 cze 2012, o 23:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Pierwszy bajt jest zapisany pod adres 253 i adres za każdym zapisem zwiększa się o jeden.
Pamięć ma 512 bajtów.
Odczytuje dane z bufora (utworzona tablica pomocnicza ).
To ciąg bajtów odczytywanych z bufora aż pojawi się potwierdzenie NACK (0 jako ostatni bit) i następuje STOP odczytu.
Pewno trzeba zmienić adres zapisu i odczytu np. na zapis na adres 253 a odczyt na 256 i wtedy wyświetla się napis EEPROM tylko jakoś nie mogę zrozumieć dlaczego tak ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 cze 2012, o 23:42 
Offline
Moderator
Avatar użytkownika

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

Ale opisywałem to zdaje się w książce, pamięci tego typu zapisują stronami o określonej ilości bajtów. Nie możesz sobie zapisać tekstu na skraju dwóch stron i oczekiwać że inkrementując bajt po bajcie odczytasz cały tekst. Jak dojdziesz inkrementując adresy do końca strony to trzeba się przestawić na następną stronę i wtedy znowu dalej po bajcie odczytujesz kolejne litery napisu.

Strona 331. Jak chcesz korzystać z zapisu większych ilości danych to interesuje cię doczytanie w nocie PDF jak po kolei robi się "Page Write"

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

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Aha aha już wszystko jasne. Dzięki koledzy:)

-- dodano 21 cze 2012, o 23:56 --

strona 289 jest o eeprom;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2012, o 09:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

I oto toto chodziło ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2012, o 13:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

No wiedziałem że jakoś nie tęgo było z tym EEPROM'EM :)

Pozwólcie mi się chwilkę napawać satysfakcją ( w bardzo pozytywnym tego słowa znaczeniu ) jaką z tego mam, ponieważ nie codzień jest możliwość poprawiania Naszego MISTRZA ;)

A teraz juz przechodzę do meritum sprawy.

Otoż w lekcji jak wiadomo lub nie pamieć AT24C04 jest pojemności 512 bajtów i zorganizowana jest w dwa banki pamięci po 256 bajtów.
Dostęp jest realizowany za pomocą adresacji tych banków. W naszych zestawach jest to domyślny adres 0xA8 - zapis oraz 0XA9 - odczyt, natomiast drugi bank jest pod adres 0xAA - zapis, 0xAB - odczyt.

W ćwiczeniu 8 o TWI jest nieznaczny błąd ( jest także w książce ) który dotyczy adresacji i znajduje się w funkcjach EI2C_write_buf oraz EI2C_read_buf.
Błąd ten nie występuje gdy zapisujemy lub odczytujemy dane tylko z pierwszego banku pamięci i zaczyna się pojawiać w momencie próby zapisu na pograniczu obydwóch lub drugiego banku, a jest spowodowany brakiem maskowania w adresie pamięci.

(No to teraz bierzemy w obroty funkcje zapisu )

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


W przypadku zapisujemy pod adres A8 do komórki pamięci dajmy na to 30 jakieś 6 bajtów, to nic się nie dzieje ponieważ adres podany w ten sposób -->TWI_write( device | ((subAddr>>8)<<1)) jest prawidłowy ,czyli zmienna device przyjmuje wartość A8 natomiast subAddr + przesuniecia bitowe daje nam 0.

A teraz rozpatrzmy co się stanie jak zapiszemy te same 6 bajtów ale pod adres pamięci 253.
Otóż do momentu dopóki zmienna subAddr będzie mniejsza niz 256 to będzie ok ale gdy przyjmie wartość 257 zaczną się chocki klocki ;)
A dlaczego? A dlatego że w tym momencie funkcja przejdzie w tryb odczytu czyli osiągnie warość 0xAB, a powinna miec wartość 0xAA.
A bierze się to z tąd że nasze 100000001 (257) przesuwamy o 8 bitów w prawo co daje nam wynik 000000001 a nastepnie przesuwamy o jeden bit w lewo co się równa 000000011, nastepnie używamy sumy logicznej z adresem 10101000 (A8) | 00000011 (0x03) = 10101011 (0xAB) a to już jest adres odczytu pamięci, a nie jej zapisu.

Rozwiązaniem tej niedogodności jest użycie maskowania bitów czyli bierzemy adres który uzyskaliśmy 10101011 (0xAB) & 0xFE i otrzymujemy prawidłowy adres zapisu do drugiego banku, czyli 10101010 (0xAA)

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


I żeby nie było różowo :P pokazałem drogę, a teraz ci co mają kłopoty z tym ćwiczeniem niech przejdą ją sami i poprawią w kodzie to co jeszcze pozostało do delikatnych modyfikacji ;)

Tak na marginesie ja dzisiaj siedziałem nad tym prawie 5 godzin, i żeby było zabawniej juz kiedyś to poprawiałem :) ale jak zawsze po co zapisywać, przecież się zapamięta :roll:

Uchhhh, ale referat wyszedł ;)



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

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

I bardzo fajny referat ;) ... ja powiem więcej - proszę też doczytać w książce, że napisałem wyraźnie, że nie opisuję w tych prostych i nie zoptymalizowanych funkcjach zapisu typu "Page Write", i że oczekuję iż czytelnik jeśli zechce to dalej już sam spokojnie to rozwinie i poprawi...... to stąd oczywiście ten niby błąd. Ja jak widać w książkach często mam jeden GŁÓWNY i PODSTAWOWY CEL.

Jest nim to aby pokazać jak wystartować z danym tematem. W tym przypadku z obsługą zewnętrznych pamięci EEPROM. Bo jak się przelecieć po forach to mnóstwo początkujących ma bardziej przyziemne problemy niż zapis na skraju banków w takiej pamięci. Oni nie mogę w ogóle nic do nie zapisać czy odczytać. A nakładają się tutaj przecież dwa zagadnienia które przerażają początkującego.

1. to sama komunikacja I2C
2. to właśnie ta podstawowa obsługa pamięci EEPROM, która przecież znacznie się różni od obsługi wewn. pamięci eeprom w procku prawda ? ;)

zatem jak coś początkującemu nie działa to ZONK - gdzie szukać problemu czy w I2C czy w obsłudze eeprom'a ?

DLATEGO - jak doczyta i poczyta jak zacząć i wyjdzie taki podstawowy test - to nie przesadzajmy - dalej już jest 100x łatwiej ;) .... najgorzej się zaciąć na czymś na samym początku bo wtedy najłatwiej o zniechęcenie i porzucenie wręcz takiego tematu nieprawdaż ? ;) ..... tylko często jak to przejdziemy to później rzadko kto pamięta ile było walki na początku albo ile prób podejścia do tematu.

Reasumując - bardzo wyraźnie też pisałem że wszystkie kody w pierwszej książce są napisane bardziej do celów dydaktycznych a nie praktycznych, o czym wiele osób niestety zapomina, próbując traktować biblioteki z książki jako gotowce bez wczytywania się w szczegóły ich tworzenia i potem mają problemy. Natomiast sztuką jest to żeby tak przygotować kod aby na jego podstawie dobrze umieć przy okazji przekazać wiedzę i co po kolei się dzieje. Wystarczy spojrzeć po różnych forach, gdzie ktoś nieraz rzuci dla przechwałki jakiś fragment albo ochłap kodu naszprycowanego wskaźnikami, rzutowaniami i nie wiadomo czym - po czym dopisze - "O zobaczcie jakie to proste" co ma posłużyć za wyjaśnienie i komentarz do kodu. Dlatego ja wymyślałem takie a nie inne formy aby dobrze wprowadzić. Sorki że tyle się tu na ten temat rozpisuję ale to ważne i może jeszcze inni czytelnicy też wpadną na ten post.

Dopiero w drugiej książce mogłem sobie już pozwolić na o wiele bardziej karkołomne kody źródłowe bo wiem że po dawce wiedzy z pierwszej książki i jej dobrym przećwiczeniu - każdy już więcej zrozumie. A same biblioteki z drugiej książki tym razem to już nie tylko wersje dydaktyczne. Te dadzą się już stosować na żywca. Z tym, że wiadomo - bez poczytania o szczegółach też może być ciężko z co najmniej ich pełnym wykorzystaniem.

Dlatego ostatecznie powiem - tak, BARDZO FAJNY ala TUTORIAL kolego Malutki_27 odnośnie wstępu do "Page Write" .... dla czytelników i dla tego typu pamięci oczywiście - bo wiadomo, że są większe, które jeszcze inaczej się adresuje ;) ... np wysyła się adres w dwóch kolejnych bajtach.

_________________
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 gru 2012, o 17:20 
Offline
Użytkownik

Dołączył(a): 27 lis 2012
Posty: 291
Pomógł: 6

Malutki_27 w swoim ostatnim w/w poście napisał
Cytuj:
A bierze się to z tąd że nasze 100000001 (257) przesuwamy o 8 bitów w prawo co daje nam wynik 000000001 a nastepnie przesuwamy o jeden bit w lewo co się równa 000000011
Czy wynikiem operacji nie powinno być 000000010? Jeżeli tak , to dalsze wnioski mogą być fałszywe.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2018, o 21:14 
Offline
Nowy

Dołączył(a): 20 wrz 2018
Posty: 17
Pomógł: 0

Czołem.
Jestem kompletnie początkujący.

Mam BB IIed i pliki dosłane emailem w 2017r. ATB 1.05a.
W ćwiczeniu z nr 08_TWI adres pamięci jest wpisany w oryginalnym przykładzie na wartość 64.
Na wyświetlaczu napis EEPROM! wyświetla się prawidłowo.

Natomiast w ćwiczeniu 08_I2C_SOFT wartość tego adresu jest ustawiona przez autora na 253 co skutkuje błędnym wyświetlaniem 5 ostatnich znaków.
Po pierwszym uruchomieniu przykładu wyszedł błąd.
Dotychczas (w moich szkołach, ale o innym kierunku) przykład prowadzącego był święty a tym bardziej poprawny.
Stąd też jak zobaczyłem błąd to ostatnią rzeczą której się spodziewałem, to błąd autora.
Owszem wadliwe pcb, lub część to owszem, ale soft? Ależ skąd!
A ponieważ w ćwiczeniu 19_ProjektWielozadaniowy mam taki sam błąd jak dwaj koledzy w innych wątkach to z uwaga śledziłem zamieszczone tam wpisy.

No i wyszło mi, że błędy są celowe (czytałem reakcje Mirka na inne błędy nie celowe i była prawidłowa, czyli analiza i próba naprawy błędu). Zapewne po to aby uczniakom chciało się chcieć mysleć. No dobra, ale można to wprost napisać. I już.

Ponieważ to tylko ćwiczenie a moja wiedza jeszcze nie pozwala zajmować się stronami pamięci , to poprzestałem na wpisaniu adresu na tyle wczesnego aby zmiescił się napis (adres 249).

Walczę dalej, z kolejnym przykładem. Ale teraz już wiem, że nie tylko z nową dla mnie materią i własną niedoskonałą pamięcią - to wystarczająco dużo !
Ale i z autorem. Tego się nie spodziewałem i nie pochwalam w tym aspekcie. Poprostu uważam , że i tak mam dosyć kłopotów z innymi wymienionymi aspektami.

Nie poddaję się i walczę dalej, ale proszę nie pisać, że o to chodziło, bo mnie to nie przekonuje.

Moja wypowiedź nie umniejsza olbrzymiego uznania dla Mirka za całość pracy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2018, o 08:56 
Offline
Moderator
Avatar użytkownika

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

Waldi_06 napisał(a):
Po pierwszym uruchomieniu przykładu wyszedł błąd.

Żaden błąd - kompletnie nie rozumiem takiego podejścia .... w książce nie na darmo opisuję różnice w dostępie pomiędzy dwoma różnymi układami I2C czyli pomiędzy RTC PCF83 a pamięcią EEPROM 24C04 żeby czytelnik wiedział jak w ogóle do tematu podchodzić w praktyce - bo uważałem, że jeden przykład może nie wystarczyć, bo część czytelników przyjmie za pewnik, że KAŻDY układ I2C jest tak samo obsługiwany.

Książka ma uczyć poprzez ćwiczenia a nie tak trochę na ślepo odpalanie przykładów. Poza tym - aż muszę koledze pokazać pewien fragment książki gdzie podkreśliłem najważniejsze

Obrazek

więc uprzejmie - proszę, zanim napiszesz na przyszłość na forum, że w książce jest błąd bo tobie się tak wydaje - to proszę o odrobinę pokory i po prostu zadanie pytania - co może być nie tak w tym co sam robisz ... Bo widać, że po pierwsze pomimo to iż w co drugim rozdziale wspominam o zaglądaniu do not PDF (czerwona ramka) .... pomimo to, że opisałem ogólną zasadę dostępu do banków (stron) takiej przykładowej pamięci EEPROM - to jednak nie zaglądasz do not PDF ... po drugie adres wcale nie jest zły w ćwiczeniach - bo taki istnieje a fakt, że trzeba go sobie w ćwiczeniu albo zmienić albo przełączyć stronę pamięci to już inna oczywista sprawa. Dzięki temu czytelnik widzi w czym rzecz, książka ma zmuszać do własnych ćwiczeń i myślenia jak na stacjonarnych kursach języka C.

Waldi_06 napisał(a):
No i wyszło mi, że błędy są celowe

To nie są żadne błędy kurczę - a jak czytałeś inne posty to powinieneś wiedzieć, że jak była mowa o teoretycznie podobnych sytuacjach (mowa tu np o ala schemacie podłączenia LCD a później w ćwiczeniu na pendrive użycie innych pinów) to również nie ŻADEN BŁĄD i proszę nie pisać takich bzdurek ok ? To taka moja gorąca prośba .... Tak ma być i tak zostanie w książce ....

To dzięki takiemu podejściu MNÓSTWO osób dużo lepiej i szybciej się nauczyło wielu rzeczy bo zmusiło ich to to zajrzenia np do pliku *.h wyświetlacza LCD, do zmiany konfiguracji - po prostu do własnych testów - a później sami pisali - że to DZIĘKI TEMU zrozumieli w końcu po co są np pliki konfiguracyjne *.h

tak samo z wyborem adresu w EEPROM - skoro w jednym ćwiczeniu z TWI wyświetla ci się dobrze - to w drugim ćwiczeniu zajrzyj że pan do PDF'a jeśli już nie do książki (tam gdzie zaznaczyłem to podkreśleniami na czerwono)

w pewnym momencie napisałeś sam:
Waldi_06 napisał(a):
to poprzestałem na wpisaniu adresu na tyle wczesnego aby zmiescił się napis (adres 249).

I TO JEST CELEM książki ...

Waldi_06 napisał(a):
Tego się nie spodziewałem i nie pochwalam w tym aspekcie.

Oczywiście, że nie musisz pochwalać - nie musi się każdemu podobać styl i tok nauki w mojej książce, nie każdemu musi odpowiadać pewien typ merytorycznego podejścia i ćwiczeń zmuszających do własnych prac ... Zawsze można sięgnąć po inną książkę - a na szczęście w obecnych czasach jest ich sporo z tego zakresu, w Helionie łatwo znajdziesz - w czym problem ?

Waldi_06 napisał(a):
Nie poddaję się i walczę dalej, ale proszę nie pisać, że o to chodziło, bo mnie to nie przekonuje.

Proponuję odłożyć książkę na bok i sięgnąć po inną ;) .... na pewno będzie lepiej i skończą się twoje kłopoty

Waldi_06 napisał(a):
Moja wypowiedź nie umniejsza olbrzymiego uznania dla Mirka za całość pracy.

Nie chodzi o żadne umniejszanie czy powiększanie - po prostu gdy ktoś pisze bzdury to reaguję i tyle ...

Waldi_06 napisał(a):
A ponieważ w ćwiczeniu 19_ProjektWielozadaniowy mam taki sam błąd jak dwaj koledzy w innych wątkach to z uwaga śledziłem zamieszczone tam wpisy.


proszę twój cytat z tego innego wątku:
Waldi_06 napisał(a):
Jestem w trakcie wykonywania kolejnych ćwiczeń.
Tak na szybko podłączyłem pcb 1.05a i wgrałem soft z 2017r otrzymany emailem do książki i efekt jest dokładnie identyczny.
Niebawem dojdę do tego przykładu.
Zapewne wielu informacji nie zapamiętałem za pierwszym razem i będzie mnie to ćwiczenie kosztowało kilka spacerów.


gdzie też nie chciało ci się nawet chyba doczytać o co chodziło ...

a na koniec:

Waldi_06 napisał(a):
No i wyszło mi, że błędy są celowe (czytałem reakcje Mirka na inne błędy nie celowe i była prawidłowa, czyli analiza i próba naprawy błędu). Zapewne po to aby uczniakom chciało się chcieć mysleć. No dobra, ale można to wprost napisać. I już.

Po pierwsze nikogo nie traktuję "z góry" tak jak ty .... co to za określenie "uczniakom" ? ....

Podsumowując - zostaw lepiej tę książkę, skoro tobie aż tak mocno nie chce się myśleć a jak masz pisać o takich "tylko wg ciebie błędach" i wygłaszać swoje prawdy objawione to albo sam napisz tego typu książkę, zapewne zrobisz to lepiej albo jak wspominałem wcześniej - weź się za inną gdzie nie będziesz potrzebował myśleć bo widzę, że twoim celem jest książka którą RAZ przeczytasz, wszystko zadziała samo a ty będziesz gwałtownie nauczony - no i nie poczujesz się jako jakiś wyimaginowany uczniak.

------------------------ [ Dodano po: 6 minutach ]

Dla kontrastu zacytuję tutaj maila, którego otrzymałem zaledwie wczoraj (a nie jest to jakaś odosobniona i pojedyncza opinia od czytelników):

Cytuj:
Panie Mirku,

jestem pochłonięty Pana książką Bluebookiem oraz poradnikami na Youtube, wytłumaczenie przeliczania liczb binarnych na dziesiętne i szesnastkowe mistrzostwo świata :), rejestr przesuwny .. i wiele innych.

W książce jestem już za wskaźnikami (których ideę działania pojąłem wreszcie) i czytam ją jak kryminał nie mogę się oderwać, wszystko wchodzi do głowy i rozumiem o czym Pan pisze. Fakt dawno temu liznąłem C ale wróciłem do tego totalnie wyzerowany ;) a potrzebuję robić sterowniki.

Mam klika innych książek ale Pana jest jak na razie najlepsza :)

Musiałem to Panu napisać.

Pozdrawiam



Więc panie szanowy Waldi_06 - rozumiem, że książka cię nie porywa ;) ba! nawet zmusza do jakiegoś myślenia, do PDFów zajrzeć ci się nie chce bo nie masz czasu, do poradników wideo - w których niejednokrotnie uzupełniająco mówiłem o I2C też cię nie ciągnie ale też innych wielu dodatkowych materiałów - to się powtórzę znowu tak jak ty - zmień pan książkę ;) albo zabierz się i napisz własną - gorąco polecam.

_________________
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 wrz 2018, o 11:57 
Offline
Nowy

Dołączył(a): 20 wrz 2018
Posty: 17
Pomógł: 0

Wręcz przeciwnie. Książka porywa i będą ćwiczył wraz z tą książką.

Nie za bardzo rozumiem skąd ta nadmierna drażliwość autora.
Chyba nie zrozumiał że początki są trudne, a to że raczej spodziewałbym się mniej irytacji i wpisów co "mi się chciało a co nie" a więcej wpisów typu "I TO JEST CELEM książki ... " , a być może podpowiedzi gdzie szukać MOJEGO gapiostwa skoro połączenie nowo kupionej ATB i książki daje efekty zmuszające do poszukiwań.

>>>Aby nie było niejasności - dla początkującego forum autora jest przedłużeniem lekcji, ćwiczeń, a nie miejscem na wieczne strofowanie jak to początkujący jest nieuważny.
Wiem, że jestem nie uważny, proszę jedynie o więcej życzliwości. <<<
Napisałem to dlatego, że skoro autor zastrzega sobie prawo do irytacji, to ja również, a może dlatego, że długi wpis Mirka nie odniósł się do moich bolączek a jedynie do "Mirkowych".

No i na pewno nie zniechęci mnie do nauki.
Spoko, już wiem czego się spodziewać.
Jestem zadowolony z zakupu książek i zestawu, jest dokładnie tak jak powiedziała miła Pani obsługująca biuro - na pewno pan wróci - no i jestem.
Co do formuły grzecznościowej - podczas rozmów osobistych zawsze zwracałem się na Pan, natomiast forum jak i książkę traktują zgodnie z propozycją z obu książek (które posiadam) - na TY.

Do wszystkich czytających moje powyższe wpisy - polecam książki, polecam poradniki wideo, polecam zakup ATB. Wszystko to jest naprawdę najlepsze z dostępnych na polskim rynku.
No i jak widzicie - całość zmusza do samodzielnej i intensywnej pracy.

Waldemar Barczyk

PS
Mirek gdzie można znaleźć przykład uruchomienia setnych sekundy w obu ćwiczeniach nr 8, wiem.
Widziałem notę PCF, wiem że setne potrzebują innego zapisu kodu ale proszę o wskazówkę gdzie szukać, tzn jak ugryźć temat.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2018, o 12:07 
Offline
Moderator
Avatar użytkownika

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

Waldi_06 napisał(a):
Chyba nie zrozumiał że początki są trudne, a to że raczej spodziewałbym się mniej irytacji i wpisów co "mi się chciało a co nie" a więcej wpisów typu "I TO JEST CELEM książki ... " , a być może podpowiedzi gdzie szukać MOJEGO gapiostwa skoro połączenie nowo kupionej ATB i książki daje efekty zmuszające do poszukiwań.

Wystarczy zadawać pytania - a nie oceniać i pisać o błędach w książce tym bardziej z punktu widzenia - jak sam piszesz całkowicie początkującej osoby ...

Waldi_06 napisał(a):
proszę jedynie o więcej życzliwości.

No widzisz ... ja również, a wtedy będzie MILION razy łatwiej się dogadywać na forum ok ?

Waldi_06 napisał(a):
Mirek gdzie można znaleźć przykład uruchomienia setnych sekundy w obu ćwiczeniach nr 8

Ale to nie jest tak, że książka pokazuje przykłady "NA WSZYSTKIE" przypadki jakie czytelnik sobie wymyśli - i nie piszę tego z jakąś nutą złośliwości ....

Podałem jednak w książce (wydaje mi się) BARDZO wyraźny sposób jak odczytywać/zapisywać dane z i do RTC - więc co za problem powiększyć sobie tablicę w RAM która obecnie przechowuje sobie tylko hh,mm,ss - o jeden bajt aby przechowywała jeszcze setne sekundy ? Przecież w książce widać, że pobierane są z RTC dane od jego wewn. adresu = 2 bo tam zaczynają się sekundy. A gdy powiększysz tablicę to możesz odczytywać zamiast trzech - to cztery bajty ale od adresu = JEDEN - żeby właśnie zassać setne ...

Nie wiem na co ci te setne - tym bardziej jeśli przy obecnym kodzie czas będzie pobierany zgodnie z przerwaniem co jedną sekundę - ale rozumiem, że dla własnego ćwiczenia. No to podpowiedziałem właśnie jak to zrobić.

krótko mówiąc odczytywać RTC od adresu =1 i pobierać 4 bajty zamiast trzech. W pierwszym bajcie będziesz miał setne

_________________
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 wrz 2018, o 12:54 
Offline
Nowy

Dołączył(a): 20 wrz 2018
Posty: 17
Pomógł: 0

Ok. Dzięki.
Ćwiczenie z setnymi wykonane. Dokładnie o to mi chodziło.
"Działa" - setne wyświetlają się w prawidłowym miejscu , inicjalizują wartością zadeklarowaną w kodzie, oczywiście nie odliczają.
Przez chwilę (ułamek sekundy) wyraźnie widać wartość inicjalizacji, aby wraz z odliczeniem pierwszej sekundy tuż po starcie zegarka wyświetliła się wartość 99 i tak ta wartość na ostatnim miejscu zostaje.
Zegarek wraz sekundnikiem działa sobie dalej a na ostatniej pozycji pozostaje wartość 99.
Nie jestem narazie w stanie powiedzieć czy prawidłowo odczytuję komórkę setnych 01h z RTC ponieważ w setnych jest inny format zapisu tzn od 1/10s do 1/100s.
Chodzi mi tylko o wprawki. Każde zagadnienie tego typu może być dobre do takich ćwiczeń.

Dzięki za podpowiedź - przydała się. Za pierwszym razem wczoraj nie zwiększyłem bufora.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2018, o 12:57 
Offline
Moderator
Avatar użytkownika

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

Waldi_06 napisał(a):
Nie jestem narazie w stanie powiedzieć czy prawidłowo odczytuję komórkę setnych 01h z RTC ponieważ w setnych jest inny format zapisu tzn od 1/10s do 1/100s

ależ jest DOKŁADNIE taki sam zapisu jak każdej innej wartości czasu i daty - czyli jest w formacie BCD, czyli tak samo trzeba je przepuścić przez funkcje bin2bcd() i bcd2bin()

_________________
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 wrz 2018, o 13:07 
Offline
Nowy

Dołączył(a): 20 wrz 2018
Posty: 17
Pomógł: 0

mirekk36 napisał(a):
Waldi_06 napisał(a):
Nie jestem narazie w stanie powiedzieć czy prawidłowo odczytuję komórkę setnych 01h z RTC ponieważ w setnych jest inny format zapisu tzn od 1/10s do 1/100s

ależ jest DOKŁADNIE taki sam zapisu jak każdej innej wartości czasu i daty - czyli jest w formacie BCD, czyli tak samo trzeba je przepuścić przez funkcje bin2bcd() i bcd2bin()


Tak zrobiłem na samym początku, czego nie dopisałem.
A wypowiedź powyższa to jedynie moja wątpliwość, bo i tak nie zobaczę "działających" setnych skoro przerwanie jest co sekundę (tak jak napisałeś wyżej).

Mirek - pozdr i dzięki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2018, o 20:20 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 546
Pomógł: 27

zmień inicjalizację PCF na większą częstotliwość wyjścia int a będziesz widział zmianę setnych sekundy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2018, o 21:11 
Offline
Nowy

Dołączył(a): 20 wrz 2018
Posty: 17
Pomógł: 0

tonygryps napisał(a):
zmień inicjalizację PCF na większą częstotliwość wyjścia int a będziesz widział zmianę setnych sekundy.

Sprawdzę. Dzięki za info.

Tymczasem uruchomiłem kolejne ćwiczenie 1 wire i teraz jak już wiedziałem czego się spodziewać. Poszło szybko.
Chcę się przy tym ćwiczeniu zatrzymać na dłużej z uwagi timer programowy.



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 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