Non-Blocking I2C functionality on PSoC 6

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I'm having a bit of trouble utilizing the Cy_SCB_I2C_MasterWrite function. I can't find much on it aside from looking through the source so I can't tell if it needs to be preceded by Cy_SCB_I2C_MasterSendStart like its blocking-counterpart or if it is a full encompassing functions. Just having trouble getting it to work.

Are there any example of non-blocking I2C or any com parifs for the PSoC 6 out there that can be easily ported? I hadn't been able to find anything myself.

Thanks

0 Likes
1 Solution
ToddD_41
Employee
Employee
First like received

The MasterWrite function is a high level function that takes care of sending the start and the address for you. No need to proceed with a SendStart.

SendStart is a low level function. Generally those two should not be mixed.

The PDL documentation has a in depth description of the different use cases, if you just click on the I2C tab in the PDL document it describes how the different API are used.

Here is where the PDL lives on my machine.

file:///C:/Program%20Files%20(x86)/Cypress/PDL/3.0.1/doc/pdl_api_reference_manual/html/group__group__scb__i2c.html

View solution in original post

2 Replies
ShanmathiN_06
Employee
Employee
100 replies posted 50 replies posted 25 replies posted

Hi,

You could refer to code example CE220818 I2C Master High Level (Navigate to PSoC creator-> Code example)

Cy_SCB_I2C_MasterWrite() is used in this code example.

Thanks,
Shanmathi

ToddD_41
Employee
Employee
First like received

The MasterWrite function is a high level function that takes care of sending the start and the address for you. No need to proceed with a SendStart.

SendStart is a low level function. Generally those two should not be mixed.

The PDL documentation has a in depth description of the different use cases, if you just click on the I2C tab in the PDL document it describes how the different API are used.

Here is where the PDL lives on my machine.

file:///C:/Program%20Files%20(x86)/Cypress/PDL/3.0.1/doc/pdl_api_reference_manual/html/group__group__scb__i2c.html