Skocz do zawartości

Biblioteka do obsługi wyświetlaczy GLCD ST7565


Eposas

Pomocna odpowiedź

Znalazłem bibliotekę właśnie tą https://github.com/mberntsen/STM32-Libraries/blob/master/ST7565/src/ST7565.c i mam tam dwie funkcje 

inline void ST7565_spiwrite(uint8_t c) {
  //shiftOut(sid, sclk, MSBFIRST, c);
  while (SPI_GetFlagStatus(SPI2, SPI_FLAG_TXE) == RESET);
  SPI_SendData(SPI2, c);
}

Używam biblioteki HAL i tych funkcji tam nie ma i nie wiem jak rozwiązać ten problem. Kiedyś ten temat już był jednak bez odpowiedzi

Link do komentarza
Share on other sites

Praktycznie wszystkie odpowiedzi znajdziesz w TYM wątku 🙂 

A wersja alternatywna: potrzebujesz bibliotek StdPeriph, a nie HAL (projekt nie bazuje na HAL tylko StdPeriph, stąd brak tych funkcji w HAL).

EDIT:

(Wersja HAL, pisana na sucho)

inline void ST7565_spiwrite(uint8_t c) {
 
	uint8_t buffer[1]; // Tak można zainicjować tablicę w tym miejscu, ale osobiście preferuję to rozdzielać :)
	buffer[0] = c;
	while(HAL_SPI_GetState(&spi) == HAL_SPI_STATE_RESET) // Jak będzie wysyłać kilka transakcji zamiast jednej usunąć tę linijkę
		HAL_SPI_Transmit(&spi, buffer, 1, HAL_MAX_DELAY);
	// Podmień &spi na swoją referencję do SPI ;) 
	// Pisane na sucho, mogą być błędy
    
}

 

Edytowano przez H1M4W4R1
  • 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.