Bonjour à tous !!
Je viens demander votre aide après plusieurs recherches et tests sans succès.
En effet, je travaille sur un projet et une partie de ce dernier nécessite l'utilisation d'un écran OLED.
Le microcontrôleur utilisé est un STM32F4 et pour le test des différentes fonctions, j'utilise l'équivalent en NUCLEO.
Mon écran OLED est un 128x64 de Solomon.
Mon problème actuellement est je n'arrive pas à afficher les informations les l'écran et pourtant tous les configurations ont bien été faites.
Par contre, j'envoie très bien les commande les commandes au point d'allumer l'écran et le scroler.
Pour l'envoie des commande, je le fais comme suit :
Sachant que j'ai crée un tableau de commande et ce qui semble très bien marcher car j'exécute les commandes telles ON/OFF et scroling.Code:HAL_GPIO_WritePin(Mas_CS_GPIO_Port, Mas_CS_Pin,GPIO_PIN_RESET); HAL_GPIO_WritePin(SPI1_D_C_GPIO_Port, SPI1_D_C_Pin, GPIO_PIN_RESET); HAL_Delay(100); HAL_SPI_Transmit(&hspi1, &WRITE_COMMAND[0], 1, 100);
Pour l'écriture sur l'écran, je le fais comme suit :
Pour les scroling qui semble très bien marcher, je le fais comme suit :Code HTML:HAL_GPIO_WritePin(SPI1_Mas_CS_GPIO_Port, SPI1_Mas_CS_Pin,GPIO_PIN_RESET); HAL_GPIO_WritePin(SPI1_Mas_D_C_GPIO_Port, SPI1_Mas_D_C_Pin, GPIO_PIN_SET); char Message[] = "Hello word"; // la fonction strlen permet de calculer la longueur, exprimée en nombre de caractères, de la chaîne de caractères HAL_SPI_Transmit(&hspi1, (uint8_t *)Message, strlen(Message), 1000); //Affichage HAL_Delay(100);
S'il vous est-ce qu'il y a des personnes qui pourraient m'apporter leurs aide sur ce sujet ?Code HTML:// Partial screen horizontal right side scrolling with 1 column shift in every 5 frames void SSD1309Z_ScrollPartialRight() { HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[0], 1, 1000); // send 0x26 for Right horizontal scroll HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[1], 1, 1000); // send dummy HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[2], 1, 1000); // Define PAGE4 as start page address HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[3], 1, 1000); // Set time interval between each scroll step as 5 frames HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[4], 1, 1000); // Define PAGES7 as end page address HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[5], 1, 1000); // Dummy byte HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[6], 1, 1000); // Define SEG0 as start column address HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[7], 1, 1000); // Define SEG 127 as end column address HAL_SPI_Transmit(&hspi1, &SCROLL_COMMAND[8], 1, 1000); // Activate scrolling // end page address }
Je vous remercie d'avance et bon dimanche à tous !!
Je reste bien-sûr disponible pour plus d'informations.
-----