ifree 发表于 2024-1-14 21:58:42

ADS1256的问题,读取ID错误

硬汉哥,请教一下,做了一个ADS1256的小板子,用的您的BSP的库中的驱动代码,读取ID都失败了。

用示波器测量晶振的脚,看不到振荡波形。ADS1256很容易不起振吗?

eric2013 发表于 2024-1-15 01:45:02

起振还可以,可以参考下我们的1256模组原理图。

ifree 发表于 2024-1-15 08:29:53

eric2013 发表于 2024-1-15 01:45
起振还可以,可以参考下我们的1256模组原理图。

谢谢,发现是测量方法有问题。测量晶振,需要把探头调到X10的档位,否则测不到信号。

另外,代码读取ID失败,是因为延时函数的问题。
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。
页: [1]
查看完整版本: ADS1256的问题,读取ID错误