STM32 (CubeMX) Pi Kommunikation

Gast #5475578
Lesenswert?

Hallo,

ich möchte eine Kommunikation zwischen einem Raspberry Pi und einem 
STM32F303 herstellen.
Der Pi soll 1-2 Parameter im STM32 C-Code verändern können.

Ich dachte dabei an I2C.
Der Pi ist dabei der Master. Der STM32 der Slave.

STM32 Seite:
1
uint8_t aRxBuffer[2];
2

3
  while (1)
4
  {
5
       HAL_I2C_Slave_Receive(&hi2c1, aRxBuffer, 2, 100);
6
  }
7

8

9
static void MX_I2C1_Init(void)
10
{
11

12
  hi2c1.Instance = I2C1;
13
  hi2c1.Init.Timing = 0x2000090E;
14
  hi2c1.Init.OwnAddress1 = 20;
15
  hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
16
  hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
17
  hi2c1.Init.OwnAddress2 = 0;
18
  hi2c1.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
19
  hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
20
  hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
21
  if (HAL_I2C_Init(&hi2c1) != HAL_OK)
22
  {
23
    _Error_Handler(__FILE__, __LINE__);
24
  }
25

26
    /**Configure Analogue filter 
27
    */
28
  if (HAL_I2CEx_ConfigAnalogFilter(&hi2c1, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
29
  {
30
    _Error_Handler(__FILE__, __LINE__);
31
  }
32

33
    /**Configure Digital filter 
34
    */
35
  if (HAL_I2CEx_ConfigDigitalFilter(&hi2c1, 0) != HAL_OK)
36
  {
37
    _Error_Handler(__FILE__, __LINE__);
38
  }
39

40
}


Am Pi möchte ich gerne Node-Red "node-red-contrib-i2c" verwenden. Den 
I2C-Out Node habe ich entsprechend konfiguiert (Ip etc.).


Leider kann ich keine Verbindung herstellen bzw. den Buffer "aRxBuffer" 
beschreiben.

Mit "sudo i2cdetect -y 1" findet der Pi keine Slave Adresse? An der 
Verkabelung kann es eig. nicht liegen.

Kann mir bitte jemand weiterhelfen. Danke!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren