谢谢,发现是测量方法有问题。测量晶振,需要把探头调到X10的档位,否则测不到信号。
另外,代码读取ID失败,是因为延时函数的问题。
[C] 纯文本查看 复制代码 static void ADS1256_DelaySCLK(void)
{
volatile uint16_t i;
/*
取 5 时,实测高电平200ns, 低电平250ns <-- 不稳定
取 10 以上,可以正常工作, 低电平400ns 高定400ns <--- 稳定
*/
for (i = 0; i < 10; i++);
}
因为代码使用AC6编译,O3优化等级,需要把变量i的定义加上volatile。 |