2016-03-09 07:37 AM
Hello,
Recently I got the STM32L476 Nucleo-64 board. Now I am trying to interface it with LCD display. To generate code (initialization and so on) I used the STM32CubeMX. LCD Initialization function is written by me (based on what's here: http://web.alfredstate.edu/weimandn/lcd/lcd_initialization/lcd_initialization_index.html)#define Bit_SET GPIO_PIN_SET
#define Bit_RESET GPIO_PIN_RESET
void LCD_WriteNibble(unsigned char nibbleToWrite)
{
int delayCnt;
HAL_GPIO_WritePin(LCD_Ctrl_Port, LCD_EN_Pin, Bit_RESET);
for(delayCnt=0; delayCnt<5000; delayCnt++);
HAL_GPIO_WritePin(LCD_Data_Port, LCD_D4_Pin, (nibbleToWrite & (unsigned char)0x01));
HAL_GPIO_WritePin(LCD_Data_Port, LCD_D5_Pin, (nibbleToWrite & (unsigned char)0x02));
HAL_GPIO_WritePin(LCD_Data_Port, LCD_D6_Pin, (nibbleToWrite & (unsigned char)0x04));
HAL_GPIO_WritePin(LCD_Data_Port, LCD_D7_Pin, (nibbleToWrite & (unsigned char)0x08));
HAL_GPIO_WritePin(LCD_Ctrl_Port, LCD_EN_Pin, Bit_SET);
for(delayCnt=0; delayCnt<5000; delayCnt++);
HAL_GPIO_WritePin(LCD_Ctrl_Port, LCD_EN_Pin, Bit_RESET);
}
void LCD_Init2()
{
int i=0, delayCnt=0;
for (delayCnt=0;delayCnt<1000000;delayCnt++);
GPIO_ResetBits(GPIOA, LCD_RS_Pin | LCD_EN_Pin | LCD_RW_Pin);
for(i = 0; i < 3; i++) {
LCD_WriteNibble(0x03);
for(delayCnt = 0; delayCnt < 1000000; delayCnt++);
}
LCD_WriteNibble(0x02);
for(delayCnt = 0; delayCnt < 600000; delayCnt++);
LCD_WriteNibble(0x02);
for(delayCnt = 0; delayCnt < 600000; delayCnt++);
LCD_WriteNibble(0x02);
LCD_WriteNibble(0x08);
for(delayCnt = 0; delayCnt < 600000; delayCnt++);
LCD_WriteNibble(0x00);
LCD_WriteNibble(0x08);
for(delayCnt = 0; delayCnt < 600000; delayCnt++);
LCD_WriteNibble(0x00);
LCD_WriteNibble(0x01);
for(delayCnt = 0; delayCnt < 600000; delayCnt++);
LCD_WriteNibble(0x00);
LCD_WriteNibble(0x06);
for(delayCnt = 0; delayCnt < 600000; delayCnt++);
LCD_WriteNibble(0x00);
LCD_WriteNibble(0x0C);
for(delayCnt = 0; delayCnt < 600000; delayCnt++);
}
Unfortunately, it isn't working and I can't figure out why. There is still a bunch of rectangles in upper row:
I would be very grateful if somebody could help me.
Best regards,
TSM
#hd44780 #stm32l4 #hal #lcd-display
2018-07-30 02:38 AM
2018-07-30 05:42 AM
Yes, the larger posts seem to have an issue, you'll need to talk to @brk about transition efforts/schedules.
Here the Format Code Block data is damaged too.
I would however generally advise against posting answers to threads which are several years old, the OP is unlikely to find the answer or be alerted.