HAL I2C Transmit then Receive without a stop between
Hello,
I’m using an STM32WBA65 and trying to communicate with a peripheral (PTX30W) over I2C1.
The peripheral requires the following I²C sequence:
However, using HAL_I2C_Master_Transmit() followed by HAL_I2C_Master_Receive() does not work, because both HAL functions generate a STOP condition, and the PTX30W does not accept a STOP between the write and read phases.
On STM32WBA, I don’t see a HAL equivalent of HAL_I2C_Master_TransmitReceive() that would allow a repeated START without a STOP in between.
My questions are:
Is there a way to achieve a WRITE + REPEATED START + READ sequence using the HAL on STM32WBA?
Or is the correct approach to switch to the LL (Low Layer) I2C driver to get finer control over START/STOP conditions?
Any guidance or best practices for this use case would be appreciated.
Thanks in advance.
here is the i2c protocol :

