Skocz do zawartości

SPI podpięcie kilku urządzeń do magistrali


daniel89

Pomocna odpowiedź

Jeżeli jest to typowy wyświetlacz LCD (a nie jakieś cudo na prawdziwym SPI) i będziesz go wykorzystywać w trybie write-only (R/W=0) to masz pewność, że jego port danych (tutaj: D4-D7) nigdy nie będzie sterować liniami łączącymi go z procesorem. Możesz zatem nie przejmować się obecnością wyświetlacza i używać SPI/ISP jakby LCD tam nie było. Oczywiście wyłączanie mu zasilania to bardzo głupi pomysł. Może jedynie, żeby nie pokazywał bzdur podczas programowania procesora dodaj opornik 10k pull-down (czyli do masy) na linii LCD_E.

Co tam wycudowałeś za opornik R1? Wewnętrzny wzmacniacz oscylatora ma już sprzężenie zwrotne i jest spolaryzowany, nic nie musisz tutaj takiego dodawać.

Procesor to mega8 czy jednak mega328? Zdecyduj się.

Obłożenie 100% pinów procesora to bardzo zły pomysł. Nie zostawiłeś sobie nawet ratunku gdy się okiaże że cokolwiek nie działa. Nie wiem, DHT mierzy jakoś dziwnie, ale co właściwie program zniego odczytuje? I2C nie działa dobrze, ale nie wiadomo czy w ogóle widzi jakieś moduły slave itd.. Musisz mieć kwarc? Zawsze to dwie linie więcej i mógłbyś uwolnić jeden z najcenniejszych zasobów: UART. Albo weź większą obudowę i np. mega644. Przecież w tak rozbudowanym projekcie (widzę po liczbie sygnałów i peryferiów) to koszt samej kostki ginie w reszcie elementów a przede wszystkim w czasie poświęconym na pisanie i uruchamianie kodu.

Może pokaż cały schemat, bo skoro masz wątpliwości w sumie w prostych sprawach, to reszta może być podobnie.. "przemyślana" a poprawianie błędów na schemacie w zasadzie nic nie kosztuje w odróżnieniu od cięcia ścieżek na PCB.

Link do komentarza
Share on other sites

(edytowany)

Dziekuję za odpowiedź.

Ten R1 to rezystor 1Mega Ohm , gdzieś tam kiedyś wyczytałem że zalecane jest do pewnego wzbudzenia  kwarcu. Oczywiście mogę go usunąć bo bez niego też działa. Tutaj jak sobie zobaczysz na schemacie to też dają taki rezystor 1MOhm : Zobacz

Amtega 328, tylko użyłem standardowej biblioteki i dlatego taki napis tam jest. Piny są te same przecież.

Jeszcze całej płytki nie mam, jak znajdę czas i zrobię to wrzucę.

Czujnik DHT22 odczytuje wilgotność i temperaturę, na pinie 2  tym co jest podpięty.

I2C na płytce stykowej mi odczytuje moduły, nie mam problemów z tym i adresami.

Tak muszę mieć kwarc by szybciej działał program i stabilnie.

Odcięcie zasilania na LCD mi właśnie chodziło o to by nie pokazywał w czasie programowania jakiś dziwnych krzaczków. Z tym rezystorem Pull-down 10k , to możesz mi jakoś rozjaśnić jak to zadziała ? Wiesz sprawa jest niby prosta bo i tak pewnie zaprogramuje.

Nigdy tak nie podpinałem że LCD z ISP dlatego wolę się upewnić że nie wykrzaczy czegoś , tak jak zauważyłeś szkoda by było płytki.

Z tego co zrozumiałem to według Ciebie nie ma sensu odcinanie zasilania na LCD w momencie programowania ATMEGi. Czyli że w momencie programowania ma na pin E wyświetlacza LCD podciągać do masy? Nie bardzo właśnie rozumiem jak to zadziała przez ten rezytor, jakiś przykład możesz podać?

 

Edytowano przez daniel89
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.