Skocz do zawartości

Kurs STM32 F1 HAL - #9 - SPI w praktyce, ekspander IO


Pomocna odpowiedź

W którym pliku mogę znaleźć rozpiskę pinów przypisanych do danych modułów (SPI1, ADC1, GPIOA, itp.)? Do tej pory korzystałem z obrazka znalezionego na internecie, ale jednak chciałbym jakieś bardziej wiarygodnie źródło.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Moje przemyślenia, którymi podzielę się dla potomnych początkujących:

  1. A1, A2 - bity adresu MCP ustawiane napięciowo przy układzie scalonym (w naszym przypadku wiszą w powietrzu, czyli bardziej 0 niż 1, czyli adres : 00)
  2. SPI Control byte (device Opcode), czyli nawiązanie komunikacji z urządzeniem to: 0100 0(A1)(A2)(R/W) - W bicie kontrolnym na dwóch bitach ustawiamy adres A1,A2 urządzenia / R=1 w przypadku odczytu z MCP,  W=0 w przypadku wysyłania informacji do MCP)
  3. Chcąc skomunikować się z MCP wysyłam (Control bit - adres urządzenia oraz kierunek transmisji , adres rejestru, wartość), gdzie adresy rejestrów i bity odpowiadające za poszczególne funkcje opisane są w tabeli poniżej
    image.thumb.png.d5cc17104c70fd3231927fa89b5a2797.png
  4. Chcąc zaprogramować piny jako wyjście musimy ustawić odpowiadające bity w IODIR na 0
    - 1111 1110 = ~0x01 - MCP_PIN_0_OUTPUT
    - 1111 1011 = ~0x04 - MCP_PIN_2_OUTPUT
    - 1101 1011 = ~0x24 - MCP_PIN_5_OUTPUT | MCP_PIN_2_OUTPUT
    - 0101 1011 = ~0xa4 - MCP_PIN_7_SET | MCP_PIN_5_OUTPUT | MCP_PIN_2_OUTPUT
  5. Wyjście pinów MCP ustawiać możemy poprzez wartości wysyłane do rejestru OLAT 
    - 0000 0001  = 0x01 - MCP_PIN_0_SET
    - 0000 0100 =  0x04 - MCP_PIN_2_SET
    - 0010 0100 =  0x24 - MCP_PIN_5_SET | MCP_PIN_2_SET
    - 1010 0100 =  0xa4 - MCP_PIN_7_SET | MCP_PIN_5_SET | MCP_PIN_2_SET
Edytowano przez Emerid
  • Lubię! 1
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.