How To Achieve Fast Data Write On GPIO Port With The Fixed Frequency Between 5MHz to 10MHz?
Dear Experts,
I need your help, I am interfacing 16-bit DAC LTC1668 50MHz with STM32F411CCU6.
I have used Timer 4 as 1MHz CLK for DAC, on Half Pulse Complete interrupt I update the GPIO Port (Port A A0-A7 are D0-D7, Port B B0-B7 are D8-D15). But Facing problem as the Data on the ports take 3 to 4 CLK cycles to change. As I lower the CLK to 275KHz the Data on ports changes before the next cycle. How can I make it change before the next cycle in higher frequencies say 5MHz to 10MHz.
For Sinewave Data points are generated through python program, further these data points are being transfered through USB, But now I am stuck here.
I have attached RCC CLK configs, Pin configs, Timer Configs. I can share more details if needed.
Here is the code for Timer Interrut Routine:-
const uint16_t pypoints[2750] = {32768,33516,34264,35012,................30523,31271,32019};
int k = 0;
void HAL_TIM_PWM_PulseFinishedHalfCpltCallback(TIM_HandleTypeDef *htim) {
GPIOA->ODR = (uint32_t)(pypoints[k] & 0xFF);//LSB
GPIOB->ODR = (uint32_t)((pypoints[k] >> 8 ) & 0xFF);//MSB
k++;
if(k >= 2750)
k = 0;
}



