STM32 HAL VS dual 595 driven 7 segment display
Your for loop has an error. It would try to count backwards from 0 until it is larger than 14. My rough estimate is that it takes about 2^31 loops until the count reaches largest negative number and rolls back to largest positive number before the for loop exits.