****** SOLUTION ******
Bonjour à tous,
J'ai apparemment résolu le problème. En ajoutant des pull up à ma Nucleo, j'ai finalement réussi à voir la clock sur ma ligne SCL (merci beaucoup sandrecarpe). Cependant, cela n'expliquait pas le problème sur ma board custom. J'ai donc comparé les différences entre ce qui a été généré pour la Nucleo et pour ma board custom et j'ai remarqué que la ligneétait manquante dans la fonction HAL_I2C_MspInit pour ma board custom. Je l'ai rajoutée et ça fonctionne.Code:GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
Après quelques recherches sur Internet, j'ai trouvé ce post qui parle de ce problème : https://community.st.com/s/question/...ated-by-cubemx
=> Pour ceux qui ont le même problème la ligne à rajouter est dans la fonction HAL_I2C_MspInit, dans le fichier stm32f1xx_hal_msp.c :
Merci à tous ceux qui m'auront réponduCode:void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) { GPIO_InitTypeDef GPIO_InitStruct = {0}; if(hi2c->Instance==I2C1) { /* USER CODE BEGIN I2C1_MspInit 0 */ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; /* To be added in user code section, because CubeMX does not generate it */ /* USER CODE END I2C1_MspInit 0 */ __HAL_RCC_GPIOB_CLK_ENABLE(); /**I2C1 GPIO Configuration PB6 ------> I2C1_SCL PB7 ------> I2C1_SDA */ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /* Peripheral clock enable */ __HAL_RCC_I2C1_CLK_ENABLE(); /* USER CODE BEGIN I2C1_MspInit 1 */ /* USER CODE END I2C1_MspInit 1 */ } }
Léa
-----