Print text on LCD with different contrast changed over time.
Toolkit:STM Development System
Location:/bipom/devtools/STM32/examples/lcd
/******************************************************************************* ; ; DelayLCD is a call-back function from LCD driver. ; It has to provide the necessary delay in ms. ; If user application is based on FreeRTOS it is necessary ; to use vTaskDelay. ; If user application is stand-alone it is necessary ; to use delayMs. *******************************************************************************/ void DelayLCD(int ms) { vTaskDelay(ms); } //******************************************************************************** static void vLCDTEST( void *pvParameters ) { char line[32] = {0}; int contrast = 100; (void) pvParameters; // // Adjust contrast AdjustContrastLCD(contrast); // Initialize LCD InitializeLCD(); // Clear display CursorOffLCD(); ClearLCD(); strcpy(line, "Mini-Max/STM32-F1"); SetTopLineLCD(); printf_LCD(line,1); // strcpy(line, "FreeRTOS LCD TEST"); SetBottomLineLCD(); printf_LCD(line,2); vTaskDelay(3000); ClearLCD(); while(1) { AdjustContrastLCD(contrast); // strcpy(line, "Mini-Max/STM32-F1"); SetTopLineLCD(); printf_LCD(line,1); // bipom_sprintf(line, "LCD contrast:%03d", contrast); SetBottomLineLCD(); printf_LCD(line,1); WriteDataLCD('%'); // vTaskDelay(1000); // if( contrast ) contrast -= 10; else contrast = 100; } } //******************************************************************************** int main(void) { /* Initialize all port pins */ DIO_Init(); delayMs(250); // tprintf("\n\rMini-Max/STM32F1"); tprintf("\n\rLCD TEST REV 1.01"); // if(pdPASS != xTaskCreate (vLCDTEST, ( const signed portCHAR * const )"LCDTEST", configMINIMAL_STACK_SIZE<<4, NULL, tskIDLE_PRIORITY, NULL )) { tprintf("\n\rERROR: can't create LCDTEST task"); for(;;); } /* Now all the tasks have been started - start the scheduler. */ vTaskStartScheduler(); return 0; }