为了在同一相位检测正弦波信号(大约500Khz)的幅度,假设过零比较电路的输出接在PA8口。我需要在 PA8 下降沿开始,定时若干 ns 后开启 AD 转换。程序如下:
...............
DisableAllInterrupt( ); // 关掉所有中断
while( GPIOA->IDR & GPIO_Pin_8 ); // 等待下降沿
for( i = 0; i < DELAY_CONST;i++ ); // 延时若干 ns
StartAD1( ); // 开启 AD 转换
..............
担心 while( GPIOA->IDR & GPIO_Pin_8 ) 每次执行时间会不一样。假设用中断,中断响应的误差会比以上指令执行误差小么?还有更优越的方法么?
请不吝指教。 |