From beffb9e0be43da9561857fa7388ac6d7cf22be4f Mon Sep 17 00:00:00 2001 From: jose5556 Date: Tue, 20 Jan 2026 10:01:03 +0000 Subject: [PATCH] Add I2C3 GPIO configuration for PC1 and PA7 --- README.md | 2 ++ ThreadX_Os/Core/Src/main.c | 16 +++++++++ ThreadX_Os/ThreadX_Os.ioc | 66 +++++++++++++++++++++----------------- 3 files changed, 54 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index a62f1a0..b027ce3 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ This project implements a real-time speed sensor and CAN communication system on - FDCAN1_RX -> PB_8 (CAN_RX) - FDCAN1_TX -> PB_9 (CAN_TX) - TIM1_CH1 -> PA_8 (Sensor speed) + - I2C3 -> PA_7 (SCL) + - I2C3 -> PC_1 (SDA) # How to Extend The Project - Implement a mechanism to process incoming data and perform the appropriate actions. diff --git a/ThreadX_Os/Core/Src/main.c b/ThreadX_Os/Core/Src/main.c index 04c553e..ffbf7ab 100644 --- a/ThreadX_Os/Core/Src/main.c +++ b/ThreadX_Os/Core/Src/main.c @@ -586,6 +586,22 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(WRLS_WKUP_B_GPIO_Port, &GPIO_InitStruct); + /*Configure GPIO pin : PC1 */ + GPIO_InitStruct.Pin = GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF4_I2C3; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pin : PA7 */ + GPIO_InitStruct.Pin = GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF4_I2C3; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /*Configure GPIO pins : WRLS_NOTIFY_Pin Mems_INT_IIS2MDC_Pin USB_IANA_Pin */ GPIO_InitStruct.Pin = WRLS_NOTIFY_Pin|Mems_INT_IIS2MDC_Pin|USB_IANA_Pin; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; diff --git a/ThreadX_Os/ThreadX_Os.ioc b/ThreadX_Os/ThreadX_Os.ioc index 26c400b..491ea92 100644 --- a/ThreadX_Os/ThreadX_Os.ioc +++ b/ThreadX_Os/ThreadX_Os.ioc @@ -84,41 +84,43 @@ Mcu.Pin43=PF6 Mcu.Pin44=PE10 Mcu.Pin45=PG6 Mcu.Pin46=PH1-OSC_OUT (PH1) -Mcu.Pin47=PE9 -Mcu.Pin48=PG5 -Mcu.Pin49=PD14 +Mcu.Pin47=PC1 +Mcu.Pin48=PA7 +Mcu.Pin49=PE9 Mcu.Pin5=PH12 -Mcu.Pin50=PC3 -Mcu.Pin51=PF12 -Mcu.Pin52=PE8 -Mcu.Pin53=PB10 -Mcu.Pin54=PD10 -Mcu.Pin55=PD13 -Mcu.Pin56=PG2 -Mcu.Pin57=PF14 -Mcu.Pin58=PB11 -Mcu.Pin59=PB12 +Mcu.Pin50=PG5 +Mcu.Pin51=PD14 +Mcu.Pin52=PC3 +Mcu.Pin53=PF12 +Mcu.Pin54=PE8 +Mcu.Pin55=PB10 +Mcu.Pin56=PD10 +Mcu.Pin57=PD13 +Mcu.Pin58=PG2 +Mcu.Pin59=PF14 Mcu.Pin6=PH3-BOOT0 -Mcu.Pin60=PB15 -Mcu.Pin61=PF11 -Mcu.Pin62=PE11 -Mcu.Pin63=PB1 -Mcu.Pin64=PF15 -Mcu.Pin65=VP_ICACHE_VS_ICACHE -Mcu.Pin66=VP_LPBAMQUEUE_VS_QUEUE -Mcu.Pin67=VP_PWR_VS_DBSignals -Mcu.Pin68=VP_PWR_VS_SECSignals -Mcu.Pin69=VP_PWR_VS_LPOM +Mcu.Pin60=PB11 +Mcu.Pin61=PB12 +Mcu.Pin62=PB15 +Mcu.Pin63=PF11 +Mcu.Pin64=PE11 +Mcu.Pin65=PB1 +Mcu.Pin66=PF15 +Mcu.Pin67=VP_ICACHE_VS_ICACHE +Mcu.Pin68=VP_LPBAMQUEUE_VS_QUEUE +Mcu.Pin69=VP_PWR_VS_DBSignals Mcu.Pin7=PB5 -Mcu.Pin70=VP_SYS_VS_tim6 -Mcu.Pin71=VP_THREADX_VS_RTOSJjThreadXJjCoreJjDefault -Mcu.Pin72=VP_TIM1_VS_ControllerModeClock -Mcu.Pin73=VP_LPBAM_VS_SIG1 -Mcu.Pin74=VP_LPBAM_VS_SIG4 -Mcu.Pin75=VP_MEMORYMAP_VS_MEMORYMAP +Mcu.Pin70=VP_PWR_VS_SECSignals +Mcu.Pin71=VP_PWR_VS_LPOM +Mcu.Pin72=VP_SYS_VS_tim6 +Mcu.Pin73=VP_THREADX_VS_RTOSJjThreadXJjCoreJjDefault +Mcu.Pin74=VP_TIM1_VS_ControllerModeClock +Mcu.Pin75=VP_LPBAM_VS_SIG1 +Mcu.Pin76=VP_LPBAM_VS_SIG4 +Mcu.Pin77=VP_MEMORYMAP_VS_MEMORYMAP Mcu.Pin8=PD4 Mcu.Pin9=PC10 -Mcu.PinsNb=76 +Mcu.PinsNb=78 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32U585AIIxQ @@ -168,6 +170,8 @@ PA15\ (JTDI).GPIOParameters=GPIO_Label PA15\ (JTDI).GPIO_Label=USB.UCPD_CC1 PA15\ (JTDI).Locked=true PA15\ (JTDI).Signal=UCPD1_CC1 +PA7.Locked=true +PA7.Signal=I2C3_SCL PA8.Signal=S_TIM1_CH1 PA9.GPIOParameters=GPIO_Label PA9.GPIO_Label=T.VCP_TX @@ -209,6 +213,8 @@ PB8.Signal=FDCAN1_RX PB9.Locked=true PB9.Mode=FDCAN_Activate PB9.Signal=FDCAN1_TX +PC1.Locked=true +PC1.Signal=I2C3_SDA PC10.GPIOParameters=GPIO_Label PC10.GPIO_Label=WRLS.UART4_TX PC10.Locked=true