Tool/software:
Dear Support Team,
I am currently working on a project involving the TLC5973 3-channel 12-bit LED driver. I am facing some challenges while implementing the precise timing requirements for data transmission, particularly with the delayMicroseconds()
function. The TLC5973 datasheet specifies that the timing for writing a '0' or '1' bit must adhere to specific constraints based on the cycle time (t_CYCLE
).
Specifically:
- When writing a '0', the second rising edge should occur no sooner than 0.9 ×
t_CYCLE
from the first rising edge. - When writing a '1', the second rising edge should occur within 0.5 ×
t_CYCLE
from the first rising edge.
I need assistance with implementing an accurate delayMicroseconds()
function to meet these requirements. I would appreciate any guidance or recommendations you can provide for:
- Achieving precise microsecond delays using either busy-wait loops or hardware timers.
- Any example code or library recommendations that could be used to implement such precise delays on a microcontroller.
Additionally, if there are any specific considerations or configurations for using the TLC5973 with standard microcontrollers, please advise.
