I2C Not Working
I am unable to get the I2C line on my STM32H750VB to connect with my PCA9685 PWM driver on my custom PCB. The I2C line is constantly high, which I have seen on multiple oscilloscopes. I got the software online from a tutorial on the PWM driver and was able to run it successfully on a Nucleo-H743ZI2 board which has a STM32H743ZI MCU with a breakout of the PCA9685 so the code unrelated to board setup should work. I attached the entire code file in case though. Things I've tried:
- Changing the I2C pull-up resistors from 4.7k to 10k
- Resetting the I2C bus with HAL_I2C_DeInit and HAL_I2C_Init
- Continuity between the MCU SCL and SDA and breakout is good
- Pull-up resistor values when measured between each line and 3V3 is the same
- Plugged in the working breakout to the custom board and took out the original PCA9685
- Multiple system configurations with internal clocks HSI, CSI, and PLLCLK
- Multiple I2C clock configurations with PCLK1 and HSI
- Pulling NRST high (it is low on my board but the board has been able to run other peripherals like USB)
Layout

- Circled are the pull-up resistors and the I2C connections on the PCA9685 PWM driver, microcontroller is on the bottom left connecting to the pull-ups
Schematic


- I2C is connected on PB7 for SDA and PB8 for SCL
Pinout

- SDA on PB7 SCL on PB8, and other than these the only other pin enabled is a GPIO going to an LED
Any ideas for other things to try to get the I2C bus running or what could be causing the issue?
Edit: the code shows an I2C address of 0x80 from the breakout board I was testing with, though along with 0xAA I was unable to get a connection, also HAL_I2C_ISDeviceReady was not returning TRUE
