Forum: Mikrocontroller und Digitale Elektronik STM32F03xxx I2C mehrere Bytes senden?!


von Jan H. (janiiix3)


Lesenswert?

Nabend.

Ich frage mich, was für Routinen ich aufrufen muss, damit ich mehrere 
Bytes hintereinander seden kann, bzw. was ich konfigurieren muss, damit 
es funktioniert.
1
uint8_t I2C_WrBytes(I2C_TypeDef *I2Cx, uint8_t Addr, uint8_t Reg, uint8_t Value[], uint8_t NumOfBytes)
2
{
3
    uint32_t tme_out = 0;
4
5
  while(I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY) == SET){}
6
7
  I2C_TransferHandling(I2Cx, Addr, 1, I2C_Reload_Mode, I2C_Generate_Start_Write);
8
9
  I2C_SendData(I2Cx, Reg);
10
11
  I2C_TransferHandling(I2Cx, Addr, NumOfBytes, I2C_AutoEnd_Mode, I2C_R);
12
13
    I2C_SendData(I2Cx, Value[x]);
14
15
  I2C_ClearFlag(I2Cx, I2C_FLAG_STOPF);
16
17
  return SUCCESS;
18
}

Also Adresse mit Nutzbyte klappt aufjedenfall...

Beitrag #4948950 wurde vom Autor gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.