I want to implement the serial protocol for the TI TLC5926 for STM32. The TLC5926 is a LED driver that's functionally a shift register with some extra features for current control. There's a clock, serial data in, a latch enable (LE) pin that copies the shift registers to the output drivers, and an output enable (OE) pin that turns on/off all the output drivers.
I made a quick prototype using a USART peripheral, which works, but I also need to control some of the extra features, which involves twiddling the OE and LE lines in some specific, timed sequences synchronous with the clock. It's no longer exactly a single, byte-framed serial line that can be managed using USART, and in case, USART wasn't a perfect match since the serial protocol doesn't need stop bits for example.
What's the preferred way of implementing this on STM32? My thoughts are to use a timer to generate the clock, and then toggle GPIOs on interrupts on the falling edge. Is this the best way of doing it? If timers are the core of how it will work, can someone tell me a bit more about which modes to use (timers are complicated and I have yet to master them)?