[Autre] [STM32] Impossible de faire fonctionner l'I2C [Résolu] - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 32 sur 32

[STM32] Impossible de faire fonctionner l'I2C [Résolu]



  1. #31
    Lea92ch

    Re : [STM32] Impossible de faire fonctionner l'I2C


    ------

    ****** 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
    Code:
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    était manquante dans la fonction HAL_I2C_MspInit pour ma board custom. Je l'ai rajoutée et ça fonctionne.

    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 :

    Code:
    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 */
      }
    
    }
    Merci à tous ceux qui m'auront répondu

    Léa

    -----

  2. #32
    gienas
    Modérateur

    Re : [STM32] Impossible de faire fonctionner l'I2C

    Bonjour à tous

    Citation Envoyé par Lea92ch Voir le message
    ... J'ai ... résolu le problème ...
    Merci pour ce retour qui nous conforte dans l’idée que c’est le soft qui fait tout, et où les initialisation sont capitales et toutes importantes.

    J’ajouté le [Résolu] du titre.

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. impossible de faire fonctionner une servlet sur tomcat
    Par pseudomehdi dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 08/08/2020, 23h20
  2. [Autre] Impossible de faire fonctionner un pont en H à base de transistors
    Par invite16057f91 dans le forum Électronique
    Réponses: 14
    Dernier message: 08/02/2018, 16h27
  3. [Programmation] Faire fonctionner 2 moteur pas a pas ensemble et non 1 a la fois ... [Résolu]
    Par invitebffb4cc1 dans le forum Électronique
    Réponses: 12
    Dernier message: 16/11/2016, 17h35
  4. Faire fonctionner un appareil américain en France ? [Résolu]
    Par inviteb3ad5ef2 dans le forum Bricolage et décoration
    Réponses: 75
    Dernier message: 30/03/2016, 15h31
  5. Impossible de faire fonctionner un PIC12F629
    Par invited7cd4587 dans le forum Électronique
    Réponses: 2
    Dernier message: 08/04/2009, 20h20
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...