romkli Napisano Styczeń 24, 2019 Udostępnij Napisano Styczeń 24, 2019 Czy ma ktoś działającą bibliotekę do obsługi wyświetlacza ST7565 działającą pod STM32F103 lub podobnym? Cytuj Link do komentarza Share on other sites More sharing options...
FlyingDutch Styczeń 24, 2019 Udostępnij Styczeń 24, 2019 Cześć, a ta pod tym adresem: https://github.com/mberntsen/STM32-Libraries/blob/master/ST7565/src/ST7565.c nie działa poprawnie? Ten link też może być przydatny: http://www.ladyada.net/learn/lcd/st7565.html Pozdrawiam 2 Cytuj Link do komentarza Share on other sites More sharing options...
romkli Styczeń 24, 2019 Autor tematu Udostępnij Styczeń 24, 2019 Dzięki za podpowiedź. Sprawdziłem i mam pewien problem. Otóż : inline void ST7565_spiwrite(uint8_t c) { //shiftOut(sid, sclk, MSBFIRST, c); while (SPI_GetFlagStatus(SPI1, SPI_FLAG_TXE) == RESET); SPI_SendData(SPI1, c); } mam w trzeciej i czwartej linii błąd. D:\WorkPlace\STM32\TrueStudio\ST7565_STM32F1_20190124\Debug/..\Src/ST7565.c:396: undefined reference to `SPI_GetFlagStatus' D:\WorkPlace\STM32\TrueStudio\ST7565_STM32F1_20190124\Debug/..\Src/ST7565.c:397: undefined reference to `SPI_SendData' Prawdopodobnie brakuje mi pliku stm32f1xx_spi.h, ale jak dodam w include, nie znajduje jego. Przypomnę że pracuję w TrueStudio oraz STM32CubeMX. Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Styczeń 24, 2019 Udostępnij Styczeń 24, 2019 2 godziny temu, romkli napisał: Prawdopodobnie brakuje mi pliku stm32f1xx_spi.h, ale jak dodam w include, nie znajduje jego. Przypomnę że pracuję w TrueStudio oraz STM32CubeMX. Cytowany przez Ciebie fragment bazuje na funkcjach z StdPeriph, musisz sobie przepisać ten fragment na wersję korzystającą z HAL. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
FlyingDutch Styczeń 25, 2019 Udostępnij Styczeń 25, 2019 (edytowany) 12 godzin temu, romkli napisał: Dzięki za podpowiedź. Sprawdziłem i mam pewien problem. Otóż : inline void ST7565_spiwrite(uint8_t c) { //shiftOut(sid, sclk, MSBFIRST, c); while (SPI_GetFlagStatus(SPI1, SPI_FLAG_TXE) == RESET); SPI_SendData(SPI1, c); } mam w trzeciej i czwartej linii błąd. D:\WorkPlace\STM32\TrueStudio\ST7565_STM32F1_20190124\Debug/..\Src/ST7565.c:396: undefined reference to `SPI_GetFlagStatus' D:\WorkPlace\STM32\TrueStudio\ST7565_STM32F1_20190124\Debug/..\Src/ST7565.c:397: undefined reference to `SPI_SendData' Prawdopodobnie brakuje mi pliku stm32f1xx_spi.h, ale jak dodam w include, nie znajduje jego. Przypomnę że pracuję w TrueStudio oraz STM32CubeMX. Cześć, dobrze myślisz, prawdopodobnie brakuje include do pliku nagłówkowego .h do obsługi SPI. Jest on w katalogu projektu: https://github.com/mberntsen/STM32-Libraries/tree/master/STM32F10x_StdPeriph_Driver/inc Musisz odpowiednio podać ścieżkę do pliku nagłówkowego w instrukcji include: #include "../../STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h" Oczywiści musisz mieć cały projekt z Github'a skopiowany lokalnie (źródła). Tak jak napisał Treker ten projekt korzysta z biblioteki "Standard Peripheral" a nie HAL. Jeśli koniecznie musisz mieć HAL, to musisz poszukać projektu opartego na bibliotece HAL, lub "ręcznie" to oprogramować korzystając z dokumentacji do tej biblioteki. Pozdrawiam Edytowano Styczeń 25, 2019 przez FlyingDutch 1 Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Styczeń 25, 2019 Udostępnij Styczeń 25, 2019 Obawiam się że dodanie pliku nagłówkowego nie wystarczy. Błąd "undefined reference" pochodzi od linkera i oznacza, że nie znalazł on wymaganych funkcji. Dodanie nagłówka jedynie poinformuje kompilator o nazwach oraz parametrach, ale nie rozwiąże podstawowego problemu - że funkcji SPI_GetFlagStatus oraz SPI_SendData po prostu brakuje. Trzeba więc je napisać, albo zmienić kod biblioteki wyświetlacza tak, aby działał z używaną biblioteką, czyli HAL. 2 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!