cyhal_i2c_master_write()

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

cross mob
aleung
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

In the description of cyhal_i2c_master_write():    

"I2C master blocking write.

This will write size bytes of data from the buffer pointed to by data. It will not return until either all of the data has been written, or the timeout has elapsed"   

Will this function also block the interrupts (e.g. uart, timer ) until it finished?

 

0 Likes
1 Solution
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi @aleung 

 

No, the blocking cyhal_i2c_master_write only pauses the program execution flow. In case there are any interrupts that are generated, they are serviced even when the cyhal_i2c_master_write is not complete. Only the main code will pause execution till the master completely sends the data (or timeout occurs). 

 

Best regards,

Hari

View solution in original post

0 Likes
1 Reply
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi @aleung 

 

No, the blocking cyhal_i2c_master_write only pauses the program execution flow. In case there are any interrupts that are generated, they are serviced even when the cyhal_i2c_master_write is not complete. Only the main code will pause execution till the master completely sends the data (or timeout occurs). 

 

Best regards,

Hari

0 Likes