From 7ff9b907f297c6b288e7b97d11aecc014914bc59 Mon Sep 17 00:00:00 2001 From: Annika <fanta99a@yahoo.de> Date: Thu, 27 May 2021 19:17:24 +0200 Subject: [PATCH] Diplay funktioniert --- Core/Inc/main.h | 28 ++-- Core/Src/main.c | 236 ++++++++++++++++++------------ F413_FreeRTOS_LED_Matrix_Game.ioc | 128 ++++++++-------- 3 files changed, 220 insertions(+), 172 deletions(-) diff --git a/Core/Inc/main.h b/Core/Inc/main.h index 35de1b3..671c249 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -60,35 +60,39 @@ void Error_Handler(void); /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ +#define LCD_D7_Pin GPIO_PIN_2 +#define LCD_D7_GPIO_Port GPIOE +#define LCD_D4_Pin GPIO_PIN_4 +#define LCD_D4_GPIO_Port GPIOE +#define LCD_D5_Pin GPIO_PIN_5 +#define LCD_D5_GPIO_Port GPIOE +#define LCD_D6_Pin GPIO_PIN_6 +#define LCD_D6_GPIO_Port GPIOE #define USER_Btn_Pin GPIO_PIN_13 #define USER_Btn_GPIO_Port GPIOC #define USER_Btn_EXTI_IRQn EXTI15_10_IRQn +#define LCD_RS_Pin GPIO_PIN_7 +#define LCD_RS_GPIO_Port GPIOF +#define LCD_RW_Pin GPIO_PIN_8 +#define LCD_RW_GPIO_Port GPIOF +#define LCD_E_Pin GPIO_PIN_9 +#define LCD_E_GPIO_Port GPIOF #define MCO_Pin GPIO_PIN_0 #define MCO_GPIO_Port GPIOH -#define LCD_E_Pin GPIO_PIN_1 -#define LCD_E_GPIO_Port GPIOC -#define LCD_RS_Pin GPIO_PIN_2 -#define LCD_RS_GPIO_Port GPIOC #define Matrix_Pin GPIO_PIN_0 #define Matrix_GPIO_Port GPIOA #define LED_green_Pin GPIO_PIN_0 #define LED_green_GPIO_Port GPIOB -#define LCD_D4_Pin GPIO_PIN_1 -#define LCD_D4_GPIO_Port GPIOB #define LED_red_Pin GPIO_PIN_14 #define LED_red_GPIO_Port GPIOB #define STLK_RX_Pin GPIO_PIN_8 #define STLK_RX_GPIO_Port GPIOD #define STLK_TX_Pin GPIO_PIN_9 #define STLK_TX_GPIO_Port GPIOD -#define LCD_D7_Pin GPIO_PIN_13 -#define LCD_D7_GPIO_Port GPIOD #define USB_PowerSwitchOn_Pin GPIO_PIN_6 #define USB_PowerSwitchOn_GPIO_Port GPIOG #define USB_OverCurrent_Pin GPIO_PIN_7 #define USB_OverCurrent_GPIO_Port GPIOG -#define LCD_RW_Pin GPIO_PIN_7 -#define LCD_RW_GPIO_Port GPIOC #define LED1_Pin GPIO_PIN_8 #define LED1_GPIO_Port GPIOC #define LED2_Pin GPIO_PIN_9 @@ -125,12 +129,8 @@ void Error_Handler(void); #define btn4_EXTI_IRQn EXTI9_5_IRQn #define SWO_Pin GPIO_PIN_3 #define SWO_GPIO_Port GPIOB -#define LCD_D6_Pin GPIO_PIN_5 -#define LCD_D6_GPIO_Port GPIOB #define LED_blue_Pin GPIO_PIN_7 #define LED_blue_GPIO_Port GPIOB -#define LCD_D5_Pin GPIO_PIN_0 -#define LCD_D5_GPIO_Port GPIOE /* USER CODE BEGIN Private defines */ #define btn1 btn1_Pin #define btn2 btn2_Pin diff --git a/Core/Src/main.c b/Core/Src/main.c index 0e8b8a1..0908e71 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -26,7 +26,6 @@ #include "ws2812b.h" #include "queue.h" #include "semphr.h" - /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -41,15 +40,7 @@ /* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM */ -#define LCD_E() { HAL_GPIO_WritePin(LCD_E_GPIO_Port, LCD_E_Pin, GPIO_PIN_SET);\ - HAL_Delay(1);\ - HAL_GPIO_WritePin(LCD_E_GPIO_Port, LCD_E_Pin, GPIO_PIN_RESET);\ - HAL_Delay(1);\ - } -#define LCD_RW(state) {HAL_GPIO_WritePin(LCD_RW_GPIO_Port, LCD_RW_Pin, (state) ? GPIO_PIN_SET : GPIO_PIN_RESET); } -#define LCD_RS(state) {HAL_GPIO_WritePin(LCD_RS_GPIO_Port, LCD_RS_Pin, (state) ? GPIO_PIN_SET : GPIO_PIN_RESET); } -#define LCD_Command(data) {LCD_send(0, data);} -#define LCD_Data(data) {LCD_send(1,data);} + /* USER CODE END PM */ /* Private variables ---------------------------------------------------------*/ @@ -156,11 +147,13 @@ void Display(void *argument); /* USER CODE BEGIN PFP */ extern TIM_HandleTypeDef htim7; -void LCD_Write4Bit(uint8_t); -void LCD_send(_Bool,uint8_t); -void LCD_init(void); -void LCD_print(char *); -void LCD_setCursor(uint8_t, uint8_t); +void lcd_init(void); +void lcd_put_cur(int, int); +void lcd_send_data(char); +void ldc_send_cmd(char); +void send_to_lcd(char,int); +void lcd_send_string(char*); +void lcd_clear(void); /* USER CODE END PFP */ @@ -201,12 +194,21 @@ int main(void) MX_USART3_UART_Init(); MX_USB_OTG_FS_PCD_Init(); MX_TIM2_Init(); - /* USER CODE BEGIN 2 */ - LCD_init(); + /* USER CODE BEGIN 2 */ - LCD_setCursor(0,0); - LCD_print("Hello World!!"); + lcd_init(); + lcd_clear(); + lcd_put_cur(0, 0); + lcd_send_string("HELLO "); + // lcd_send_string("WORLD "); + // lcd_send_string("FROM"); + // HAL_Delay(1000); + lcd_put_cur(1, 0); + lcd_send_string("CONTROLLERSTECH"); + lcd_clear(); + // HAL_Delay(2000); + // lcd_clear(); /* USER CODE END 2 */ @@ -502,30 +504,36 @@ static void MX_GPIO_Init(void) GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOE_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOE_CLK_ENABLE(); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, LCD_E_Pin|LCD_RS_Pin|LCD_RW_Pin|LED1_Pin - |LED2_Pin|LED3_Pin|LED4_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOE, LCD_D7_Pin|LCD_D4_Pin|LCD_D5_Pin|LCD_D6_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOB, LED_green_Pin|LCD_D4_Pin|LED_red_Pin|LCD_D6_Pin - |LED_blue_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOF, LCD_RS_Pin|LCD_RW_Pin|LCD_E_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(LCD_D7_GPIO_Port, LCD_D7_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOB, LED_green_Pin|LED_red_Pin|LED_blue_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(USB_PowerSwitchOn_GPIO_Port, USB_PowerSwitchOn_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(LCD_D5_GPIO_Port, LCD_D5_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOC, LED1_Pin|LED2_Pin|LED3_Pin|LED4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : LCD_D7_Pin LCD_D4_Pin LCD_D5_Pin LCD_D6_Pin */ + GPIO_InitStruct.Pin = LCD_D7_Pin|LCD_D4_Pin|LCD_D5_Pin|LCD_D6_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); /*Configure GPIO pin : USER_Btn_Pin */ GPIO_InitStruct.Pin = USER_Btn_Pin; @@ -533,31 +541,20 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(USER_Btn_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pins : LCD_E_Pin LCD_RS_Pin LCD_RW_Pin LED1_Pin - LED2_Pin LED3_Pin LED4_Pin */ - GPIO_InitStruct.Pin = LCD_E_Pin|LCD_RS_Pin|LCD_RW_Pin|LED1_Pin - |LED2_Pin|LED3_Pin|LED4_Pin; + /*Configure GPIO pins : LCD_RS_Pin LCD_RW_Pin LCD_E_Pin */ + GPIO_InitStruct.Pin = LCD_RS_Pin|LCD_RW_Pin|LCD_E_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); - /*Configure GPIO pins : LED_green_Pin LCD_D4_Pin LED_red_Pin LCD_D6_Pin - LED_blue_Pin */ - GPIO_InitStruct.Pin = LED_green_Pin|LCD_D4_Pin|LED_red_Pin|LCD_D6_Pin - |LED_blue_Pin; + /*Configure GPIO pins : LED_green_Pin LED_red_Pin LED_blue_Pin */ + GPIO_InitStruct.Pin = LED_green_Pin|LED_red_Pin|LED_blue_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - /*Configure GPIO pin : LCD_D7_Pin */ - GPIO_InitStruct.Pin = LCD_D7_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(LCD_D7_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pin : USB_PowerSwitchOn_Pin */ GPIO_InitStruct.Pin = USB_PowerSwitchOn_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; @@ -571,19 +568,19 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(USB_OverCurrent_GPIO_Port, &GPIO_InitStruct); + /*Configure GPIO pins : LED1_Pin LED2_Pin LED3_Pin LED4_Pin */ + GPIO_InitStruct.Pin = LED1_Pin|LED2_Pin|LED3_Pin|LED4_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + /*Configure GPIO pins : btn1_Pin btn2_Pin btn3_Pin btn4_Pin */ GPIO_InitStruct.Pin = btn1_Pin|btn2_Pin|btn3_Pin|btn4_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; GPIO_InitStruct.Pull = GPIO_PULLDOWN; HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - /*Configure GPIO pin : LCD_D5_Pin */ - GPIO_InitStruct.Pin = LCD_D5_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(LCD_D5_GPIO_Port, &GPIO_InitStruct); - /* EXTI interrupt init*/ HAL_NVIC_SetPriority(EXTI4_IRQn, 5, 0); HAL_NVIC_EnableIRQ(EXTI4_IRQn); @@ -598,48 +595,99 @@ static void MX_GPIO_Init(void) /* USER CODE BEGIN 4 */ +void send_to_lcd (char data, int rs) +{ + HAL_GPIO_WritePin(LCD_RS_GPIO_Port, LCD_RS_Pin, rs); // rs = 1 for data, rs=0 for command + /* write the data to the respective pin */ + HAL_GPIO_WritePin(LCD_D7_GPIO_Port, LCD_D7_Pin, ((data>>3)&0x01)); + HAL_GPIO_WritePin(LCD_D6_GPIO_Port, LCD_D6_Pin, ((data>>2)&0x01)); + HAL_GPIO_WritePin(LCD_D5_GPIO_Port, LCD_D5_Pin, ((data>>1)&0x01)); + HAL_GPIO_WritePin(LCD_D4_GPIO_Port, LCD_D4_Pin, ((data>>0)&0x01)); + /* Toggle EN PIN to send the data + * if the HCLK > 100 MHz, use the 20 us delay + * if the LCD still doesn't work, increase the delay to 50, 80 or 100.. + */ + HAL_GPIO_WritePin(LCD_E_GPIO_Port, LCD_E_Pin, 1); + vTaskDelay(20); + HAL_GPIO_WritePin(LCD_E_GPIO_Port, LCD_E_Pin, 0); + vTaskDelay(20); +} - void LCD_Write4Bit(uint8_t data) - { - HAL_GPIO_WritePin(LCD_D4_GPIO_Port, LCD_D4_Pin, ((data >> 0)&1)? GPIO_PIN_SET : GPIO_PIN_RESET); - HAL_GPIO_WritePin(LCD_D5_GPIO_Port, LCD_D4_Pin, ((data >> 1)&1)? GPIO_PIN_SET : GPIO_PIN_RESET); - HAL_GPIO_WritePin(LCD_D6_GPIO_Port, LCD_D4_Pin, ((data >> 2)&1)? GPIO_PIN_SET : GPIO_PIN_RESET); - HAL_GPIO_WritePin(LCD_D7_GPIO_Port, LCD_D4_Pin, ((data >> 3)&1)? GPIO_PIN_SET : GPIO_PIN_RESET); - } - void LCD_send(_Bool mode,uint8_t data) - { - LCD_RW(0); - if(mode){LCD_RS(1);} - else {LCD_RS(0);} - - LCD_Write4Bit(data >> 4); - LCD_E(); - LCD_Write4Bit(data); - LCD_E(); - } - void LCD_init(void) - { - LCD_RW(0); - - LCD_Command(0x30); - LCD_Command(0x32); - LCD_Command(0x28); - LCD_Command(0x0c); - LCD_Command(0xc6); - } - void LCD_print(char *pData) - { - while(*pData) - { - LCD_Data(*pData ++); - } - } - void LCD_setCursor(uint8_t x, uint8_t y) - { - if(y == 0) LCD_Command( 0x80 + x); - if(y == 1) LCD_Command( 0xc0 + x); - } - +void lcd_send_cmd (char cmd) +{ + char datatosend; + /* send upper nibble first */ + datatosend = ((cmd>>4)&0x0f); + send_to_lcd(datatosend,0); // RS must be while sending command + /* send Lower Nibble */ + datatosend = ((cmd)&0x0f); + send_to_lcd(datatosend, 0); +} + +void lcd_send_data (char data) +{ + char datatosend; + + /* send higher nibble */ + datatosend = ((data>>4)&0x0f); + send_to_lcd(datatosend, 1); // rs =1 for sending data + /* send Lower nibble */ + datatosend = ((data)&0x0f); + send_to_lcd(datatosend, 1); +} + +void lcd_init (void) +{ + // 4 bit initialisation + HAL_Delay(50); // wait for >40ms + lcd_send_cmd (0x30); + HAL_Delay(5); // wait for >4.1ms + lcd_send_cmd (0x30); + HAL_Delay(1); // wait for >100us + lcd_send_cmd (0x30); + HAL_Delay(10); + lcd_send_cmd (0x20); // 4bit mode + HAL_Delay(10); + + // dislay initialisation + lcd_send_cmd (0x28); // Function set --> DL=0 (4 bit mode), N = 1 (2 line display) F = 0 (5x8 characters) + HAL_Delay(1); + lcd_send_cmd (0x08); //Display on/off control --> D=0,C=0, B=0 ---> display off + HAL_Delay(1); + lcd_send_cmd (0x01); // clear display + HAL_Delay(1); + HAL_Delay(1); + lcd_send_cmd (0x06); //Entry mode set --> I/D = 1 (increment cursor) & S = 0 (no shift) + HAL_Delay(1); + lcd_send_cmd (0x0C); //Display on/off control --> D = 1, C and B = 0. (Cursor and blink, last two bits) +} + +void lcd_put_cur(int row, int col) +{ + switch (row) + { + case 0: + col |= 0x80; + break; + case 1: + col |= 0xC0; + break; + } + + lcd_send_cmd (col); +} + +void lcd_send_string (char *str) +{ + while (*str) lcd_send_data (*str++); +} + +void lcd_clear (void) +{ + lcd_send_cmd(0x01); + HAL_Delay(2); +} + void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { @@ -977,13 +1025,13 @@ void Display(void *argument) punkte[1] = (points %100) / 10; punkte[2] = points % 10; } - LCD_init(); - LCD_setCursor(0,0); + // LCD_init(); + // LCD_setCursor(0,0); - LCD_print(punkte); + // LCD_print(punkte); if(rec == 0) { - LCD_print("You are dead"); + // LCD_print("You are dead"); } } /* USER CODE END Display */ diff --git a/F413_FreeRTOS_LED_Matrix_Game.ioc b/F413_FreeRTOS_LED_Matrix_Game.ioc index 0a05d9c..b855d9e 100644 --- a/F413_FreeRTOS_LED_Matrix_Game.ioc +++ b/F413_FreeRTOS_LED_Matrix_Game.ioc @@ -33,45 +33,45 @@ Mcu.IP7=USB_OTG_FS Mcu.IPNb=8 Mcu.Name=STM32F413Z(G-H)Tx Mcu.Package=LQFP144 -Mcu.Pin0=PC13 -Mcu.Pin1=PC14-OSC32_IN -Mcu.Pin10=PB14 -Mcu.Pin11=PD8 -Mcu.Pin12=PD9 -Mcu.Pin13=PD13 -Mcu.Pin14=PG6 -Mcu.Pin15=PG7 -Mcu.Pin16=PC7 -Mcu.Pin17=PC8 -Mcu.Pin18=PC9 -Mcu.Pin19=PA8 -Mcu.Pin2=PC15-OSC32_OUT -Mcu.Pin20=PA9 -Mcu.Pin21=PA10 -Mcu.Pin22=PA11 -Mcu.Pin23=PA12 -Mcu.Pin24=PA13 -Mcu.Pin25=PA14 -Mcu.Pin26=PC10 -Mcu.Pin27=PC11 -Mcu.Pin28=PD4 -Mcu.Pin29=PD5 -Mcu.Pin3=PH0 - OSC_IN -Mcu.Pin30=PD6 -Mcu.Pin31=PD7 -Mcu.Pin32=PB3 -Mcu.Pin33=PB5 -Mcu.Pin34=PB7 -Mcu.Pin35=PE0 +Mcu.Pin0=PE2 +Mcu.Pin1=PE4 +Mcu.Pin10=PH0 - OSC_IN +Mcu.Pin11=PH1 - OSC_OUT +Mcu.Pin12=PA0 +Mcu.Pin13=PB0 +Mcu.Pin14=PB14 +Mcu.Pin15=PD8 +Mcu.Pin16=PD9 +Mcu.Pin17=PG6 +Mcu.Pin18=PG7 +Mcu.Pin19=PC8 +Mcu.Pin2=PE5 +Mcu.Pin20=PC9 +Mcu.Pin21=PA8 +Mcu.Pin22=PA9 +Mcu.Pin23=PA10 +Mcu.Pin24=PA11 +Mcu.Pin25=PA12 +Mcu.Pin26=PA13 +Mcu.Pin27=PA14 +Mcu.Pin28=PC10 +Mcu.Pin29=PC11 +Mcu.Pin3=PE6 +Mcu.Pin30=PD4 +Mcu.Pin31=PD5 +Mcu.Pin32=PD6 +Mcu.Pin33=PD7 +Mcu.Pin34=PB3 +Mcu.Pin35=PB7 Mcu.Pin36=VP_FREERTOS_VS_CMSIS_V2 Mcu.Pin37=VP_SYS_VS_tim7 Mcu.Pin38=VP_TIM2_VS_ClockSourceINT -Mcu.Pin4=PH1 - OSC_OUT -Mcu.Pin5=PC1 -Mcu.Pin6=PC2 -Mcu.Pin7=PA0 -Mcu.Pin8=PB0 -Mcu.Pin9=PB1 +Mcu.Pin4=PC13 +Mcu.Pin5=PC14-OSC32_IN +Mcu.Pin6=PC15-OSC32_OUT +Mcu.Pin7=PF7 +Mcu.Pin8=PF8 +Mcu.Pin9=PF9 Mcu.PinsNb=39 Mcu.ThirdPartyNb=0 Mcu.UserConstants= @@ -144,10 +144,6 @@ PB0.GPIOParameters=GPIO_Label PB0.GPIO_Label=LED_green PB0.Locked=true PB0.Signal=GPIO_Output -PB1.GPIOParameters=GPIO_Label -PB1.GPIO_Label=LCD_D4 -PB1.Locked=true -PB1.Signal=GPIO_Output PB14.GPIOParameters=GPIO_Label PB14.GPIO_Label=LED_red PB14.Locked=true @@ -156,18 +152,10 @@ PB3.GPIOParameters=GPIO_Label PB3.GPIO_Label=SWO PB3.Locked=true PB3.Signal=SYS_JTDO-SWO -PB5.GPIOParameters=GPIO_Label -PB5.GPIO_Label=LCD_D6 -PB5.Locked=true -PB5.Signal=GPIO_Output PB7.GPIOParameters=GPIO_Label PB7.GPIO_Label=LED_blue PB7.Locked=true PB7.Signal=GPIO_Output -PC1.GPIOParameters=GPIO_Label -PC1.GPIO_Label=LCD_E -PC1.Locked=true -PC1.Signal=GPIO_Output PC10.GPIOParameters=GPIO_Label PC10.GPIO_Label=LED3 PC10.Locked=true @@ -186,14 +174,6 @@ PC14-OSC32_IN.Signal=RCC_OSC32_IN PC15-OSC32_OUT.Locked=true PC15-OSC32_OUT.Mode=LSE-External-Oscillator PC15-OSC32_OUT.Signal=RCC_OSC32_OUT -PC2.GPIOParameters=GPIO_Label -PC2.GPIO_Label=LCD_RS -PC2.Locked=true -PC2.Signal=GPIO_Output -PC7.GPIOParameters=GPIO_Label -PC7.GPIO_Label=LCD_RW -PC7.Locked=true -PC7.Signal=GPIO_Output PC8.GPIOParameters=GPIO_Label PC8.GPIO_Label=LED1 PC8.Locked=true @@ -202,10 +182,6 @@ PC9.GPIOParameters=GPIO_Label PC9.GPIO_Label=LED2 PC9.Locked=true PC9.Signal=GPIO_Output -PD13.GPIOParameters=GPIO_Label -PD13.GPIO_Label=LCD_D7 -PD13.Locked=true -PD13.Signal=GPIO_Output PD4.GPIOParameters=GPIO_PuPd,GPIO_Label PD4.GPIO_Label=btn1 PD4.GPIO_PuPd=GPIO_PULLDOWN @@ -236,10 +212,34 @@ PD9.GPIO_Label=STLK_TX [STM32F103CBT6_PA2] PD9.Locked=true PD9.Mode=Asynchronous PD9.Signal=USART3_RX -PE0.GPIOParameters=GPIO_Label -PE0.GPIO_Label=LCD_D5 -PE0.Locked=true -PE0.Signal=GPIO_Output +PE2.GPIOParameters=GPIO_Label +PE2.GPIO_Label=LCD_D7 +PE2.Locked=true +PE2.Signal=GPIO_Output +PE4.GPIOParameters=GPIO_Label +PE4.GPIO_Label=LCD_D4 +PE4.Locked=true +PE4.Signal=GPIO_Output +PE5.GPIOParameters=GPIO_Label +PE5.GPIO_Label=LCD_D5 +PE5.Locked=true +PE5.Signal=GPIO_Output +PE6.GPIOParameters=GPIO_Label +PE6.GPIO_Label=LCD_D6 +PE6.Locked=true +PE6.Signal=GPIO_Output +PF7.GPIOParameters=GPIO_Label +PF7.GPIO_Label=LCD_RS +PF7.Locked=true +PF7.Signal=GPIO_Output +PF8.GPIOParameters=GPIO_Label +PF8.GPIO_Label=LCD_RW +PF8.Locked=true +PF8.Signal=GPIO_Output +PF9.GPIOParameters=GPIO_Label +PF9.GPIO_Label=LCD_E +PF9.Locked=true +PF9.Signal=GPIO_Output PG6.GPIOParameters=GPIO_Label PG6.GPIO_Label=USB_PowerSwitchOn [STMPS2151STR_EN] PG6.Locked=true -- GitLab