Witam,
Przesiadam się z STM32F103 na F051, a raczej ćwiczę sobie na obu tych mikrokontrolerach. Napisałem program na F0, w celu poćwiczenia sobie z konfiguracją interfejsu SPI. Zadanie jest takie SPI1 posyła dane, a SPI2 odbiera je zgłaszając odbiór. Interfejsy podłączyłem ze sobą SPI1->MISO z SPI2->MISO SCLK - SCLK MOSI - MOSI Niestety komunikacja nie działa, przerwanie nie jest zgłaszane, a do tego rejestry DR w obu interfejsach mają wartość 0.
Kod konfiguracji SPI:
Main - wywołanie:
Przerwania (narazie puste wstawiłem dla wykonania testów tylko breakpointy w obu)
Z góry wielkie dzięki za pomoc. Dodam że sprawdzałem RCC i zarówno SPI1 jak i SPI2 mają ustawiony clk w rejestrach APB1 i 2. Taka sama sytuacja z GPIOA i GPIOB.
Wewnątrz funkcji SPI_I2S_SendData16 przy przypisaniu : SPIx->DR = (uint16_t)Data; wartość DR nie jest zmieniana tylko cały czas wynosi 0.
Przesiadam się z STM32F103 na F051, a raczej ćwiczę sobie na obu tych mikrokontrolerach. Napisałem program na F0, w celu poćwiczenia sobie z konfiguracją interfejsu SPI. Zadanie jest takie SPI1 posyła dane, a SPI2 odbiera je zgłaszając odbiór. Interfejsy podłączyłem ze sobą SPI1->MISO z SPI2->MISO SCLK - SCLK MOSI - MOSI Niestety komunikacja nie działa, przerwanie nie jest zgłaszane, a do tego rejestry DR w obu interfejsach mają wartość 0.
Kod konfiguracji SPI:
Kod: C / C++
Main - wywołanie:
Kod: C / C++
Przerwania (narazie puste wstawiłem dla wykonania testów tylko breakpointy w obu)
Kod: C / C++
Z góry wielkie dzięki za pomoc. Dodam że sprawdzałem RCC i zarówno SPI1 jak i SPI2 mają ustawiony clk w rejestrach APB1 i 2. Taka sama sytuacja z GPIOA i GPIOB.
Wewnątrz funkcji SPI_I2S_SendData16 przy przypisaniu : SPIx->DR = (uint16_t)Data; wartość DR nie jest zmieniana tylko cały czas wynosi 0.