Skocz do zawartości

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


Pomocna odpowiedź

  • 5 miesiące później...

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.

@Gieneq Na stronach 28-33 faktycznie jest opis pinów, ale nie widzę informacji, jak powiązać to z rozmieszczeniem na płytce Nucleo. Chodzi mi o coś podobnego do poniższego rysunku, ale z oficjalnych dokumentów.
 

STM32F103RB_Pinout.gif.f64b74ff4321e7df4d3da6452a96b3dd.gif

(edytowany)

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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...