您好,
我使用的是 stm32h7,我能够读取 ADS8661 IC 到 HAL_SPI_receive()的12位 ADC 值,如代码中所示(每循环它需要13us), 但当绘制和计算采样率时,我只能在25度左右读取一个样本(我得出这一结论是因为我打开了要在20毫秒后监控的信号,所以我将其作为参考)
以20Mhz 运行 SPI_clock。
SPI 初始化以供参考
我不知道哪里出了问题。是否有办法进一步优化以获得1MSPS?
for(int i=0;i<3000;i++) { //__HAL_TIM_SET_COUNTER(&htim4,0); while(!(GPIOI->IDR &(1<<5))); //monitoring RVS Pin GPIOI->ODR &= ~(1<<0); // CS pin Low HAL_SPI_Receive(&hspi2, data_rcv ,2,1); // reading 2 bytes at a time GPIOI->ODR |= 1<<0; //CS pin high temp[temp_cnt]=((data_rcv[0]<<8)|data_rcv[1])>>4; temp_cnt=temp_cnt+1; // counterCount=TIM4->CNT; }